- DSH
- 0.1.1-rc.2
- 系统
- Windows / macOS / Linux
- 风险
- high
本页目录(11)
先查看功能、兼容性、权限和同类选择,再按本文操作。
在 DSH 中统计会话与每日 Token 成本、预算和历史,并查询官方余额、自定义 Provider 余额及多家 Coding Plan 订阅额度。
如果你的目标是统计 DSH 会话 Token 成本、预算、历史和 Provider 余额,本教程会说明如何在 DeepSeek Harness(DSH)中准备、安装、配置、验证和回退 dsh-cost-meter。本文锁定作者仓库提交 239b4c07c24a;已复核固定提交的原始资料,未进行运行实测。
对应插件:查看 dsh-cost-meter 的功能、权限与兼容性说明。先确认它适合你的工作流,再执行安装。
新版候选复核(2026-10-06)
1.8.12 暂缓替换安装目标。 1.8.12 的失败迁移与账本清洗仍可能丢失旧凭据,失败提示还与实际行为相反,继续暂缓通用升级。
旧账本的密钥迁移失败后不要直接重启
2026-10-06 复核了 1.8.12,此前在 1.7.21 上指出的问题没有修复:
- 固定 1.8.12 的
runSecretMigration在凭据库不可写或 set 失败时,把原值留在内存并记为 pending,但成功和失败两个分支都会安排写盘;账本落盘时会先清空全部密钥字段再替换文件。自定义余额请求头的迁移有同样的边界。 - 正常打开账本时没有迁移前备份,只有版本不符或解析失败才会另存
.corrupt文件。 - 迁移失败时的界面提示与实际相反。 提示写的是密钥“仍以明文留在本地账本”,并建议导出环境变量后重启;但此时账本里的密钥字段已经被清空。如果旧账本是这把 Key 的唯一副本,照提示重启后就找不回来了。看到这条提示时,先从你自己的密码管理器或平台后台取回 Key,再做其他操作。
本页固定的 1.5.35 正是把 Key 明文存在账本里的版本,从它升级一定会经过这次迁移。Key 已经另有可靠副本,或者全新安装的用户不满足丢失条件,但这不等于本站核对过 1.8.12 可用。
1.8.12 相对 1.5.35 还新增了一些需要单独评估的能力:可以执行本机的 qianwen 和 bl 命令(默认关闭);包装宿主的全局网络请求来统计搜索用量;自定义余额查询可以把凭据库或环境变量里的值发往你配置的主机。
本轮核对了固定提交与精确发行包:SHA-512 与 registry 一致,51 个文件与提交逐个一致;没有运行迁移。继续保留 1.5.35,等作者实现迁移失败后可以跨重启恢复,再复核。
候选固定源码:证据 1(外部链接,在新标签页打开)、证据 2(外部链接,在新标签页打开)、证据 3(外部链接,在新标签页打开)、证据 4(外部链接,在新标签页打开)。以下安装步骤继续对应 1.5.35。
先确认是否适合你
- 分类:界面交互
- 风险等级:high
- 核验证据:source_reviewed
- 兼容性边界:插件版本 1.5.35,元数据声明 DSH >=0.1.0-rc.5,依赖部分 rc.6 组件;本站完成固定提交静态审阅,未用真实 Provider 凭据核对余额、额度和价格同步结果
- 主要权限关注:读取 DSH 会话用量和多种 API Key/OAuth Token,并向 DeepSeek、Anthropic、智谱、MiniMax、Kimi、OpenRouter、SiliconFlow、CommandCode、SCNet 或用户自配余额端点发送查询
如果你准备在重要工作区使用,先阅读插件详情页的权限和数据流说明;“源码已审阅”或“资料已整理”都不等于安全认证。
安装前准备
本页 DSH 命令版本: 0.1.1-rc.2。既有插件教程与安装命令的固定 CLI 基线,独立于 npm 默认分发;不代表每个插件已在该版本或新版本运行验证。更新前须逐项审核配置证据。
- 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本,并确认
pnpm可用。 - 使用独立的
webProfile 和可丢弃测试工作区,不直接连接生产目录。 - 备份当前 Profile 配置,并记录安装前的
--dump-config输出。 - 核对固定来源中的外部服务、账号、运行时和平台限制。
- 需要凭据时只准备测试凭据;本页识别到的候选变量包括
OPENCODE_GO_API_KEY、NEWAPI_API_KEY、MODEL。
安装 dsh-cost-meter
52DSH 使用目录中记录的精确安装目标,避免直接跟随可能变化的默认分支:
npx --yes @deepseek-ai/[email protected] plugin --profile web add github:Han-1413141/dsh-cost-meter#239b4c07c24a
GitHub 源码插件如果被 pnpm 拦截构建脚本,先检查终端提示的具体包和脚本。只在 web Profile 中放行确实需要的构建项,不要全局放行未知依赖。
作者文档还出现了以下命令。它们用于核对功能或开发流程,不应替换上面的锁定安装命令,也不要一次全部执行:
dsh-cost-meter
插件专属配置
固定提交中包含配置或设置章节。下面只保留能够追溯到作者文档的字段和片段。
**本类插件的最小权限设置:**先保留默认主题和布局,只启用一个界面能力;终端、文件写入或浏览器入口应分别确认权限后再打开。
README 中识别到的变量名
以下只列变量名,不代表每个变量都必需;是否使用以及取值格式以对应固定来源为准。
OPENCODE_GO_API_KEYNEWAPI_API_KEYMODEL
作者配置片段(README.md)
来源:固定提交中的 README.md(外部链接,在新标签页打开)。复制前先替换占位符并删除不需要的权限。
{
"enabled": true,
"display": "both",
"refreshMinutes": 15,
"label": "NewApi",
"labelEn": "NewApi",
"unit": "USD",
"request": {
"url": "https://你的NewApi域名/api/usage/token",
"method": "GET",
"headers": { "Authorization": "Bearer {{NEWAPI_API_KEY}}" }
},
"extract": {
"remaining": { "op": "divide", "path": "data.total_available", "by": 500000 },
"maxBudget": { "op": "divide", "path": "data.total_granted", "by": 500000 },
"spend": { "op": "divide", "path": "data.total_used", "by": 500000 },
"unit": "USD"
}
}
作者配置片段(README.md)
来源:固定提交中的 README.md(外部链接,在新标签页打开)。复制前先替换占位符并删除不需要的权限。
# 更新:发布新版后用新版 install.ps1 重跑(脚本内固定版本随之更新)
dsh plugin --profile web remove dsh-cost-meter # 卸载
配置验证与成功结果
先导出配置,再启动同一版本的 DSH Web:
npx --yes @deepseek-ai/[email protected] --profile web --dump-config
npx --yes @deepseek-ai/[email protected] web
-
确认 Bundle 已加载
npx --yes @deepseek-ai/[email protected] --profile web --dump-config期望结果:组合配置中出现
dsh-cost-meter或仓库声明的 Bundle 名称。 -
启动 Web Profile
npx --yes @deepseek-ai/[email protected] web期望结果:DSH Web 正常启动,浏览器控制台和终端没有持续重复的插件加载错误。
-
执行插件专属最小任务
启动 DSH Web 并硬刷新页面,确认新入口出现;随后停用插件,检查原界面可以恢复。
期望结果:界面新增能力可见,原有会话仍可访问,关闭插件后不会留下阻断导航的状态。
第一次使用
- 在临时会话中打开新增面板或外观设置,完成一次不修改生产文件的交互。
- 只验证一个核心能力,保存输入、输出和日志;确认无异常后再扩大权限或数据范围。
数据、权限与凭据
**数据流:**DSH 模型用量事件 → 本机 $DSH_HOME/storages/cost-meter/ledger.json → 成本、预算、热力图与通知;启用余额或套餐查询时,本机凭据 → 对应官方白名单或用户显式配置端点 → 剩余额度返回设置页。
**权限关注:**读取 DSH 会话用量和多种 API Key/OAuth Token,并向 DeepSeek、Anthropic、智谱、MiniMax、Kimi、OpenRouter、SiliconFlow、CommandCode、SCNet 或用户自配余额端点发送查询
**数据存储:**作者资料没有形成统一存储结论。测试时检查 web Profile、工作区、用户目录以及所连接的外部服务,并记录新增文件或远端数据。
真实 Token、API Key、Cookie 和账号 ID 不应写进 Git 仓库、网页截图或公开 Issue。测试结束后撤销临时凭据。
卸载、回退与清理
停止 DSH 后,从同一个 Profile 移除包:
npx --yes @deepseek-ai/[email protected] plugin --profile web remove dsh-cost-meter
-
停止正在运行的 DSH Web。
-
从同一个 Profile 移除插件:
npx --yes @deepseek-ai/[email protected] plugin --profile web remove dsh-cost-meter -
再次运行
--dump-config,确认对应 Bundle 已消失。 -
检查测试工作区、插件声明的数据目录和外部服务,手动删除测试数据并撤销测试凭据。卸载依赖不会自动删除这些数据。
常见问题
安装成功但页面或命令没有出现
先运行 --dump-config 确认 Bundle 已进入 web Profile,再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。
插件运行后没有得到预期结果
把问题缩小到本页的最小验证任务,检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文,并核对当前安装目标是否仍对应本页固定提交。
作者固定资料中未识别到独立故障章节。遇到插件特有错误时,应先停止 DSH、保留日志并回退插件。
固定来源证据
以下资料是本文配置结论的依据:
继续查看:返回 dsh-cost-meter 插件详情页,重新核对兼容性、权限、同类插件和来源状态。
来源与维护信息
本文根据以下原始资料整理。版本变化后,请以官方资料和页面标注的验证日期为准。
- GitHub:Han-1413141/dsh-cost-meter(外部链接,在新标签页打开)
- GitHub:Han-1413141/dsh-cost-meter 固定提交 package.json(外部链接,在新标签页打开)
- GitHub:Han-1413141/dsh-cost-meter 固定提交 index.js(外部链接,在新标签页打开)
- GitHub:Han-1413141/dsh-cost-meter 固定提交 store.js(外部链接,在新标签页打开)
- GitHub:Han-1413141/dsh-cost-meter 固定提交 ledger-persistence.js(外部链接,在新标签页打开)
- GitHub:Han-1413141/dsh-cost-meter 固定提交 README.md(外部链接,在新标签页打开)
- GitHub:Han-1413141/dsh-cost-meter 固定提交 SECURITY.md(外部链接,在新标签页打开)
- GitHub:Han-1413141/dsh-cost-meter 固定提交 README.en.md(外部链接,在新标签页打开)