yangyongzhen/dsh-session-export
Export DeepSeek Harness sessions to Markdown for review, blogging and audit. dsh plugin.
Bundle 已验证
未知
JavaScript
未知
Bundle 已验证
已收录
4
Session
Bundle 已验证
★ 4
在 GitHub 查看
功能介绍
会话导出为 Markdown/JSON,便于复盘、重放与单会话成本汇总。
适合
- 需要将单个会话导出为 Markdown 或 JSON 以便复盘、重放或审计的团队。
- 需要可读记录来查看提示词、助手回复、工具活动和错误的作者与维护者。
- 希望获得包含模型、Token、耗时和成本相关汇总的单会话文件的用户。
不适合
- 只需要数字化用量报表、不需要在产物中保留对话内容的用户。
- 要求完整保留工具参数和结果、但又未相应提高结果长度上限的工作流。
- 需要跨会话检索和看板的工作流;该插件生成单会话导出文件,而非档案管理界面。
README
dsh-session-export
DeepSeek Harness 会话导出与复盘插件:把 agent 会话自动导出为 Markdown 文件,供复盘、写博客、审计使用。
- 监听
session/event事件流,turn 结束并静默debounceMs后自动导出 - 输出
$DSH_HOME/exports/session-<id>.md(默认~/.dsh/exports/) - 进程退出(含 headless 一次性任务)时同步 flush 未导出的会话,不丢记录
- 渲染纯函数模块化导出,其他插件可复用
安装
# 本地 checkout 安装(推荐,免构建)
dsh plugin --profile <web|tui|headless> add file:/path/to/dsh-session-export
# 或从 Git 仓库直接安装
dsh plugin --profile <web|tui|headless> add https://gitcode.com/qq8864/dsh-session-export.git
配置
通过 profile 的 cordis.patch.yml 或 --patch overlay 覆盖:
- id: session-export
config:
enabled: true # 总开关,false 关闭自动导出
outDir: ~/exports # 导出目录,默认 $DSH_HOME/exports
debounceMs: 1000 # turn/end 后的静默等待(毫秒)
maxResultChars: 2000 # 工具参数/结果的截断长度
includeInjected: false # true 时包含注入消息(上下文快照、skill 目录等)
导出内容
# 会话导出
- 会话 ID / 创建时间 / 工作目录 / Agent 预设 / 导出时间
- 模型(provider/model)与统计:turn/step/工具调用次数、token 消耗(含缓存读写)、耗时
## Turn N / Step N.t 回合与步骤结构
### 用户 / 目标 直接提示词与目标延续(注入消息默认过滤)
#### 工具调用:name 工具名 + 参数 JSON
#### 工具结果 返回内容(截断)
### 助手 模型文本 + 该步 token 明细
> Turn N 结束:完成 回合结束原因(完成/出错/被中断/达到上限…)
## 错误记录 全部回合错误汇总
作为库使用
渲染管线独立于运行时,其他插件可直接复用:
import { renderSessionMarkdown, summarizeStats } from 'dsh-session-export';
// 或按包路径导入:dsh-session-export 的 lib/markdown.js
const md = renderSessionMarkdown(session.events, { sessionId: session.id }, 2000, false);
开发
pnpm install
pnpm run build # tsc -> lib/
验证
-
dsh --profile <name> --dump-config确认插件进入配置树 - headless 冒烟:
dsh --profile headless "一句话介绍你自己"后检查$DSH_HOME/exports/
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:yangyongzhen/dsh-session-export。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。