deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:wycto/dsh-token-usage
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
记录 DeepSeek Harness 中所有 LLM API 调用(模型请求),提供单窗口全屏统计面板。 支持秒级时间范围查询、多维度筛选、会话 ID 筛选、排序、状态码与调用详情、分组统计表与 CSV 导出。

Token 用量统计面板:汇总卡片、多维度筛选、状态码与调用明细

侧边栏底部"Token 用量"入口按钮
datetime-local(精确到秒)过滤调用记录。settings.yaml 的 llm-pi-ai.providers)∪ 历史记录,无记录时仍可选现有提供商,已删除的提供商/模型因有记录仍可选中。settings.yaml 的 token-usage.usdCnyRate 覆盖),CSV 导出含 costCny 列。turn/end 错误),状态下方【查看详情】弹窗展示完整信息(含会话 ID、错误信息、错误码、各 Token 桶、金额、耗时、Turn/Step 等)。插件不侵入模型调用链路,只读取 DSH 会话日志(session/event 事件 + 历史扫描),
从以下会话事件中提取每次模型调用的完整信息:
| 字段 | 来源 | 说明 |
|---|---|---|
| 时间 | 事件 time |
Unix epoch ms,秒级精确 |
| 模型提供商 | request/header.config.provider |
路由名(如 ocx) |
| 模型 | request/header.config.model |
模型 id |
| apikey | 配置 apiKeyEnv |
仅存掩码(安全,见下) |
| 输入 Token | assistant/message.usage.inputTokens |
未命中缓存输入 |
| 输出 Token | usage.outputTokens |
含推理 token |
| 缓存命中量 | usage.cacheReadTokens |
|
| 缓存写入量 | usage.cacheWriteTokens |
|
| 推理 Token | usage.reasoningTokens |
|
| 缓存命中率 | 计算 | cacheRead/(input+cacheRead) |
| 消耗金额 | 内置定价表估算(人民币/1M) | 含 DeepSeek-V4 峰谷两档、可配置覆盖 |
| 推理强度 | config.reasoningEffort |
|
| 状态 | turn/end.reason.kind |
completed/error/aborted/... |
| 状态码 | turn/end.reason.error.status |
真实 HTTP 码(如 400/401/429),无则映射 200/403/499/500 |
| 错误信息/码 | turn/end.reason.error.message/code |
详情弹窗展示 |
| 会话 ID | 事件所属 session id | 可点击筛选、详情展示 |
| 耗时 | step/start → assistant/message |
llmMs |
dsh plugin --profile <profile名> add @wycto/dsh-token-usage
安装后重启 DSH(dsh --profile <profile名>),侧边栏底部出现蓝色"Token 用量"按钮。
lib/index.js(Host)与 client/index.js(Client web)放入 src/。cordis.patch.yml 插入插件行(name/id 用带 scope 的包名 @wycto/dsh-token-usage)。pnpm dsh web --patch ./dsh-token-usage/cordis.patch.yml详见 PUBLISH.md:打包为带 dsh.bundle manifest 的 npm 组合包。
| 操作 | 命令 |
|---|---|
| 登录 npm | npm adduser |
| 首次发布 | npm publish |
| 升小版本(0.1.0 → 0.1.1,修复) | npm version patch && npm publish |
| 升中版本(0.1.1 → 0.2.0,新功能) | npm version minor && npm publish |
| 升大版本(0.2.0 → 1.0.0) | npm version major && npm publish |
npm version会自动修改package.json版本号并打 git tag(如v0.1.0), 推送 tag 用git push --tags。包名 scope@wycto/与 npm 账号一致,可直接发布。
sk-***abcd)。DSH 凭据本来也只在
.credentials.yaml / 环境变量,插件不复制密钥。金额为估算:内置常见模型单价表(人民币元 / 百万 tokens 为基准),未知模型用 fallback 单价。
峰谷定价:DeepSeek-V4 官方已实行峰谷计费(2026-08-17 生效), 高峰时段为每日 9:00–14:00(按插件运行机器本地时间判断),价格为空闲时段的 2 倍。内置 v4-flash / v4-pro 两档:
| 模型 | 时段 | 输入(缓存未命中) | 输出 | 输入(缓存命中) |
|---|---|---|---|---|
| deepseek-v4-flash | 空闲 | 1.5 | 4.5 | 0.05 |
| deepseek-v4-flash | 高峰 | 3.0 | 9.0 | 0.10 |
| deepseek-v4-pro | 空闲 | 4.5 | 13.5 | 0.15 |
| deepseek-v4-pro | 高峰 | 9.0 | 27.0 | 0.30 |
官方价格可能变动:改价无需升级插件,插件每天自动从官网获取最新定价(解析 HTML 表格提取价格),
获取失败时回退内置默认值;也可在 settings.yaml 手动覆盖任意条目,重启后生效:
token-usage:
usdCnyRate: 7.2 # USD↔CNY 汇率(默认 7.2)
pricingUrl: 'https://api-docs.deepseek.com/zh-cn/quick_start/pricing' # 官网定价页(可自定义)
pricingFetchIntervalHours: 24 # 自动获取间隔(小时,默认 24)
pricing: # 可选:手动覆盖/新增条目(优先级高于自动获取)
deepseek-v4-flash:
input: 1.5 # 元/百万 tokens(空闲时段)
output: 4.5
cacheRead: 0.05
cacheWrite: 0 # DeepSeek 官方不收取缓存写入
peak: # 可选:高峰时段(本地时间 start<=h<end)
start: 9
end: 14
input: 3.0
output: 9.0
cacheRead: 0.10
cacheWrite: 0
'*': # 可选:覆盖未知模型的 fallback 单价
input: 2.16
output: 6.48
cacheRead: 0.43
cacheWrite: 4.32
assistant/message)不产生 token 记录;状态列反映 turn 结局。usage 字段可能缺失,此时 token 数显示 0。CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。