跳到正文

bwndlct/dsh-session-audit

40最近提交 2026年8月14日

dsh-session-audit DSH 插件

dsh-session-audit 分析单个 DSH 会话的事件日志,生成可读的审计报告。它会统计步骤、工具调用、失败、重复动作、Token 用量以及验证命令(如 test/build/lint)。报告作为工具结果返回,仅存于本地。

如何安装 dsh-session-audit DSH 插件

dsh plugin --profile web add dsh-session-audit

复制不会执行命令。安装 dsh-session-audit DSH 插件前请核对仓库和版本。

dsh-session-audit DSH 插件数据来源

dsh-session-audit DSH 插件快照日期:2026年8月16日

discovered

dsh-session-audit DSH 插件能做什么

  • 会话指标:时长、Turns、Steps、工具调用总数及分布、成功/失败拆分。
  • Token 用量:按 input/output/cache 桶折叠,provider 未上报时显示 Unavailable。
  • 确定性审计信号:连续失败、失败率、高频工具、完全相同重复调用、重复读取文件。
  • 验证命令识别:识别 shell 工具调用中的 test/lint/typecheck/build 命令,并报告实际观察结果。
  • 三种输出格式:text(默认)、Markdown、JSON(带稳定 schemaVersion)。
  • 支持当前或历史会话审计,按 session id 审计,也可列出最近会话。
  • 健壮性:空会话、畸形事件、孤儿结果、崩溃尾部残帧均可安全处理。

dsh-session-audit DSH 插件适合哪些场景

  • 了解 Agent 在一次会话中如何花费时间。
  • 定位工具调用失败的位置和原因。
  • 检查 Agent 是否执行了验证命令(test/lint/build)及其结果。
  • 检测重复的工具调用,排查低效行为。
  • 查看特定会话的 Token 消耗情况。

dsh-session-audit DSH 插件适合谁

  • 希望分析 Agent 会话行为的 DSH 用户。
  • 调试 Agent 工作流或工具调用失败的开发者。

dsh-session-audit DSH 插件的限制

  • 验证命令识别基于模式匹配,无法识别自定义脚本名中的验证器。
  • 子 Agent 的会话需按 id 单独审计,暂无跨会话汇总。
  • Reasoning token 仅在 provider 上报时显示,部分 provider 的逐步值无法重建。
  • 当前版本不包含时间序列或上下文增长分析。

dsh-session-audit DSH 插件的仓库 README 摘录

以下文字摘自 dsh-session-audit DSH 插件的上游仓库 bwndlct/dsh-session-audit 的 README,版权归原作者,仅作引用。

看清你的 DeepSeek Harness Agent 这次到底是怎么干活的。 对一个 DSH Session 做 Steps / Tool Calls / 失败 / 重复动作 / Token / 验证命令(test/build/lint)的执行审计,通过一次 `session_audit` 工具调用输出一份可读的审计报告。 **简体中文** | [English](README.en.md) ```text DSH Session Audit ────────────────────────────────────────────── Session ID session-d2309fa2-47d3-484a-8357-236e0acdd9aa Model glm-5.3 Provider zai-coding-cn Duration 51m 42s Started 2026-08-14T09:08:08.384Z Execution Turns 4 Steps 121 Assistant msgs 120 Turn endings completed×1, interrupted×1, error×1 Tools Total calls 150 Succeeded 143 Failed 6 Unresolved 1 Failure rate 4.0% Top tools bash 83 (1 failed) write 26 edit 21 (4 failed) read 12 Tokens Input 349,428 Output 80,415 Cache read 9,243,520 Total 9,673,363 Execution signals ⚠ 3 consecutive failed tool calls detected ⚠ `bash` called 83 times ℹ session has a turn that never closed Verification ✓ pnpm run typecheck [typecheck] ✓ npm test [test] (2 attempts, 2 ok) ``` *(来自本机真实会话的报告)* ## 为什么需要 DSH 的

阅读完整 README仓库许可: MIT

dsh-session-audit DSH 插件常见问题

如何安装 dsh-session-audit?

需要 DSH 0.1.0-rc.6 或更高版本。运行 `dsh plugin --profile web add dsh-session-audit`(或使用 GitHub/本地链接变体)。然后手动将包添加到 `~/.dsh/profiles/web/package.json` 的 `dsh.profile.bundles` 数组中,重启 `dsh web`。用 `dsh --profile web --dump-config | grep -A2 session-audit` 验证挂载。

如何审计当前会话?

直接用自然语言告诉 Agent,例如“审计当前会话”。也可以指定格式:“用 markdown 格式审计当前会话”。如果已挂载 commands 服务(如 web profile),可以使用斜杠命令 `/session-audit [text|markdown|json]`。

审计报告包含哪些信息?

报告包含会话时长、Turn/Step 计数、工具调用总数及按工具分布、成功/失败次数、Token 用量(input/output/cache read),以及确定性审计信号(如连续失败、重复调用、重复读取文件、验证命令结果)。还会列出非正常结束的 Turn。

这个插件会上传数据到互联网吗?

不会。dsh-session-audit 完全本地运行。它读取本地 DSH home 目录中的会话日志和内存中的 live session 注册表。不发起任何网络请求,不调用 LLM API,不发送遥测数据。审计报告作为工具结果存在于你当前的会话中。

可以审计之前发生的会话吗?

可以。使用 `session_id` 参数指定目标会话 ID。也可以使用斜杠命令 `/audit-list` 列出最近的持久化会话,然后按 ID 审计。工具会读取 `~/.dsh/sessions` 目录中的持久化日志。