dsh-doc-share
DSH 对话报告化分享插件:生成带封面、摘要统计与章节排版的精美报告,导出为 PNG 图片 / 单 HTML 文件 / PDF。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:dawsondx/dsh-doc-share说明文档
阅读完整 README ↗DSH(DeepSeek Harness)的对话报告化分享插件。它把一次问答整理成带封面、内容摘要与章节排版的正式报告,而不是把聊天记录原样丢给你。
为什么需要它
| 平铺复制的痛点 | 本插件对应的方案 |
|---|---|
| 复制出去是一长串消息,没有开头、没有结构 | 生成带封面(可自定义标题)、摘要统计、按轮次分章的报告 |
| 想摘取更早的对话,只能在页面里一直往上滑、等加载 | v0.4.0 起用轮次选择弹窗,列出全部轮次,可直接搜索、全选、一键加载更早历史 |
| 只有文字,代码块、图片、工具调用混在一起难读 | 代码块单独成块,表格保留排版,工具调用折叠成摘要行 |
| 只能导出一种格式 | 一次生成,PNG / 单 HTML / PDF / Markdown 四种格式任选 |
功能特性
- 轮次选择弹窗:从会话数据列出全部已完成轮次(轮次号 / 时间 / 提问与回答摘要 / 图片与工具徽标),支持搜索过滤、全选、清空;更早的历史可在弹窗内「加载更早」或「全部加载」,无需先到页面滚动
- 单轮快捷分享:悬停任意一轮消息的分享按钮,只导出该轮问答
- 报告排版:封面(标题可自定义)+ 内容摘要统计(轮数 / 问题数 / 字数 / 代码块 / 工具调用)+ 按轮次分章的 Q&A
- 兼容 gen-UI 富组件:由 dsh-genui 插件渲染的卡片、键值面板、步骤条等富组件,导出 PNG / PDF 时完整呈现,不会因入场动画未播放而整块空白
- 四种导出:PNG 图片、单 HTML 文件(自包含样式,可脱离 DSH 打开)、PDF(A4 自动分页)、Markdown
- 可调版式:宽度(手机 / 平板 / 电脑)与字号三级可调,可勾选「不展示过程」只保留提问与最终回答
- 深色主题:HTML / PDF 导出跟随系统 / DSH 深浅色偏好(HTML 在新设备上也会自适应);PNG 图片固定浅色底,保证在任何查看环境下清晰
- 设置自动保存:localStorage 持久化上次的宽度、字号、隐藏过程与标题
- 中英文自动适配:界面文案跟随 DSH 界面语言
四种导出,按需选择
| 格式 | 适用场景 | 特点 |
|---|---|---|
| PNG 图片 | 发到社交平台、即时聊天 | 整页截图,所见即所得 |
| 单 HTML 文件 | 发给同学、同事、客户 | 自包含样式与图片(base64 内联),双击即可阅读,无需联网 |
| 打印、归档、正式提交 | A4 自动分页,长代码块自动跨页不截断 | |
| Markdown | 二次编辑、进知识库 | 与报告同构的标题 / 摘要 / 分章 / 代码块 / 表格 |
安装
方式一:clone 后安装(推荐)
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 后无需本地构建即可安装。安装完成后重启 dsh web。
方式二:从本地路径安装(开发模式)
dsh plugin --profile web add \
--ignore-scripts --config.auto-install-peers=false \
/path/to/dsh-doc-share
使用
- 打开
dsh web,进入一个会话 - 点击右上角「报告化分享」打开轮次选择弹窗;点任意一轮消息的分享按钮则只导出该轮
- 在弹窗中勾选要包含的问答,可按关键词搜索;更早的对话点「加载更早」或「全部加载」后即可勾选
- 点击「生成报告」,在预览弹窗中调整标题、宽度、字号,按需勾选「不展示过程」
- 选择下载 PNG / HTML / PDF / Markdown
与 dsh-share 的区别
| dsh-share | dsh-doc-share | |
|---|---|---|
| 定位 | 对话原样导出 | 对话报告化排版 |
| 封面 / 摘要统计 | 无 | 有(标题、日期、轮次、字数、代码块、工具调用) |
| 章节结构 | 平铺 | 按轮次分章节,问题 / 回答卡片化 |
| 导出格式 | PNG / Markdown | PNG / 单 HTML / PDF / Markdown |
| 独立阅读 | 图片 | HTML / PDF 可脱离 DSH 直接阅读 |
开发
pnpm install
pnpm typecheck # 类型检查
pnpm test # 单元测试(vitest + jsdom)
pnpm build # 构建(生成 lib/)
pnpm verify # typecheck + test + build
修改源码后重新构建并强制刷新安装:
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。本项目参考了 hellodigua/dsh-share 的交互与 DOM 扫描方案。