Bundle
dsh-doc-share
DSH 对话报告化分享插件:生成带封面、摘要统计与章节排版的精美报告,导出为 PNG 图片 / 单 HTML 文件 / PDF。
- Source
- dawsondx
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 14 days ago
Readme
<p align="center"> <img src="./assets/readme/hero.svg" width="100%" alt="dsh-doc-share:把 DSH 对话重排成带封面、摘要统计与章节的报告,一键导出 PNG/HTML/PDF/Markdown"> </p> <p align="center"> <a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="MIT License"></a> <img src="https://img.shields.io/badge/DSH-rc.6-1f2937.svg" alt="DSH 0.1.0-rc.6"> <a href="https://github.com/dawsondx/dsh-doc-share/actions"><img src="https://github.com/dawsondx/dsh-doc-share/actions/workflows/ci.yml/badge.svg" alt="CI"></a> <a href="https://www.npmjs.com/package/dsh-doc-share"><img src="https://img.shields.io/npm/v/dsh-doc-share.svg" alt="npm"></a> </p> DSH(DeepSeek Harness)的**对话报告化分享**插件。它把一次问答整理成带封面、内容摘要与章节排版的正式报告,而不是把聊天记录原样丢给你。 ## 为什么需要它 | 平铺复制的痛点 | 本插件对应的方案 | | --- | --- | | 复制出去是一长串消息,没有开头、没有结构 | 生成带**封面(可自定义标题)**、**摘要统计**、**按轮次分章**的报告 | | 想摘取更早的对话,只能在页面里一直往上滑、等加载 | v0.4.0 起用**轮次选择弹窗**,列出全部轮次,可直接搜索、全选、一键加载更早历史 | | 只有文字,代码块、图片、工具调用混在一起难读 | **代码块单独成块,表格保留排版,工具调用折叠成摘要行** | | 只能导出一种格式 | 一次生成,**PNG / 单 HTML / PDF / Markdown** 四种格式任选 | ## 功能特性 - **轮次选择弹窗**:从会话数据列出全部已完成轮次(轮次号 / 时间 / 提问与回答摘要 / 图片与工具徽标),支持搜索过滤、全选、清空;更早的历史可在弹窗内「加载更早」或「全部加载」,无需先到页面滚动 - **单轮快捷分享**:悬停任意一轮消息的分享按钮,只导出该轮问答 - **报告排版**:封面(标题可自定义)+ 内容摘要统计(轮数 / 问题数 / 字数 / 代码块 / 工具调用)+ 按轮次分章的 Q&A - **兼容 gen-UI 富组件**:由 [dsh-genui](https://github.com/omdsh-dev/dsh-genui) 插件渲染的卡片、键值面板、步骤条等富组件,导出 PNG / PDF 时完整呈现,不会因入场动画未播放而整块空白 - **四种导出**:PNG 图片、单 HTML 文件(自包含样式,可脱离 DSH 打开)、PDF(A4 自动分页)、Markdown - **可调版式**:宽度(手机 / 平板 / 电脑)与字号三级可调,可勾选「不展示过程」只保留提问与最终回答 - **深色主题**:HTML / PDF 导出跟随系统 / DSH 深浅色偏好(HTML 在新设备上也会自适应);PNG 图片固定浅色底,保证在任何查看环境下清晰 - **设置自动保存**:localStorage 持久化上次的宽度、字号、隐藏过程与标题 - **中英文自动适配**:界面文案跟随 DSH 界面语言 ## 四种导出,按需选择 | 格式 | 适用场景 | 特点 | | --- | --- | --- | | **PNG 图片** | 发到社交平台、即时聊天 | 整页截图,所见即所得 | | **单 HTML 文件** | 发给同学、同事、客户 | 自包含样式与图片(base64 内联),双击即可阅读,无需联网 | | **PDF** | 打印、归档、正式提交 | A4 自动分页,长代码块自动跨页不截断 | | **Markdown** | 二次编辑、进知识库 | 与报告同构的标题 / 摘要 / 分章 / 代码块 / 表格 | ## 安装 ### 方式一:npm 安装(推荐,已发布) ```bash dsh plugin --profile web add dsh-doc-share ``` 已发布到 npm(v0.4.5),一行命令安装,无需 clone。安装完成后重启 `dsh web`。 ### 方式二:clone 后安装 ```bash git clone https://github.com/dawsondx/dsh-doc-share.git cd dsh-doc-share dsh plugin --profile web add \ --ignore-scripts --config.auto-install-peers=false \ . ``` 仓库自带构建产物 `lib/`,clone 后无需本地构建即可安装。 ### 方式三:从本地路径安装(开发模式) ```bash dsh plugin --profile web add \ --ignore-scripts --config.auto-install-peers=false \ /path/to/dsh-doc-share ``` ## 使用 1. 打开 `dsh web`,进入一个会话 2. 点击右上角「报告化分享」打开**轮次选择弹窗**;点任意一轮消息的分享按钮则只导出该轮 3. 在弹窗中勾选要包含的问答,可按关键词搜索;更早的对话点「加载更早」或「全部加载」后即可勾选 4. 点击「生成报告」,在预览弹窗中调整标题、宽度、字号,按需勾选「不展示过程」 5. 选择下载 **PNG / HTML / PDF / Markdown** ## 与 dsh-share 的区别 | | dsh-share | dsh-doc-share | | --- | --- | --- | | 定位 | 对话原样导出 | 对话报告化排版 | | 封面 / 摘要统计 | 无 | 有(标题、日期、轮次、字数、代码块、工具调用) | | 章节结构 | 平铺 | 按轮次分章节,问题 / 回答卡片化 | | 导出格式 | PNG / Markdown | PNG / 单 HTML / PDF / Markdown | | 独立阅读 | 图片 | HTML / PDF 可脱离 DSH 直接阅读 | ## 开发 ```bash pnpm install pnpm typecheck # 类型检查 pnpm test # 单元测试(vitest + jsdom) pnpm build # 构建(生成 lib/) pnpm verify # typecheck + test + build ``` 修改源码后重新构建并强制刷新安装: ```bash pnpm build dsh plugin --profile web add --force \ --ignore-scripts --config.auto-install-peers=false \ . ``` > `lib/` 是 DSH 直接加载的交付物,随源码提交,方便无构建环境的用户直接安装。 ## 兼容性 面向 `@deepseek-ai/dsh@0.1.0-rc.6`。插件通过官方插槽 `conversation.chat.assistant-actions`(单轮入口)与 `conversation.session.header.utilities`(会话入口)挂载。轮次列表读取会话快照(`ConversationSnapshot`)并调用 `loadOlder` 分页加载;导出内容依赖官方页面稳定的 `data-conversation-scroll`、`data-chat-flow-kind`、`data-turn-tail` 属性定位问答。DSH 调整页面结构后可能需要同步适配。 ## 已知限制 - 超长对话的 PNG 生成较慢(html-to-image 全量截图) - 确认选择的轮次需已在页面渲染(「全部加载」后一般均已渲染);个别轮次若被页面虚拟化卸载,会跳过并在控制台提示 ## License [MIT](LICENSE)。本项目参考了 [hellodigua/dsh-share](https://github.com/hellodigua/dsh-share) 的交互与 DOM 扫描方案。
Install
dsh plugin --profile web add github:dawsondx/dsh-doc-share
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-doc-share from the hub
- This package builds from source on install. pnpm will ask you to allow its build script — that is permission to run the package’s code on your machine, outside the agent sandbox. Only allow sources you trust.
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.