dsh-doctor
asdf17128
Find what your DeepSeek Harness (dsh) patches silently broke — dead patches, config fields dropped by whole-config repla…
PROJECT TOPICS
PROJECT README
一个为 DeepSeek Harness(DSH) 编写的动态 Cordis 插件。它直接读取 DSH 持久化会话日志中的真实模型 usage,按日、周、月展示 Token 用量,并提供模型维度明细、热力颜色自定义和深色模式适配。
本项目不是通用浏览器统计脚本,也不会生成模拟数据;数据来源是当前 DSH 实例的真实会话事件。
--dsw-alias-* 主题 Token,自动跟随系统主题。插件读取 sessionQuery 提供的持久化会话事件:
assistant/message.data.usage:优先采用模型调用的最终用量;assistant/chunk 中的 usage:作为流式阶段样本;同一 turn:step 的最终消息会替换它,避免重复计算;compaction/summary.data.usage:计入上下文压缩产生的模型调用;SessionHeader.seedLength 之前的继承事件会跳过,避免父会话前缀被重复统计。总 Token 使用互斥桶求和:
未缓存输入 + 缓存读取 + 缓存写入 + 输出
reasoningTokens 已包含在提供方的输出统计中,因此只展示或留存,不再次加进总量。
运行时需要以下 DSH 能力:
sessionQueryslotssettings.sectionsettings.section.iconharness、host、React、styles如果当前 DSH 尚未提供 settings.section.icon,统计页面仍可运行,但导航会使用设置外壳的默认图标。当前版本的 DeepSeek Harness 可通过 keyed settings.section.icon Slot 显示仓库内的自绘图标。
只需要 Node.js 20 或更高版本,无第三方依赖:
npm run check
npm run build
生成文件:
dist/cordis-package.json
它的结构与 DSH cordis_define 参数一致,包含完整的 Host/Client JavaScript function body。
dist/cordis-package.json。cordis_define。pluginId 和 packageId 调用 cordis_run,首次激活使用 mode: "run"。动态 Cordis Plugin 属于当前 DSH 进程;进程重启后定义不会保留。如果需要随 DSH 启动永久挂载,应将本仓库源码集成为正式 DSH Cordis 包或加入部署 composition。
.
├── src/
│ ├── host.js # 读取会话日志、去重并聚合真实 usage
│ └── client.js # 中文日历 UI、模型明细、主题和设置图标
├── scripts/
│ ├── check.mjs # 校验两个动态 function body 的语法
│ └── build-package.mjs # 生成 cordis_define 参数 JSON
├── dist/
│ └── cordis-package.json
└── README.md
src/host.js 和 src/client.js 是 DSH 动态 Cordis evaluator 使用的普通 JavaScript 函数体,不是 ESM 模块:
import 或 require;React.createElement(...);harness.handle 与 host.call 通信。MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。