前言¶
在 DeepSeek Harness(DSH)里跑一段智能体会话后,常见的问题是:原始事件很多,但不容易看出 token 到底花在哪一轮、哪个工具最耗时、有没有上下文压缩、审批、子 Agent 或 LLM 重试。若要把结果发给协作方,直接贴原始事件也不够方便。
dsh-session-lens 就是为这类场景做的 DSH 插件:在会话内生成深度体检报告,并把会话导出为自包含单文件 HTML 回放页。下面介绍它的功能边界、安装方式和导出选项。
这是什么¶
dsh-session-lens 是由 bobostudio 维护的 DSH 插件,定位是「会话洞察与一键分享」。
它面向:
@deepseek-ai/dsh >= 0.1.0-rc.6
的 web profile,运行环境要求:
Node >= 20
许可证为 MIT。
核心功能¶
会话内「洞察」视图¶
启用后,会话内会新增「洞察」Tab,用于查看实时分析。会话进行中,该视图每 5 秒自动刷新。
聚合分析包括:
- Token 用量五段分解:输入 / 输出 / 缓存读 / 缓存写 / 思维链;其中压缩摘要调用单列。
- 按 Turn 分解:每轮时长、token、工具调用数、错误数。
- 工具统计:调用次数、错误率、耗时。
- 活动统计:上下文压缩、审批、子 Agent、LLM 重试。
导出单文件 HTML¶
点击「导出 HTML」可以下载单文件报告。
导出结果满足:
- 自包含单文件 HTML 回放页;
- 零 JavaScript;
- 零外部请求。
导出内容包含完整会话回放、工具调用与结果、审批、上下文压缩、子 Agent 标记。
界面支持中英双语,导出语言可选。
隐私与导出边界¶
dsh-session-lens 的导出边界比较明确:
- 永不包含系统提示词;
- 图片附件永不离开本机;
- 内容安全策略为
default-src 'none'; - 工具参数/结果默认截断至
2000字符,可选完整保留; - 路径脱敏默认开启,本地路径自动脱敏为
~; - 工作目录之外的绝对路径默认保留原样;
- API 路由
/api/session-lens/{analytics,export}仅回环、GET-only。
如果你要分享导出文件,建议先检查导出内容,尤其是保留原样的工作目录外绝对路径。
安装与启用¶
安装命令如下:
dsh plugin --profile web add github:bobostudio/dsh-session-lens
安装完成后,在 DSH Web 中打开一个会话,点击「洞察」Tab 查看实时分析。
典型用法¶
1、打开一个会话,点击「洞察」Tab,查看实时分析。
2、点击「导出 HTML」,下载单文件报告。
3、导出选项会自动记忆:
- 完整工具结果:默认关闭,默认截断至
2000字符; - 路径脱敏:默认开启;
- 主题:可选;
- 中/English:可选导出文件界面语言。
开发态挂载时,可以用下面命令指向本仓库的 patch 文件:
dsh web --patch <本仓库路径>/cordis.patch.yml
适用场景与注意¶
适合以下场景:
- 需要查看 DSH 会话中的 token 分解、Turn 成本、工具错误率;
- 需要查看上下文压缩、审批、子 Agent、LLM 重试等活动;
- 需要把会话导出为单文件 HTML 回放页,用于离线查看或分享;
- 需要控制导出内容中的工具结果、本地路径和图片附件。
注意:
- DSH 处于开发者预览阶段,插件依赖的内部接口可能随版本变动;
- 所有可选服务均做了降级处理;
- 插件以当前
dsh进程权限运行,安装前应检查源码与许可证; - 工作目录之外的绝对路径默认保留原样,分享前需自行确认导出内容。
结尾¶
dsh-session-lens 的价值在于把 DSH 会话里的 token、工具、审批、上下文压缩、子 Agent 等信息聚合成可阅读的报告,并把回放导出为自包含单文件 HTML。
源码与许可证见 GitHub:
- https://github.com/bobostudio/dsh-session-lens