DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」,通过扩展组件增强 Web UI 的功能。dsh-client-ui-token-billing 是一个客户端插件,它通过注入浮动面板的方式,直接在 DeepSeek Harness Web UI 中展示 Token 用量、上下文压力、推理等级控制以及费用估算。它不修改模型输入,也不读取 API Key,完全在浏览器端运行。
功能特性¶
该插件主要解决开发者在使用 DSH 进行智能体开发时,无法直观监控 Token 消耗、上下文压力以及实时成本的问题。
- 数据展示:读取官方
session.listRPC 返回的投影数据,展示tokenUsage(输入/输出/缓存读/缓存写)、contextPressure(压力与窗口占用)以及sessionStats(步骤数与耗时)。 - 推理控制:显示当前模型及支持的推理等级,提供拖拽条以切换
off、high、max等级,内部调用session.selectModelRPC。 - 费用估算:Host 半侧抓取 DeepSeek 官方价格页,提供同源路由供浏览器读取。支持峰谷价格自动切换(高峰 9:00-12:00 / 14:00-18:00),并允许手动覆盖价格。
- 自动刷新:面板每 4 秒自动刷新一次数据。
- 安全性:纯浏览器端展示,不读取 API Key,不修改模型输入。
安装与启用¶
该插件是一个标准的 dsh.client 双面包,必须能被 profile 的 ctx.baseUrl 解析到(通常位于 profile 自身的 node_modules 目录)。
方法一:作为 profile bundle 安装(推荐)¶
- 复制插件目录到
<DSH_HOME>/profiles/web/node_modules/dsh-client-ui-token-billing。 - 编辑
<DSH_HOME>/profiles/web/package.json,添加依赖:
{
"dependencies": {
"dsh-client-ui-token-billing": "github:LucasleeCN/dsh-token-api"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-client-ui-token-billing"
]
}
}
}
- 重启 DeepSeek Harness Web。
方法二:通过 cordis.patch.yml 安装¶
- 复制插件目录到
<DSH_HOME>/profiles/web/node_modules/dsh-client-ui-token-billing。 - 编辑
<DSH_HOME>/profiles/web/cordis.patch.yml:
- insert:
- id: ui-token-billing
name: 'dsh-client-ui-token-billing'
config:
enabled: true
- 重启 DeepSeek Harness Web。
使用说明¶
安装并重启后,DeepSeek Harness Web 右下角会出现一个 Token 胶囊按钮。点击该按钮可展开面板,查看当前会话的用量和费用估算。
验证数据源¶
也可以直接调用 RPC 验证数据源是否可用:
POST /api/session.list
Content-Type: application/json
{
"type": "client-request",
"rpcId": "manual-check",
"method": "session.list",
"payload": {}
}
返回数据中的 items[].projections.values.tokenUsage 即为本插件展示的原始数据。
价格设置¶
Host 半侧会每 30 分钟重新抓取一次官方价格页。面板右上角会显示当前价格所处的时段(当前 / 高峰 / 空闲 / 手动)。点击面板右上角的 ⚙ 图标,可以手动覆盖单个模型的价格,覆盖后的价格会保存在浏览器的 localStorage 中(键名为 dsh-client-ui-token-billing.prices.v1)。
适用场景¶
该插件适合需要在开发过程中实时监控 Token 消耗、上下文窗口压力,并希望精确控制推理等级和成本的 DSH 用户。
注意事项:
* 插件安装前请检查源码与许可证(MIT)。
* 插件以当前 DSH 进程的权限运行,需确保 profile 的 ctx.baseUrl 能正确解析到插件目录。