前言¶
在 DeepSeek Harness(DSH)里跑长对话时,上下文用量条能告诉你 token 规模,但钱包还剩多少、这一会话已经花了多少钱、某一轮是否踩在高峰单价上,往往要另开页面或自己心算。社区插件 dsh-simple-cost(维护者 lhylhy2024,分类:客户端)把账户余额、峰谷时段提示、本会话累计费用和逐轮费用收进界面三个固定落点,并对超过可配置 token 阈值的单轮提供按钮触发的 AI 分析。除 DSH 本身外无额外依赖。
这是什么¶
dsh-simple-cost 是 DSH 的 bundle + 客户端挂件:Host 半边读取会话事件流与账户接口做计费,浏览器半边通过同源回环 HTTP 拉状态并渲染 UI。它不发布到 npm,源码与说明在 GitHub,目录页见 SkillHub。社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
界面上的三个落点¶
设计取向是侧栏只保留「余额 + 时段」,会话相关数字放进对话流,避免重复。
| 落点 | Slot | 内容 |
|---|---|---|
| 侧栏底部用户栏正上方 | sidebar.footer.action |
账户余额(¥ / $,含赠送余额);高峰/空闲时段徽标;距下次切换的分钟数 |
| 会话页底部居中信息条 | conversation.composer.dock |
本会话累计花费(如「本会话 ¥1.2345」);累计 token 与轮数仍由 DSH 自带 ContextMeter 显示 |
| 每一轮回答的动作行 | conversation.chat.assistant-actions |
「用量 xxM tok」后的本轮费用;总 token ≥ 阈值时出现「AI 分析」按钮(自绘 A 图标) |
计费口径¶
依据 DeepSeek 官方价目表,插件内置版本戳 PRICE_VERSION = 2026-09-10(README 记载抓取日期 2026-10-13)。核心公式:
cost = 命中输入/1e6 × P_hit + 未命中输入/1e6 × P_miss + 输出/1e6 × P_out
要点如下:
P_*由 (模型, 高峰|空闲) 决定;空闲价为高峰价的 50%(官方两套并列价目表,非折扣表述)。- 高峰时段:北京时间周一至周五(不含中国法定节假日)09:00–12:00、14:00–18:00;其余为空闲,含周末全天与法定节假日全天。
- 缓存写入(
cacheWriteTokens)按未命中输入计价;思考 token(reasoningTokens)计入输出计费。 - CNY 与 USD 为两套独立价目表,按余额接口返回的
currency选表,不做汇率换算。 - 时段归属按该轮开始时间判定。
内置价目表(元 / 百万 tokens):
| 模型 | 命中·空闲 | 命中·高峰 | 未命中·空闲 | 未命中·高峰 | 输出·空闲 | 输出·高峰 |
|---|---|---|---|---|---|---|
| deepseek-flash | 0.02 | 0.04 | 1 | 2 | 4 | 8 |
| deepseek-v4-pro | 0.15 | 0.30 | 4.5 | 9.0 | 13.5 | 27.0 |
官方调价时,维护者需改 index.js 顶部的 PRICES / HOLIDAYS 并更新 PRICE_VERSION;界面不主动提醒价目变动。
为什么逻辑在 Host 半边¶
浏览器半边拿不到逐轮 token(只在 Host 会话日志 ctx.sessions.get(id).snapshotEvents() 里)、账户凭证(ctx.deepseekAccount 文档写明仅 Host 可拿请求凭证),也无法调用生成类 LLM(客户端 Remote 的 llm 仅有发现/列表接口)。第三方插件又不能注册新的 Remote namespace,因此采用回环路由:
浏览器 client.js ──fetch 同源──▶ Host index.js
GET /dsh-simple-cost/state?sessionId=
POST /dsh-simple-cost/analyze
路由仅接受 127.0.0.1 / ::1。会话作用域 slot 上的组件自带 sessionId,不依赖 URL 中的会话标识。
安装与启用¶
本插件不在 npm 上发布。README 给出两种方式:
① 从仓库目录安装——克隆到本地后,让 DSH 按目录安装:
git clone https://github.com/lhylhy2024/dsh-simple-cost.git
plugin_manager { action: "install_bundle", target: "<克隆下来的绝对路径>" }
② 插件市场——提交至 awesome-dsh-plugin 精选列表后,可在 DSH 内置 dshmarket 一键安装。
安装后刷新页面即可看到三处落点。修改 client.js 后刷新即可;修改 index.js 需重启 DSH 进程。当前 package.json 版本为 0.1.0,许可证 MIT。
典型用法¶
- 安装并刷新 DSH Web 客户端,在侧栏账户区上方查看余额与当前峰谷状态及下次切换倒计时。
- 打开任意会话,在输入框下方信息条查看「本会话」累计费用。
- 在助手回复动作行查看该轮「约 ¥x.xxxx」;若本轮总 token 达到插件阈值,点击 A 触发 AI 分析(由 Host 调用
ctx.llm.stream完成)。
余额优先请求 GET https://api.deepseek.com/user/balance(可区分充值/赠送、多币种);失败时回退 DSH 平台钱包(无赠送余额拆分)。可用环境变量 DEEPSEEK_BASE_URL 覆盖 API 基址。
适用场景与注意¶
适合需要在 DSH 内持续对照钱包、会话总花费与单轮成本的开发者。插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证,并理解其会访问你的 DeepSeek 账户接口。
已知限制(摘自 README):法定节假日表内置至 2026 年,跨年需补表;调休上班的周末仍按空闲计价(与官方文案「周一至周五(不含法定节假日)」一致);逐轮费用独立四舍五入到 4 位小数后再求和,与账单可能有极小差异;AI 分析使用 maxTokens=6000 等策略以避免思考占满预算。
结尾¶
dsh-simple-cost 把余额、峰谷、会话与逐轮计费嵌回 DSH 界面,并用 Host 回环路由补齐客户端拿不到的数据与 LLM 能力。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。