前言¶
在 DeepSeek Harness(DSH)开发或使用过程中,会话里积累的提问与回答往往需要归档、复用或分享给他人。直接复制粘贴既容易遗漏上下文,也不便于程序化处理。社区已有 @deepseek-ai/dsh-session-log-export 用于下载完整 Session 日志,但如果你只需要文本与最终回答、希望以 Markdown 或 JSON 形式批量导出、同时保持界面清爽,就需要一个更轻量的会话导出方案。
下面介绍 dsh-session-export。这是一款为 DSH 桌面端 / Web 端设计的会话导出插件,由 vi0let-dev 维护。它只会在「设置」里增加一个「会话导出」分区,不往侧栏或聊天页塞按钮,避免打断日常界面。
核心功能¶
插件提供以下能力:
- 单会话 / 多会话:在会话列表中支持搜索、全选、清空和逐行勾选,可一次导出多个会话,结果合并成一个文件。
- 默认内容:导出用户提问与每一轮对话的「最终回答」。最终回答取每一轮最后一条带文本或附件的 assistant 消息,中间步骤里的 reasoning 和 tool-call 不会被误当成最终回答。
- 可选内容:按需附加思考过程、工具调用与结果、系统与运行时上下文。
- 输出格式:Markdown(适合阅读、归档、粘贴到笔记)或 JSON(适合程序处理)。
- 标题与元数据:导出文件包含会话标题、ID、工作目录、创建时间、最后活动时间、状态等元信息。
- 只读:只读取会话日志,不修改会话、不写工作区记账、不删除任何东西。
- 隐私:所有内容在 Host 本机生成,不联网、不上传。
安装与启用¶
插件仓库地址:https://github.com/vi0let-dev/dsh-session-export
前置要求:
- DSH 0.2.1-rc.2 左右的桌面端或 dsh web
- Node.js ^22.19.0 || >=24.0.0
安装方式一:从 GitHub 安装(推荐)
- 在 DSH 侧栏点击「插件」→「添加插件」;
- 在输入框中填入:
github:vi0let-dev/dsh-session-export
- 点击「安装」。安装完成后会提示「立即启用」,点击启用;
- 完全退出并重启 DSH(bundle 行不会热加载);
- 重启后按
Ctrl+Shift+R硬刷新页面。
命令行等价写法(跟随 main 分支):
dsh plugin --profile desktop add github:vi0let-dev/dsh-session-export
锁定到某个 tag(推荐,避免以后 main 变化):
dsh plugin --profile desktop add github:vi0let-dev/dsh-session-export#v1.0.0
安装后确认 profile 的 package.json 里 dsh.profile.bundles 包含 dsh-session-export。
安装方式二:本地目录(开发调试)
- 在「插件」→「添加插件」中输入插件目录的绝对路径,例如:
D:\src\dsh-session-export
- 点击「安装」→「立即启用」;
- 完全退出并重启 DSH,再按
Ctrl+Shift+R硬刷新页面。
命令行等价写法:
dsh plugin --profile desktop add "D:\src\dsh-session-export"
本地目录安装是软链接,修改代码后重新加载插件或重启即可,不要删除或移动原目录。本插件没有构建步骤、没有第三方依赖,不需要 pnpm approve-builds。
典型用法¶
安装完成后,打开「设置 → 会话导出」:
- 在列表中勾选一个或多个会话(默认会选中最近的、已打开的那个会话);
- 在「导出内容」里确认勾选项,默认已勾选「用户提问」与「最终回答」;
- 选择输出格式「Markdown」或「JSON」;
- 点击「导出」,浏览器会下载文件。
文件名示例:
dsh-session-<会话标题>-20261017-2315.md
dsh-sessions-3-20261017-2315.json
Markdown 结构示例:
# DSH 会话导出
> 导出时间 / 会话数量 / 导出内容
---
## 会话: <标题>
- 会话 ID / 工作目录 / 创建时间 / 最后活动 / 状态
### 第 1 轮 · 时间
#### 用户提问
...
#### 最终回答
...
(勾选思考过程 / 工具调用时,会以折叠块附在对应轮次下)
JSON 结构示例:
{
"app": "dsh-session-export",
"version": 1,
"exportedAt": 1792249526189,
"options": { "user": true, "assistant": true, "reasoning": false, "tools": false, "system": false },
"sessions": [
{
"id": "session-...",
"title": "...",
"cwd": "C:\\...",
"createdAt": 1792249261242,
"updatedAt": 1792249526189,
"turns": [
{
"turn": 1,
"complete": true,
"users": [{ "text": "...", "attachments": [] }],
"assistant": { "text": "...", "attachments": [] },
"reasoning": [],
"tools": []
}
]
}
]
}
适用场景与注意¶
- 适合需要批量导出会话、归档对话记录、或以程序化方式读取会话内容的使用者。
- 插件以当前 DSH 进程的权限运行,所有会话内容仅在本机处理和下载,不会上传。
- 安装前建议检查源码与许可证(MIT)。
- 导出上限:一次最多 200 个会话,生成结果最多约 32 MB;超过会提示减少会话或内容选项。
小结¶
dsh-session-export 为 DSH 提供了一个轻量、隐私友好的会话导出方案,支持 Markdown 与 JSON 两种格式,默认只导出用户提问与最终回答,可按需附加思考过程、工具调用与系统上下文。它不修改会话、不联网、不写入仓库,适合需要长期保存和复用会话记录的开发者与使用者。
- 插件目录页:https://www.skillhub.cn/plugins/vi0let-dev/dsh-session-export
- GitHub 仓库:https://github.com/vi0let-dev/dsh-session-export