deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
一个给 DeepSeek Harness(DSH)用的插件:在左侧边栏和设置页里,实时显示 DeepSeek 账户余额与本机所有会话的 token 消耗,并且把每一分钱是怎么算出来的摊开给你看。
用一句话说:官方账单收了多少、你花在哪了、还能用多久,一个面板讲清楚。
| 位置 | 样子 |
|---|---|
| 左侧边栏底部(设置行上方) | 🟢 ¥97.69 · ≈12天 · 今 ¥0.48 · 月 ¥13.20 |
| 设置 → 余额与消耗 顶部 | 一行四个大数字卡片 |
四个数字的含义:
侧边栏收起(窄轨)时自动变成只显示状态灯,悬停可看完整数字。
设置一个每日预算上限(如 ¥20),"今日"卡片会出现进度条:
跑长任务前扫一眼,比看余额有用得多——余额 97 元不等于可以一天烧 50。
命中率 = 缓存命中 ÷(命中+未命中+缓存写入)。低于 50% 自动弹提示:
未命中单价是命中的 20~60 倍(如 pro 空闲期 ¥4.5/M vs ¥0.15/M),低命中率意味着大量重复计费。
会按工作区单独体检:比如「E:\乐乐课堂」命中率 41% 会被单独点名。这是省钱的第一个杠杆。
每一分钱都按官方口径逐条列出:
费用 = Σ [ (未命中输入 + 缓存写入) × 未命中价
+ 缓存命中 × 命中价 + 输出 × 输出价 ] ÷ 1,000,000
deepseek-v4-pro
[高峰时段] 计费 ¥0.0032
输入·未命中 700 × ¥3.0/M = ¥0.00210
输入·缓存写入 60 × ¥3.0/M = ¥0.00018
...
内置官方价格表(旧价/空闲/高峰三档)、官方定价说明与扣费规则原文,附直达官方定价页和用量账单页的链接,对账时点开即查。
C:\Users\hhy99、E:\乐乐课堂……)和标题(与 Web 界面完全一致)磁盘上已持久化、但没有打开过的旧会话同样纳入统计——KPI、计算明细、筛选列表覆盖完整历史,而不是只有最近打开过的几个。
插件会自动统计两类"官方计费但本地无法计价"的调用:
另有辅助调用未计入:标题生成 N 次 · 网页搜索 M 次 —— 与官方账单的差值通常来源于此
原因详见下方「数据准确性说明」。
整个过程约 5 分钟,一共五步。以 Windows 为例,macOS/Linux 把路径写法换一下即可。
打开终端(PowerShell),运行:
dsh web
能看到浏览器打开 DeepSeek Harness 的网页界面(默认 http://127.0.0.1:3080),说明环境就绪。
dsh 不是命令:先安装 DSH 本体npm install -g @deepseek-ai/dsh
dsh web
pnpm --version # 没有输出版本号就运行: npm install -g pnpm
先把这个终端窗口里的
dsh web停掉(按Ctrl+C),等装完插件再重新启动。
方式 A:会 git 的人
git clone https://github.com/hhy66/dsh-balance-stats.git
方式 B:不会 git 的人(推荐)
C:\dsh-plugins\dsh-balance-stats国内网络如果 clone 失败,先给 git 配代理(把端口换成你自己的代理端口):
git config --global http.https://github.com.proxy http://127.0.0.1:7897
在终端里运行下面这条命令(把路径换成你实际的插件目录):
dsh plugin --profile web add "C:\dsh-plugins\dsh-balance-stats"
看到类似 + dsh-balance-stats link:... 的输出就是安装成功了。这条命令做了两件事:把插件登记到你的 DSH 配置里,并自动装好它需要的依赖。
dsh webCtrl+Shift+R 强制刷新页面C:\Users\你的用户名\.dsh\.credentials.yaml 里(DEEPSEEK_API_KEY: sk-...),保存后重启 dsh web 即可Q:面板打不开 / 提示找不到 zod?
个别安装方式下依赖 zod 不会被自动装进插件目录。把 DSH 自带的 zod 拷一份过去即可:
# 先看 DSH 装在哪个全局目录
npm root -g
# 例如输出 C:\Program Files\nodejs\node_modules,那么执行:
Copy-Item -Recurse "C:\Program Files\nodejs\node_modules\@deepseek-ai\dsh\node_modules\zod" "你的插件目录\node_modules\zod"
拷贝后重启 dsh web + 硬刷新。
Q:dsh plugin 提示找不到 pnpm?
npm install -g pnpm
Q:安装依赖时网络很慢 / 失败?
换国内 npm 镜像再试:
npm config set registry https://registry.npmmirror.com
dsh plugin --profile web add "你的插件目录"
Q:面板是空白的?
先 Ctrl+Shift+R 硬刷新;还不行就重启 dsh web;仍不行按 F12 打开控制台,把红色报错发到 GitHub Issues。
普通用户:重新下载最新代码(git pull 或重新 Download ZIP 覆盖旧目录),然后重跑第三步和第四步即可。
插件作者本人:本机有一份不公开的《维护红线》文档(在插件目录的 REDLINE.md,已排除出版本库),按它执行。
dsh plugin --profile web remove dsh-balance-stats
重启 dsh web 生效。
编辑 ~/.dsh/profiles/web/cordis.patch.yml(也可直接改插件自带的 cordis.patch.yml 默认值):
- id: dsh-balance-stats
config:
refreshIntervalMs: 300000 # 余额查询间隔(毫秒),默认 5 分钟
warningThreshold: 10 # 余额低于此值 → 黄灯(元)
dangerThreshold: 5 # 余额低于此值 → 红灯(元)
dailyBudget: 20 # 单日预算上限(元);0 = 关闭预算制动
currency: CNY
prices: # 非 V4 模型的静态单价(元/百万 token)
deepseek-chat: { cacheHit: 0.5, cacheMiss: 2, output: 8 }
改完重启 dsh web 生效。
GET /user/balance,用你 ~/.dsh/.credentials.yaml 里的 DEEPSEEK_API_KEY 鉴权。密钥只在你电脑上使用,浏览器全程接触不到,请求只发往 api.deepseek.com。本插件统计的是能本地重建的全部用量:主请求 + 压缩摘要,约占官方账单的 99.6%。剩下两类调用官方账单计费、但 DSH 的本地日志不记录其用量(源码如此,官方统计条也看不到):
因此插件只能精确计数这两类调用(消耗卡里显示次数),无法算出它们的精确金额——这是官方账单与本地统计之间最后几毛钱差值的来源,属于 DSH 自身的记录缺口。若 DeepSeek 官方将来开放用量 API,即可完全对齐。
另外两点口径说明:
Q:和官方账单差几分钱? 见上方「数据准确性说明」——差值来自标题生成和网页搜索这两类"计费但不落用量"的调用,插件里已显示它们的次数,可在官方账单里逐条核对。
Q:为什么时间筛选后,旧会话显示 ¥0.00? 因为筛选问的是"这个时段花了多少",而不是"它累计花了多少"。今天没花它的钱,就诚实显示 0(灰色弱化)。想看累计就选"全部"。
Q:打开面板第一次要等几秒? 首次会扫描磁盘上的历史会话(后台进行),面板会显示"扫描历史会话中…";之后每次打开都是瞬时。
Q:会话标题和侧边栏不一致?
不会——两者读的是同一份数据,且改名实时同步。如果出现不一致,硬刷新浏览器(Ctrl+Shift+R)。
Q:会泄露我的 API 密钥吗?
不会。密钥只存在于宿主进程内存和你的凭据文件里,插件只在宿主机端用它请求 api.deepseek.com,浏览器端、日志、界面中都不出现。
settings.section、侧边栏 sidebar.footer.action)接入,不侵入界面本插件为个人使用而写,按 MIT 协议开放;官方账单始终是最终依据。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。