前言¶
在 DeepSeek Harness(DSH)里跑长会话、多轮 agent 时,token 消耗往往要到平台账单里才能对账,本地进程又缺少「此刻烧多少钱」的直观反馈。常见做法是事后查官方控制台或手算 usage,无法边开发边感知花费节奏。
下面介绍社区插件 dsh-cost-kline(维护者 FECss,GitHub:FECss/dsh-cost-kline)。它在 Harness 内监听会话事件,按可配置的单价把 token 折成人民币,记在本地账本,并用类似股票的 K 线图展示花费走势;可选对接 DSH 账号服务显示余额。数据只写本机,不上传。
这是什么¶
dsh-cost-kline 是 DSH 的 Web 端插件(当前版本 0.3.1,MIT 许可)。Host 侧统计每次 assistant/message 的 usage,浏览器侧在侧边栏与浮窗里轮询展示。官方说明强调:图中金额为估算,正式扣费以 DeepSeek 平台为准。
核心功能¶
Host:记账与 HTTP 接口¶
index.js 监听 session/event,从每条 assistant 消息的 usage 中取:
inputTokens(未命中缓存)cacheReadTokens(缓存命中)cacheWriteTokens(写入缓存)outputTokens(输出)
按 cordis.patch.yml 中的单价表折合人民币,写入账本并落盘;在 ctx.webServer 上注册路由供前端读取。
账本路径:$DSH_PROFILE_DIR/dsh-cost-kline/ledger.json;无 profile 时使用 $DSH_HOME。
浏览器:侧边栏卡片与浮窗¶
client.js 注册两个插槽:
sidebar.footer.action:侧边栏底部(设置之上)常驻卡片,显示今日金额、余额、峰谷标注和迷你 K 线;侧边栏收成窄轨道时仅显示图标。shell.overlay:详情浮窗(默认收起)。点卡片右上角 ⤢ 打开,可拖拽,可切换 1/3/5/15/60 分钟周期;浮窗内—收起,×关闭回到卡片。
卡片与浮窗共用 2.5 秒轮询,避免重复请求。
如何读 K 线¶
- 纵轴:该时段每分钟花费(¥/分)。
open/close为时段首尾一分钟,high/low为时段内极值。 - 颜色:红表示时段末尾比开头烧得快,绿表示变慢,灰为持平。
- 下方细柱:该时段 token 用量(类似成交量)。
- 黄线:
close的 5 周期均线。 - 顶部:累计金额、今日花费、近 1 小时花费、缓存命中率。
- 余额:来自
ctx.get('deepseekAccount');点击可强制刷新(平时 60 秒缓存)。账号服务不可用时显示「不可用」,不影响 K 线。峰时/谷时按 DeepSeek 官方时段标注(北京时间 00:30–08:30 为谷时)。
HTTP 接口¶
| 方法 | 路径 | 作用 |
|---|---|---|
| GET | /dsh-cost-kline/state |
全量状态(合计、按模型、按会话、原始样本、余额) |
| GET | /dsh-cost-kline/balance |
仅余额(含各币种充值/赠送拆分) |
| POST | /dsh-cost-kline/balance/refresh |
强制刷新余额 |
| POST | /dsh-cost-kline/reset |
清空账本 |
安装与启用¶
插件发布到 npm 市场后,在终端执行:
dsh plugin add dsh-cost-kline
本地开发可从目录安装:
dsh plugin add /path/to/dsh-cost-kline
装完后重启 Harness,或重载对应 bundle。侧边栏底部应出现花费卡片。运行环境要求 Node.js >= 20。
单价与配置¶
默认单价在 cordis.patch.yml 的 config.prices 中,单位为每 100 万 token 的人民币:
| 字段 | 含义 | 默认 |
|---|---|---|
cacheHit |
命中缓存的输入 | 0.2 |
cacheMiss |
未命中缓存的输入 | 2 |
cacheWrite |
写缓存 | 2 |
output |
输出(含推理) | 3 |
prices 为「模型名子串 → 单价」映射,default 兜底。可在自己的 profile 中覆盖,例如:
- insert:
- id: dsh-cost-kline
name: dsh-cost-kline
config:
currency: CNY
prices:
default: { cacheHit: 0.2, cacheMiss: 2, cacheWrite: 2, output: 3 }
"deepseek-reasoner": { cacheHit: 1, cacheMiss: 4, cacheWrite: 4, output: 16 }
典型用法¶
- 安装插件并重启 DSH,在侧边栏底部查看今日花费与迷你 K 线。
- 需要看更长周期或悬停 tooltip 时,点卡片 ⤢ 打开浮窗,切换 1/3/5/15/60 分钟。
- 需要与官方余额对照时,在界面点击余额触发
POST /dsh-cost-kline/balance/refresh(或由 UI 等价的强制刷新)。 - 换机器或想从零统计时,可调用
POST /dsh-cost-kline/reset清空账本(或通过后续 UI 若提供)。
适用场景与注意¶
适合:长期在 DSH 里调试 agent、关心缓存命中率与花费节奏、希望本地可视化估算成本的开发者。
依赖与限制:
- 需要
ctx.webServer(README 称各 profile 均具备)。 - 余额展示依赖可选的
deepseekAccount服务;缺失时仅余额不可用。 - 前端无外部依赖,不联网、不上传数据;账本仅存本地文件。
- 插件以当前 dsh 进程权限运行,安装前建议阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全策略。
DSH 生态主张「一切皆插件」;社区目录站点 skillhub.cn 为独立收录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-cost-kline 把会话 token usage 转成本地账本与 K 线视图,便于在开发过程中对照峰谷时段和缓存效果。目录页:https://www.skillhub.cn/plugins/FECss/dsh-cost-kline;源码与完整说明:https://github.com/FECss/dsh-cost-kline。