前言¶
用 DeepSeek Harness(dsh)跑多 Bot 协作时,成员状态、消息流水和 token 消耗分散在本地 JSON、会话日志里。要判断「谁在跑、任务怎么交接、哪台 Bot 最费 token」,往往得来回翻文件或依赖零散日志。dsbot-monitoring 是社区维护的 dsh 插件,把 dsh 已落盘的数据整理成一块只读大屏,并在客户端左侧导航增加「作战室」入口;它不产生新数据,也不向公网发请求。
这是什么¶
dsbot-monitoring(GitHub:HaoGengfa/dsbot-monitoring)由维护者 HaoGengfa 发布,分类为客户端插件。简介与仓库说明一致:为 DS Bot 团队提供实时作战室——活动密度、消息流、任务交接与各 Bot 的 token 用量,全部从本机 dsh 状态与会话日志读取。
插件当前版本为 0.1.0,许可证 MIT。社区目录页见 SkillHub 条目;该站点为独立生态目录,与 DeepSeek / 幻方无官方从属关系。
核心功能¶
安装并重启 dsh 后,可从导航进入作战室,或直接访问静态页面(前缀 /bot-stage)。数据约每 1 秒刷新;页面随主题深色底,纯前端看板。
作战室视图(stage.html)¶
面向「现场」:主 Bot 与成员拓扑、连线随活动高亮;最近 60 分钟活跃度曲线;带时间戳的派活与回执日志流(自动上滚);每位成员一张思考卡(状态、轮次/步骤、工具调用、最近一段已落盘推理);统计条(轮次、输出/输入/缓存 token、工具调用次数及占比);按输出 token 排序的成员排行。
数据看板视图(neural.html)¶
面向「汇总」:文档称共 17 块统计面板,包括活跃度、今日时段、回执时延、能力雷达、工具与角色分布、协作环、成员产出占比、单轮效率、当前步进、状态与效率、群维度、事件构成与流转、异常与失败、日志流等。两视图在同一页面顶栏切换,右侧显示实时/快照状态、时间与全屏。
复盘回放¶
可选时间窗把真实历史按原始时刻重放:成员卡、派活回执、思考内容随时间轴更新;支持暂停、拖进度、调速(10×–300×)。回放数据经 GET /bot-stage/api/replay?from=&to= 拉取。
HTTP 接口(只读为主)¶
路由挂在 dsh webServer,前缀 /bot-stage:
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /bot-stage/api/live |
实时快照 |
| GET | /bot-stage/api/replay?from=&to= |
回放事件 |
| POST | /bot-stage/api/tasks/confirm |
标记任务已确认 |
| GET | /bot-stage/* |
静态 HTML 等 |
任务确认状态写入插件目录下 data/task-confirm.json,不向 dsh 核心状态文件写入。
安装与启用¶
插件在 dsh 启动时加载,安装后须重启 dsh,否则导航不会出现「作战室」。
从 GitHub 安装(推荐)¶
dsh plugin --profile <profile 名> add github:<你的 GitHub 用户名>/dsbot-monitoring
说明:README 占位为「你的 GitHub 用户名」;若仓库在 HaoGengfa 名下,安装时需用你 fork 或有权引用的 github:所有者/dsbot-monitoring 形式,与本地 dsh 插件源约定一致。
本地目录安装(开发)¶
dsh plugin --profile <profile 名> add /path/to/dsbot-monitoring
装完后重启 dsh,检查左侧导航是否多出「作战室」,设置页是否多一张说明卡。
环境与版本¶
| 项 | 要求 |
|---|---|
| dsh | >=0.2.0-rc.2 |
| Node | ^22.19.0 \|\| >=24.0.0 |
package.json 的 engines.dsh 与 peerDependencies 声明了上述范围。dsh 对版本不匹配会静默跳过插件(日志无明确报错)。若确需在不兼容版本上试用,可显式豁免(有崩溃风险,先备份 profile):
dsh plugin allow-version --profile <profile 名> dsbot-monitoring@0.1.0 --accept-risk
典型用法¶
1、重启 dsh 后点左侧「作战室」,或浏览器打开:
<你的 dsh 地址>/bot-stage/stage.html # 作战室
<你的 dsh 地址>/bot-stage/neural.html # 数据看板
2、在顶栏切换「作战室」与「数据看板」,观察绿色「实时」或黄色「快照」状态。
3、需要核对历史协作过程时,使用复盘回放并调节倍速。
4、对需人工确认的任务,通过页面触发确认(对应 POST /bot-stage/api/tasks/confirm),id 记入插件自有 data/task-confirm.json。
开发前端时直接改 public/ 下文件并刷新即可(静态资源 Cache-Control: no-store);改 index.mjs 等 Node 侧后需重启 dsh。本地联调建议 dsh plugin add <本地路径> 安装插件目录。
数据来源与隐私¶
全部只读本机路径:
| 路径 | 内容 |
|---|---|
~/.dsh/bot/state.json |
成员、颜色、消息、群聊、任务 |
~/.dsh/bot/inflight.json |
运行中成员、开始时间、排队 |
~/.dsh/sessions/<项目>/<会话>/session.v4.jsonl.zstd |
轮次、步骤、工具、推理、usage |
<插件目录>/data/task-confirm.json |
已确认任务 id |
会话日志为分帧 zstd:插件只读尾部约 320 KB、最多解压 56 帧,未变则复用缓存。隐私上文档写明:本机处理、不外发请求、不改被读的 dsh 文件(除插件自己的确认状态)。
适用场景与注意¶
适合:本地或多 Bot 团队需要一屏观察拓扑、日志、token 与回放,且已使用 dsh >=0.2.0-rc.2 的场景。
边界(README 已知说明):
- 思考区展示的是已落盘推理,非逐字流式;进行中语句须等写入日志才出现。
- 「进行中」依
inflight.json,轮间可能短暂显示空闲。 - 读不到轮次开头时,进度可能只显示「第 N 步」。
- token 累计与会话
usage对齐官方sessionStats口径;日志格式变更时数值可能不一致。
安全:插件以当前 dsh 进程权限读取 ~/.dsh 与会话目录。安装前应查看 源码仓库 与 MIT 许可证,仅在信任的 profile 中启用。
结尾¶
dsbot-monitoring 把 dsh 已有的 Bot 状态与会话日志收成作战室与数据看板两条视图,并支持历史复盘,适合需要本地可观测、零外发的 DS Bot 协作排障与复盘。目录介绍见 SkillHub,源码与完整说明见 GitHub:HaoGengfa/dsbot-monitoring。