DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

cransmathenia666-hash /

dsh-skill-mcp-stats

Topic repository only

Per-turn skill & MCP usage stats for DeepSeek Harness (dsh) - see what tools the agent used, with per-message stats and JSONL logs.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@8e426e1b

dsh-skill-mcp-stats

想知道每一轮对话里 agent 到底动了哪些 skill 和 MCP?翻对话记录翻到眼瞎?把每一轮翻成一张清单,按钮一点就知道。

Per-turn skill & MCP usage stats for DeepSeek Harness (dsh) — see what the agent actually called, per turn, without digging through transcripts.

它解决什么问题

用 dsh 干活时,agent 这一轮调了哪些 skill(比如加载了 impeccable 做视觉打磨)、用了哪些 MCP 工具(比如 mcp__github__* 查仓库、mcp__qwen-mm-plugins-search__web_search 搜网页),这些信息散在对话里,想复盘一次任务用了什么"武器",得自己一条条翻工具调用记录,费眼又费时。

这个插件把宿主侧的事件流变成逐轮统计:每轮结束自动记录该轮调用的 skill 与 MCP(含调用次数),然后——

  • 每条 assistant 消息的操作栏多一个 📊 按钮,点一下就在消息下方展开本会话的 skill/MCP 清单,不用再去对话里翻
  • 顶部是重点标签:调了哪些 skill、哪些 MCP、各几次,一眼看完
  • 历史轮次折叠收纳,想看哪轮点开哪轮
  • 全量明细同步落盘到 ~/.dsh/skill-mcp-stats/turns.jsonl,随时可查

📷 演示动图待补充:点开 📊 → 顶部标签展示本轮 skill/MCP → 展开某轮看明细(30 秒以内)

功能

  • 📊 消息栏统计按钮:不弹窗、不遮屏,面板直接在按钮所在消息下方展开,随对话流滚动
  • 🏷 重点概览:skill(绿)与 MCP(橙)彩色标签 + 调用次数,本轮/本会话用了什么一眼可见
  • 📚 轮次明细折叠:每轮一行摘要,点击展开 skill / MCP / 其他工具的明细;默认展开最新一轮
  • 🧠 按会话隔离:面板只统计你当前所在的会话,不会被其他会话的记录干扰
  • 💾 自动落盘:每轮结束实时追加 JSONL 日志,进程重启不丢历史
  • 🛠 对话内可查:注册 skill_mcp_stats.summary 工具,你直接问 agent"这轮用了哪些 skill 和 MCP"也能答
  • 🌗 主题自适应:全部使用 DSH 官方主题令牌,深浅色自动适配,不会和背景糊在一起
  • 📡 HTTP API:GET /skill-mcp-stats/api/overview(可带 ?session= / ?scope=latest)供二次开发取数

安装

方式一:dsh-super-injector(开发环境,推荐)

dsh 环境内自带 dev_inject_plugin / dev_uninject_plugin 工具(超级模组注入器):

npm install --no-audit --no-fund          # 首次安装 typescript / tsdown
./scripts/build.sh                        # host: tsc;client: tsdown → lib/
dev_inject_plugin <本目录>                # 注入运行
dev_uninject_plugin skill-mcp-stats       # 卸载

注:无源码 checkout 的环境下,build.sh 会自动从 npm 全局安装的 dsh 链接类型依赖再编译,无需 DSH_CHECKOUT。

方式二:手动放入插件目录

把 lib/ 与 package.json 放入 dsh 插件的 node_modules(如 ~/.dsh/profiles/web/node_modules/@dsh-external/skill-mcp-stats),在 profile 的 bundles 中声明后重启 dsh。

方式三:正式装配

dev_install_package <本目录>   # 写入 profile bundles,重启后自动装配

它怎么工作的(写给好奇的人)

  • 数据:宿主监听 session/event 事件流,只消费三个事件——turn/start(一轮开始)、tool/call(每次工具调用,含工具名与参数)、turn/end(一轮结算)
  • 分类:工具名 skill 记入 skill(取参数里的技能名);以 mcp__ 开头的记入 MCP;其余归为其他工具
  • 界面:conversation.chat.assistant-actions Slot(官方给消息反馈类插件预留的按钮席位)注入 📊 按钮,点按后直接在按钮行下方插入内联面板
  • 持久化:turn/end 时把整轮(轮号、时间、分类计数、调用明细)追加到 JSONL;进程内按 session+turn 内存聚合,重启后从日志续接
  • 生命周期:宿主 ctx.on / ctx.effect 注册,client 卸载即净,无残留

已知限制(说实话的时间)

  • 插件注入之后产生的轮次才计入实时统计;历史轮次只能在注入时刻按已加载的会话事件回填一次(时间戳为注入时刻,不影响统计正确性)
  • 极个别历史事件里 skill 参数为不可解析格式时记为 (unknown),新产生的轮次不受影响
  • 目前聚焦"用了什么",暂不做耗时/成败/参数明细的深挖——想要的话提 issue

Roadmap

  • 轮次内加耗时与成败标记
  • 跨会话汇总视图(各 skill/MCP 使用频次排行)
  • 按需从 JSONL 重建统计(进程重启后历史回填)

兼容性

  • DeepSeek Harness Web GUI(dsh web),2026-08 developer preview 版本
  • 依赖官方 Slot:conversation.chat.assistant-actions / 宿主 session/event 事件流(若未来官方调整这些接口需适配)
  • Node.js 任意现代版本(宿主侧仅用 node:fs / node:path / node:os)

License

BSD-3-Clause

—/ 5

No ratings yet

Manifest verification required

Commit 8e426e1be306

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout