bwndlct/dsh-session-export ↗★ 2
dsh-session-export
Export DeepSeek Harness sessions to portable, human-readable Markdown and JSON.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:bwndlct/dsh-session-export说明文档
阅读完整 README ↗简体中文 | English
dsh-session-export
将 DeepSeek Harness(DSH)会话导出为可移植、人类可读的 Markdown 和结构化 JSON 文件。
dsh-session-export 是 DeepSeek Harness 的社区插件。它读取当前会话的事件溯源日志,输出自包含的对话记录文件——可阅读、归档、分享、diff,或喂给另一个 agent——导出格式采用稳定、带版本号的 schema,与 DSH 内部实现解耦。
特性
- 两种入口
session_export()工具 — 随时让模型执行导出/session-export [markdown|json|all]斜杠命令 — Web UI 中一键触发,零模型 token 消耗
- 忠实还原执行顺序 — 用户消息、助手消息(含推理过程)、工具调用(含解析后的参数)、工具结果(含失败)严格按发生顺序排列
- 稳定的导出 schema — 每个 JSON 文档都带
schemaVersion,为后续演进留出空间 - 健壮设计 — 未知的未来事件类型、缺失元数据、恶意代码围栏、超大工具结果、非文本块均不会导致导出崩溃
- 跨平台安全的文件名 — 处理 Windows 保留名称/字符;已有文件绝不覆盖
- 零运行时依赖 — 仅 TypeScript + Node 内置模块
安装
需要 dsh >= 0.1.0-rc.6。
dsh plugin --profile web add dsh-session-export
然后将包加入 profile 的 package.json 中的 bundles 列表(插件自带 dsh.bundle patch manifest):
// ~/.dsh/profiles/web/package.json
"dsh": {
"profile": {
"bundles": [
// ...,
"dsh-session-export"
]
}
}
完成后重启 dsh。如果要从 GitHub 而非 npm 安装:
dsh plugin --profile web add github:/dsh-session-export
用法
直接让模型执行:
把当前会话导出成 Markdown
Export this session, json only
或在 Web UI 中直接输入斜杠命令:
/session-export # 两种格式(默认)
/session-export markdown # 仅 .md
/session-export json # 仅 .json
/session-export all # 两种格式
不想带参数?固定格式别名一个词搞定(UI 命令输入框没有枚举补全,别名最方便):
/export-md # 仅 Markdown
/export-json # 仅 JSON
命令在 UI 命令平面中执行——其输出不会进入模型对话历史。
导出格式
Markdown
可读的对话记录:元数据头部 + 按执行顺序排列的会话内容。工具调用将其(解析后的)参数渲染为 JSON;工具结果渲染为围栏 text 代码块——围栏会自动加宽,确保含 ``` 的结果内容不会撑破代码块。超过 8,000 字符的结果会被截断并标记。