LucasleeCN
dsh-token-api
No description
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 15, 2026
- Updated
- Aug 15, 2026
Introduction
dsh-client-ui-token-billing
DeepSeek Harness 官方 Web UI 的客户端插件:在界面右下角注入一个紧凑的浮动面板,
展示当前会话的 API Token 用量、上下文窗口占用、推理等级和费用估算。
UI 使用 Harness 官方设计变量(--dsw-alias-*),自动适配浅色/深色主题,并参考
Claude Code 的紧凑信息框布局。
About
| 项 | 内容 |
|---|---|
| 仓库 | https://github.com/LucasleeCN/dsh-token-api |
| 插件类型 | dsh.client 双面包(Web UI 客户端插件) |
| 最新版本 | 1.0.0 |
| 许可证 | MIT |
| 发现方式 | GitHub topic dsh-plugin |
功能
- 读取官方
session.listRPC 返回的 projection:tokenUsage:输入 / 输出 / 缓存读 / 缓存写 token;contextPressure:上次请求压力、下次预计压力、上下文窗口;sessionStats:步骤数与耗时等会话统计。
- 通过
session.models显示当前模型,并读取模型支持的推理等级。 - 推理等级拖拽条:拖动滑块即可切换
off/high/max等推理等级, 内部调用官方session.selectModelRPC。 - 官方价格自动同步:Host 半侧抓取 DeepSeek 官方价格页
https://api-docs.deepseek.com/zh-cn/quick_start/pricing/,通过同源路由/plugins/dsh-client-ui-token-billing/pricing提供给浏览器,避开跨域限制。 - 峰谷价格自动切换:2026-08-17 00:00 北京时间起,高峰时段 (9:00-12:00、14:00-18:00)与空闲时段自动使用不同价格。
- 价格单位:¥ / 1M tokens。内置价格为官方页面兜底,拉取失败时自动回退。
- 支持手动覆盖单个模型价格;手动价格保存在浏览器
localStorage。 - 每 4 秒自动刷新;可手动刷新、切换会话、展开价格设置。
- 纯浏览器端展示:不修改模型输入,不读取 API Key。
目录结构
dsh-client-ui-token-billing/
├─ package.json
├─ cordis.patch.yml
├─ CHANGELOG.md
├─ lib/
│ ├─ index.js # Host 半侧(官方价格抓取 + 同源价格路由)
│ └─ client.js # Browser 半侧(浮动面板)
├─ test/
│ └─ client.test.mjs
└─ .github/workflows/
├─ check.yml
└─ release.yml
安装
该插件是一个标准的 dsh.client 双面包,必须能被 profile 的
ctx.baseUrl 解析到(通常就是 profile 自己的 node_modules)。
从 Git 安装(推荐):
{
"dependencies": {
"dsh-client-ui-token-billing": "github:LucasleeCN/dsh-token-api"
}
}
也可以从 GitHub Release 下载 dsh-client-ui-token-billing-1.0.0.tgz 后解压到
<DSH_HOME>/profiles/web/node_modules/dsh-client-ui-token-billing。
方法 A:作为 profile bundle(推荐)
-
将插件目录复制或链接到 profile 可解析的位置,例如复制到
<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。
方法 B:手动插入 Loader 行
-
将插件目录复制到
<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。
验证
重启后打开 Harness Web UI,右下角出现 Token 胶囊按钮;点击展开面板。
如果页面已经打开,刷新即可(dsh web 会注入新的 boot manifest)。
也可以直接调用 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 分钟重新抓取一次官方价格页;浏览器通过同源路由读取。
- 当前(2026-08-17 前)使用页面中的当前价格;之后自动切换峰谷价格。
- 高峰时段:北京时间 9:00-12:00、14:00-18:00;其余为空闲时段。
- 面板右上角会显示当前价格所处时段(
当前/高峰/空闲/手动)。 - 点击 ⚙ 可手动覆盖价格;保存后优先使用手动价格,恢复官方价格即删除覆盖。
- 手动价格保存在
localStorage(键:dsh-client-ui-token-billing.prices.v1)。
Release
每次推送 v* 标签,GitHub Actions 会自动:
- 运行
npm run check - 执行
npm pack - 创建 GitHub Release 并上传
.tgz附件
git tag v1.0.0
git push origin v1.0.0
加入 dsh 插件社区
- 打开仓库页面 https://github.com/LucasleeCN/dsh-token-api
- 在右侧 About 中点击齿轮,添加 topic:
dsh-plugin - 建议同时添加:
deepseek-harness、dsh、plugin、token-billing - 保存后仓库会出现在 https://github.com/topics/dsh-plugin
开发
npm run check # 语法检查 + 测试
npm test # 运行测试
测试包括:
- 官方价格页 HTML 的解析(当前价格 + 峰谷价格);
- 用
node:vm加载lib/client.js,以模拟的session.list/session.modelsRPC 返回验证面板渲染、费用计算、推理等级展示和 未配置价格提示。
许可
MIT