yangyongzhen/dsh-session-export

Export DeepSeek Harness sessions to Markdown for review, blogging and audit. dsh plugin.

Bundle 已验证 未知 JavaScript 未知
Bundle 已验证

已收录

4

Session

Bundle 已验证

版本未知
语言JavaScript
许可证未知
在 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 元数据,并保持插件与本页展示的目录身份一致。