dsh-conversation-export
by qwertyuiop314
DSH 会话日志导出为对话:零依赖 CLI + 单文件 GUI + DSH Web 插件
DSH session log to conversation export: zero-dependency CLI + single-file GUI + DSH Web plugin
安装
dsh plugin --profile web add github:qwertyuiop314/dsh-conversation-exportGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
把 DSH 导出的原始会话日志清洗为对话记录,三套入口共用同一套逻辑:
| 入口 | 位置 | 说明 |
|---|---|---|
| 🔌 DSH 插件 | Session 头部 "Export chat" 按钮 | 弹窗勾选格式及是否包含推理/工具,单选直下、多选 ZIP |
| 🖥️ GUI | session-conversation-gui.html |
双击即用、零安装、可离线 |
| ⌨️ CLI | session-to-conversation.cjs |
零依赖(Node ≥18),适合批量 |
安装(插件)
官方一条命令(推荐)——在仓库目录下:
# 一次性前提:装 pnpm(dsh plugin 是 pnpm 转发器)
npm i -g pnpm
# 一键安装:装包 + 自动加入 profile bundles 层 + 注入装载条目
dsh plugin --profile web add file:./plugin/@deepseek-ai/dsh-session-conversation-export
# 重启后生效
dsh web # 或 重启DSH服务.bat
插件包内声明了 dsh.bundle(cordis.patch.yml),所以 dsh plugin add 会自动把它加入
dsh.profile.bundles 并在启动时注入 "Export chat" 装载条目——无需再手动改任何配置文件。
或一键脚本:双击 deploy/安装插件.bat(有 pnpm 时内部就走上面的官方命令;否则手动复制兜底)。
手动(兜底):复制 plugin/@deepseek-ai/dsh-session-conversation-export/ 到
$DSH_HOME/profiles/node_modules/@deepseek-ai/,并在 $DSH_HOME/profiles/<profile>/cordis.patch.yml 追加:
- insert:
- id: session-conversation-export
name: '@deepseek-ai/dsh-session-conversation-export'
重启 dsh web,刷新页面。
用法
# CLI:单文件 / 导出 ZIP / 目录,默认输出 6 种格式
node session-to-conversation.cjs --in session.jsonl
node session-to-conversation.cjs --in dsh-session-xxx.zip --formats md,html
node session-to-conversation.cjs --in ./logs --no-tools --max-tool-result 800
# GUI:双击 html,拖入 .jsonl / .zip
# 插件:右上角 Export chat → 勾选格式/是否包含推理与工具 → 导出
输出格式:.md / .txt / .html(正文 Markdown 已渲染)/ .json / .jsonl / .openai.json(OpenAI 兼容)。
开发与测试
node scripts/test-gui-core.cjs # 离线回归(GUI 核心 + 渲染器 + Markdown)
node scripts/validate-plugin.cjs # 离线验证插件 bundle
node build-plugin.cjs # 改过 GUI 核心后重新生成插件 bundle
node deploy/verify-install.cjs # 校验插件已装好(需已装 DSH)
已知限制
- 子会话由导出 ZIP 中的独立
*.jsonl表达,逐个转换。 - 附件(图片)不在日志内,转换结果只含文本。
- ZIP 读取仅支持 STORE / DEFLATE。
- 工具结果默认截断 2000 字符(
--max-tool-result可调)。
关于本仓库的"出生证明"
本仓库的代码是人类与 AI 的混合双打产物:人类负责提需求、定方向、亲自下场调试和最后把关,代码的"手"(其实是 token)主要出自模型。
请把它当作一份参考实现来用——就像菜谱:照着做可以,但别指望不粘锅:
- 用之前自己先过目:代码翻一翻、测试跑一跑、按你的场景调一调;看不懂也没关系,让 AI 帮你把关——反正代码是 AI 写的,AI 审 AI,专业对口;
- 代码按 "现状"(AS-IS) 提供,不附带任何明示或默示的担保——没有保修卡,也没有延保服务;
- 要是哪里翻车了,那大概率是 AI 的锅——欢迎提 issue 或 PR 帮它"补课",我们绝不护短;
- 欢迎 fork、修改、分发,也欢迎提 issue 或 PR 一起改进——独乐乐不如众乐乐。
说人话:代码能用就偷着乐,踩坑了一起填,改好了记得回来分享 😄
原始 README: https://github.com/qwertyuiop314/dsh-conversation-export/blob/main/README.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥