dsbot-monitoring:DS Bot 团队实时作战室看板

前言

用 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。

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

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

小夜