前言¶
DeepSeek Harness (DSH) 采用插件架构,旨在为智能体开发提供灵活的扩展能力。在使用多模型、多厂商服务时,追踪 token 消耗与费用是常见痛点。dsh-token-ledger-pro 是一个集服务端计费与客户端实时展示于一体的插件,由原 dsh-custom-cost-meter(计费统计面板)与 dsh-spend(开销统计)合并而来。它支持中英双语,提供完整的费用统计、余额查询及预算告警功能。
核心功能¶
该插件提供以下核心能力:
- 自动采集:自动采集每次 LLM 请求的 token 用量(基于 DSH session 事件),按模型价格实时计费。
- 实时展示:在输入框工具行右侧(模型选择器旁)实时显示当前模型、账户余额、会话/今日/本月消费及预算横条。横条颜色随阈值变化:默认 ≥80% 转橙、≥100% 转红。
- 余额查询:内置 DeepSeek / OpenAI / Anthropic / Kimi / 智谱 / 火山方舟(豆包)/ 阿里云(千问)官方余额 API。未内置厂商可用自定义 HTTP 端点 + JSONPath 提取。默认 1 分钟缓存(
balanceCacheTtl)。 - 价格目录:内置 16 家厂商、136 个模型价格目录,覆盖 DeepSeek、豆包/火山方舟、OpenAI、Anthropic、Gemini、通义千问、腾讯混元、Kimi、MiniMax、智谱 GLM、硅基流动、xAI、Mistral、Meta Llama、Cohere、OpenRouter。
- 智能匹配:按精确匹配 → 前缀匹配 → 厂商默认价回退 → 跨厂商全局匹配的顺序查找价格。
- 未定价处理:模型不在目录中时,自动回退厂商默认价并显示“未定价”徽标,不再静默显示 ¥0。
- 特殊计价:支持 DeepSeek 峰谷计价(北京时间峰时 ×2;2026-08-23 起周末全天谷价);缓存价(cacheRead / cacheWrite)单独计价。
- 数据持久化:聚合当日/本月/会话数据,并保留最近 2000 条明细(JSON 原子写,重启不丢)。
- 远端同步:支持通过
priceSyncUrl从远端同步价格目录。
安装与启用¶
使用 DSH 官方命令行安装:
dsh plugin --profile web add dsh-token-ledger-pro
安装完成后重启 DSH Web 服务,并在浏览器中强制刷新页面(Ctrl+F5)。
配置说明¶
首次安装后,编辑配置文件 ~/.dsh/profiles/web/cordis.patch.yml。在 dsh-token-ledger-pro 的 config 块中添加 balance 配置以查询余额。
官方 API 配置示例¶
插件会根据当前选中模型的厂商自动匹配对应的余额配置。
- id: dsh-token-ledger-pro
config:
monthlyBudget: 100
balance:
deepseek:
type: deepseek
apiKey: "sk-你的DeepSeek密钥"
currency: "CNY"
openai:
type: openai
apiKey: "sk-你的OpenAI密钥"
currency: "USD"
anthropic:
type: anthropic
apiKey: "sk-ant-xxx"
currency: "USD"
moonshot:
type: moonshot
apiKey: "sk-xxx"
currency: "CNY"
zhipu:
type: zhipu
apiKey: "xxx.xxx"
currency: "CNY"
hunyuan:
type: tencent
secretId: "AKID你的腾讯云SecretId"
secretKey: "你的腾讯云SecretKey"
currency: "CNY"
qwen:
type: aliyun
accessKeyId: "LTAI你的阿里云AccessKeyId"
accessKeySecret: "你的阿里云AccessKeySecret"
currency: "CNY"
balanceCacheTtl: 60
自定义 HTTP 端点¶
对于未内置厂商或中转站,可使用自定义端点:
- id: dsh-token-ledger-pro
config:
balance:
myproxy:
type: custom
endpoint: "https://你的中转站/api/balance"
headers:
Authorization: "Bearer sk-xxx"
valuePath: "data.balance"
currency: "CNY"
价格覆盖¶
在插件目录下创建 lib/prices.override.json 可覆盖本地价格。
{
"deepseek": {
"default": { "input": 2, "output": 8, "cacheRead": 0.5, "cacheWrite": 2 },
"models": { "deepseek-chat": { "input": 2, "output": 8 } }
}
}
数据与 API¶
插件将数据持久化至本地 JSON 文件,并提供 HTTP API 进行查询。
- 数据文件路径:
~/.dsh/profiles/<profile>/data/dsh-token-ledger-pro.json - API 端点:
GET /dsh-token-ledger-pro/summary?session=<sessionId>:会话/今日/本月/预算/当前模型计价状态。GET /dsh-token-ledger-pro/balance?provider=<provider>:账户余额。GET /dsh-token-ledger-pro/prices:价格目录。GET /dsh-token-ledger-pro/config/POST /dsh-token-ledger-pro/config:读取/修改预算与未知模型策略。GET /dsh-token-ledger-pro/history?limit=50:最近明细。
注意事项¶
- 密钥安全:密钥以明文存储在本地配置文件中,请勿泄露。
- 厂商支持:火山方舟/豆包(Volcano Ark)需要 AK/SK 签名,暂未内置,建议使用自定义端点。
- 显示状态:面板显示“余额 –”表示未配置或请求失败;显示“未定价”表示模型不在目录中但已按默认价估算。
- 生效条件:更换模型后无费用显示,请确认 DSH 已重启且插件在“设置 → 插件”中状态为 active。
- 计费时间:DeepSeek 峰值时段计费以北京时间(Asia/Shanghai)为准。
结语¶
该插件通过服务端计费与客户端实时展示,解决了多模型开发中的费用追踪问题。其内置的价格目录与智能匹配机制降低了配置门槛。更多细节与源码请访问项目仓库。