---
title: "使用 DSH Cost Meter 统计会话成本、预算和余额"
seo_title: "DSH Cost Meter 配置：Token 成本、预算与 Provider 余额"
description: "在 DeepSeek Harness（DSH）中安装 Cost Meter，查看会话与每日 Token 成本、预算、历史和 Provider 余额，并保护 API 凭据。"
canonical: https://52dsh.com/tutorials/han-1413141-dsh-cost-meter-install-config/
authors: ["52DSH 编辑部"]
audience: []
outcomes: []
prerequisites: ["Node.js 与 pnpm","独立 web Profile","可丢弃测试工作区"]
difficulty: advanced
estimated_action_time: null
next_steps: null
published_at: 2026-08-22
updated_at: 2026-10-06
verified_on: 2026-08-22
maintenance_status: community
verification_level: source_reviewed
risk_level: high
dsh_version: 0.1.1-rc.2
plugin_id: han-1413141-dsh-cost-meter
tutorial_kind: plugin_configuration
related_plugin_url: https://52dsh.com/plugins/han-1413141-dsh-cost-meter/
---

# 使用 DSH Cost Meter 统计会话成本、预算和余额

在 DeepSeek Harness（DSH）中安装 Cost Meter，查看会话与每日 Token 成本、预算、历史和 Provider 余额，并保护 API 凭据。

在 DSH 中统计会话与每日 Token 成本、预算和历史，并查询官方余额、自定义 Provider 余额及多家 Coding Plan 订阅额度。

如果你的目标是统计 DSH 会话 Token 成本、预算、历史和 Provider 余额，本教程会说明如何在 DeepSeek Harness（DSH）中准备、安装、配置、验证和回退 dsh-cost-meter。本文锁定作者仓库提交 `239b4c07c24a`；已复核固定提交的原始资料，未进行运行实测。

> 对应插件：[查看 dsh-cost-meter 的功能、权限与兼容性说明](/plugins/han-1413141-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](https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/package.json)、[证据 2](https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/lib/index.js)、[证据 3](https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/lib/store.js)、[证据 4](https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/lib/ledger-persistence.js)。以下安装步骤继续对应 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 默认分发；不代表每个插件已在该版本或新版本运行验证。更新前须逐项审核配置证据。


1. 安装 Node.js 22.19、Node.js 24 或项目当前声明支持的更高版本，并确认 `pnpm` 可用。
2. 使用独立的 `web` Profile 和可丢弃测试工作区，不直接连接生产目录。
3. 备份当前 Profile 配置，并记录安装前的 `--dump-config` 输出。
4. 核对固定来源中的外部服务、账号、运行时和平台限制。
5. 需要凭据时只准备测试凭据；本页识别到的候选变量包括 `OPENCODE_GO_API_KEY`、`NEWAPI_API_KEY`、`MODEL`。

## 安装 dsh-cost-meter

52DSH 使用目录中记录的精确安装目标，避免直接跟随可能变化的默认分支：

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:Han-1413141/dsh-cost-meter#239b4c07c24a
```

GitHub 源码插件如果被 pnpm 拦截构建脚本，先检查终端提示的具体包和脚本。只在 `web` Profile 中放行确实需要的构建项，不要全局放行未知依赖。

作者文档还出现了以下命令。它们用于核对功能或开发流程，不应替换上面的锁定安装命令，也不要一次全部执行：

- `dsh-cost-meter`

## 插件专属配置

固定提交中包含配置或设置章节。下面只保留能够追溯到作者文档的字段和片段。

**本类插件的最小权限设置：**先保留默认主题和布局，只启用一个界面能力；终端、文件写入或浏览器入口应分别确认权限后再打开。

### README 中识别到的变量名

以下只列变量名，不代表每个变量都必需；是否使用以及取值格式以对应固定来源为准。

- `OPENCODE_GO_API_KEY`
- `NEWAPI_API_KEY`
- `MODEL`

### 作者配置片段（README.md）

来源：[固定提交中的 README.md](https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/README.md)。复制前先替换占位符并删除不需要的权限。

```json
{
  "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](https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/README.md)。复制前先替换占位符并删除不需要的权限。

```sh
# 更新:发布新版后用新版 install.ps1 重跑(脚本内固定版本随之更新)
dsh plugin --profile web remove dsh-cost-meter  # 卸载
```


## 配置验证与成功结果

先导出配置，再启动同一版本的 DSH Web：

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
```

1. **确认 Bundle 已加载**

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
   ```

   期望结果：组合配置中出现 `dsh-cost-meter` 或仓库声明的 Bundle 名称。

2. **启动 Web Profile**

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
   ```

   期望结果：DSH Web 正常启动，浏览器控制台和终端没有持续重复的插件加载错误。

3. **执行插件专属最小任务**

   启动 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 移除包：

```bash
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove dsh-cost-meter
```

1. 停止正在运行的 DSH Web。
2. 从同一个 Profile 移除插件：

   ```bash
   npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove dsh-cost-meter
   ```

3. 再次运行 `--dump-config`，确认对应 Bundle 已消失。
4. 检查测试工作区、插件声明的数据目录和外部服务，手动删除测试数据并撤销测试凭据。卸载依赖不会自动删除这些数据。

## 常见问题



### 安装成功但页面或命令没有出现

先运行 `--dump-config` 确认 Bundle 已进入 `web` Profile，再重启 DSH Web 并硬刷新浏览器。不要通过反复扩大权限来解决加载问题。

### 插件运行后没有得到预期结果

把问题缩小到本页的最小验证任务，检查作者文档要求的变量、外部服务和平台限制。保存终端错误原文，并核对当前安装目标是否仍对应本页固定提交。

作者固定资料中未识别到独立故障章节。遇到插件特有错误时，应先停止 DSH、保留日志并回退插件。

## 固定来源证据

以下资料是本文配置结论的依据：

- [README.md](https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/README.md)
- [SECURITY.md](https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/SECURITY.md)
- [README.en.md](https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/README.en.md)

继续查看：[返回 dsh-cost-meter 插件详情页](/plugins/han-1413141-dsh-cost-meter/)，重新核对兼容性、权限、同类插件和来源状态。

## 原始来源

- https://github.com/Han-1413141/dsh-cost-meter
- https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/package.json
- https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/lib/index.js
- https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/lib/store.js
- https://github.com/Han-1413141/dsh-cost-meter/blob/6e79d0861d8b7f1e1f2bec37ce2f6d60937e29f1/lib/ledger-persistence.js
- https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/README.md
- https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/SECURITY.md
- https://github.com/Han-1413141/dsh-cost-meter/blob/239b4c07c24a1685c9bb9f0fd2ccbe3bc275e8bf/README.en.md
