
Zhenyu98/dsh-context-doctor
103最近提交 2026年8月13日
dsh-context-doctor DSH 插件
Context Doctor 是一款 DSH 插件,用于审计每个模型请求中注入的上下文。它提供原生 UI 面板和模型可调用的工具 (context_audit),分析指令链、技能目录、工具 schema 和 MCP 工具。帮助识别重复内容、隐藏的技能冲突和 token 浪费。
如何安装 dsh-context-doctor DSH 插件
dsh plugin --profile web add "github:Zhenyu98/dsh-context-doctor#main复制不会执行命令。安装 dsh-context-doctor DSH 插件前请核对仓库和版本。
dsh-context-doctor DSH 插件数据来源
dsh-context-doctor DSH 插件快照日期:2026年8月16日
discovered
dsh-context-doctor DSH 插件能做什么
- 逐请求量化指令链、技能目录、工具 schema 和 MCP 工具的 token 成本。
- 检测跨文件的完全相同的重复段落和冗余的技能描述。
- 识别同名技能冲突(rank shadow),报告胜出者和被遮蔽的技能。
- 提供按严重度排序的可执行裁剪建议。
- 全程只读审计:不修改文件,不执行审计对象。
dsh-context-doctor DSH 插件适合哪些场景
- 优化 DSH 会话上下文,减少 token 消耗和成本。
- 解决技能冲突,确保模型使用正确的技能定义。
- 发现并移除 AGENTS.md 文件中的重复或冗余指令。
- 评估 MCP 工具面膨胀,精简工具配置。
- 在 DSH 代理开发过程中持续监控上下文健康状态。
dsh-context-doctor DSH 插件适合谁
- 在 DSH 上构建 AI 代理并需要审计上下文注入的开发者。
- 在 DSH 会话中管理多个技能和工具集成的团队。
dsh-context-doctor DSH 插件的限制
- 重复检测仅匹配完全相同的文本块,不进行语义相似度分析。
- token 估算为启发式(ASCII≈4 字符/token,中文≈1.5 字符/token),实际值以模型 tokenizer 为准。
- 原生 UI 替换依赖 DSH 的 conversation.input.context 插槽,部分 DSH 版本可能不支持。
- 技能正文统计默认关闭,需要手动启用。
dsh-context-doctor DSH 插件的仓库 README 摘录
以下文字摘自 dsh-context-doctor DSH 插件的上游仓库 Zhenyu98/dsh-context-doctor 的 README,版权归原作者,仅作引用。
DSH 会话里,模型每个请求都自动携带一批注入物:层层叠加的 `AGENTS.md` 指令链、一百多个技能的目录摘要、几十个工具 schema、MCP 工具面。它们悄悄消耗输入 token,且经常出现跨文件重复段落、同名技能互相遮蔽、工具面膨胀——但平时没人量化,问题到上下文告警时才暴露。 | 之前 | 之后 | |---|---| | 只能靠上下文计量条猜个大概,说不清是谁在消耗 | 指令链 / 技能 catalog / 工具 schema / MCP 四项逐项给出 token 估算 | | 重复指令、重复技能描述散落在各层文件里,无人察觉 | 自动检测跨文件完全相同的重复段落、描述完全相同的冗余技能 | | 同名技能多来源并存时被静默遮蔽,模型用的是哪个要靠猜 | 报告冲突胜出者与被遮蔽者(rank shadow) | | 看到告警只能手工翻文件找线索 | 模型可直接调用 `context_audit` 拿到分节报告与按严重度排序的裁剪建议 | ## Quick Start ```sh # 1. 安装(官方 bundle 插件机制;构建产物已入库,git 源安装无需构建) dsh plugin --profile web add "github:Zhenyu98/dsh-context-doctor#main" # 2. 验证合成树含该条目 dsh --profile web --dump-config | grep context-doctor # 3. 重启 dsh web,在新会话里让模型调用 context_audit ``` 预期成功信号: ```text dsh --profile web --dump-config | grep context-doctor # - insert: # - id: context-doctor # name: 'dsh-context-doctor' ``` 重启后,在**已有会话**的发送按钮左侧出现 `Context Doctor` 原生替代控件,或模型调用 `context_audit` 返回分节报告,即安装成功。面板以英文呈现,并沿用 DSH 的浅色 / 深色 / 跟随系统主题;新会话尚未分配 `sessionId` 时不会显示会话级控件。 ## Agent Setup 把下面这段发给 Codex、Claude Code、Cursor 或 DSH 里的任意 agent: ```text 请阅读 https://github.com/Zhenyu98/dsh-context-doctor/blob/main/agent-setup.md 并按照步骤帮我安装和配置 Context Doctor(DSH 上下文注入审计插件)。 目标:装好后我能在 dsh web
阅读完整 README仓库许可: BSD-3-Clause
dsh-context-doctor DSH 插件常见问题
安装插件后圆环面板没有出现,怎么办?
重启 dsh web 后进入已有会话。面板只在分配了 sessionId 的会话中显示。确认插件在 dump config 中列出,且 DSH 提供了 conversation.input.context 插槽。如果修改过源码,需要用 ./scripts/build.sh 重新构建。
在没有 Web 界面的 headless/CLI 环境中可以使用吗?
可以。context_audit 工具不依赖 Web 界面,插件在无 httpServer 的环境中自动跳过路由注册。已验证在 dsh --profile headless 下可直接调用。
审计结果和 DSH 的计量条对不上,为什么?
计量条是模型侧的实际 token,本插件使用启发式估算(ASCII≈4 字符/token,中文≈1.5 字符/token),用于相对比较和优化优先级排序。精确值以模型 tokenizer 为准。
插件会修改我的文件吗?
不会。审计路径全程只读,只用 ctx.fs 的 read/stat/list 子集,不写、不删、不执行任何审计对象。文件完全不受影响。
MCP 工具怎么分组统计的?
按 mcp__<server>__<tool> 命名解析出服务器名,按服务器汇总工具数和 schema token,用于识别工具面膨胀。报告中会显示每个服务器的工具数量和 schema token。