dsh-event-auditor:给 DeepSeek Harness 装一个事件流观察面板

前言

写 DeepSeek Harness(DSH)插件时,一个常见的困扰是:文档之外,harness 内部到底 emit 了哪些事件、waterfall 分发链路是怎么走的,只能翻源码或者在自己的代码里到处插日志。日志散落在各处,看过就丢,也很难回答「这类事件今天触发了多少次」这种问题。

下面介绍的 dsh-event-auditor 就是针对这个问题:它把流经 harness 的事件收集起来,按类型和分发模式计数,并提供一个 Web 面板供你随时查看。

这是什么

dsh-event-auditor 是一个 DSH 插件,定位是「Harness 事件流审计面板」:观察事件类型、分发模式、计数与最近事件,帮助插件作者理解 harness 内部发生了什么。作者是 qing3a,许可证为 MIT。

README 注明其状态为:已在本地 DSH 源码环境验证运行(2026-08-14),并以 mock-llm 方案完成了 waterfall 运行时捕获实证,74 个事件 / 12 个 waterfall 全部捕获。

它监听了什么

插件监听两类事件来源:

1、22 个 harness emit 事件,覆盖 agent 生命周期、会话、工具、subagent、配置等环节;
2、10 个 waterfall 事件,包括 tools/executeapproval/requestfs/write-intentllm/stream 等。插件以观察性透传的方式调用 next(),不影响原有分发链路。

完整的事件清单与声明位置,见仓库内生成的文档 docs/event-producer-consumer.zh.md

计数、缓冲与面板

收集到的事件按下述方式组织:

  • 按事件名与分发模式分别计数;
  • 环形缓冲保留最近 500 条;
  • 提供一个 /audit 面板,是纯静态页;
  • 同时暴露 /api/audit/events JSON 接口,支持 ?since= 增量查询,方便自己写脚本拉取。

也就是说,面板之外还有一条程序化取数的路径。如果你想把自己观察到的数据接入别的工具,直接消费这个 JSON 接口即可。

分组开关与 settings 热改

事件按 agent / session / tools / subagent / config / waterfall 六个分组管理。其中 config 分组默认关闭,其余分组默认开启。

开关通过 settings 面板热改实现:插件使用 installSettingsSection 注册配置项,实时修改分组开关后立即生效,不需要重启 harness。

headless 模式

如果环境里没有可交互的面板,可以通过环境变量 DSH_EVENT_AUDIT_DUMP 触发 dump,把收集到的事件直接输出。

安装与卸载

生产安装用 npm 包名,先添加插件,再以对应 profile 启动 DSH:

dsh plugin --profile <profile> add @qing3a/dsh-event-auditor
dsh --profile <profile>
# 打开 http://localhost:<port>/audit

卸载命令如下:

dsh plugin --profile <profile> remove @qing3a/dsh-event-auditor

依赖方面,插件在 peerDependencies 中声明了 @deepseek-ai/dsh-host-webserverdependencies 中包含 @deepseek-ai/schemastery ^3.0.0

开发模式

如果你想改代码或者直接跑仓库源码,先做克隆和构建,再以 link 方式安装进本地 DSH 目录。需要 Node >= 22 和 pnpm:

git clone https://github.com/qing3a/dsh-event-auditor.git
cd dsh-event-auditor && pnpm install && pnpm build
cd <path-to-deepseek-harness>
dsh plugin --profile <profile> add link:$(pwd)/dsh-event-auditor

经过上面的步骤,插件会以本地链接的形式挂到当前 DSH 环境里,改完源码重新构建即可看到效果。

适用场景与注意

这个插件适合两类人:

1、DSH 插件作者,想确认自己监听的事件、waterfall 链路是否按预期触发;
2、在做 headless 或自动化排障的开发者,需要通过 DSH_EVENT_AUDIT_DUMP/api/audit/events 接口拿到事件数据。

几点注意:

  • config 分组默认关闭,如果你关心配置类事件,需要在 settings 面板里手动打开;
  • 环形缓冲只保留最近 500 条,长跑场景下如果要留存完整历史,应通过 JSON 接口增量拉取;
  • 插件以当前 dsh 进程的权限运行,安装前建议先检查源码与许可证。本插件为 MIT 许可,源码在 GitHub 上可查。

小结

dsh-event-auditor 做的事情很克制:把 harness 内部的事件流摊开给你看——类型、分发模式、计数、最近 500 条,外加面板热改和 headless dump。对需要理解 DSH 内部机制的插件作者来说,它省掉的是到处插日志和翻源码的时间。

插件目录页:https://www.skillhub.cn/plugins/qing3a/dsh-event-auditor(社区目录为独立站点,与 DeepSeek、幻方无官方从属关系)。

源码仓库:https://github.com/qing3a/dsh-event-auditor

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye