🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

用量面板 SssongZN/dsh-usage

DeepSeek Harness
SssongZN75 天前有提交已提供中文文档扫描:含敏感能力

在侧边栏查看余额、token 用量与估算费用

25.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/12 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SssongZN/dsh-usage
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · browser
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 75 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/12) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 22 处,展示前 22 条)
  • 读取密钥环境变量
    lib/index.js:65
    const env = process.env.DEEPSEEK_API_KEY;
  • 发起网络请求
    client/client.js:171
    fetch('/dsh-usage/balance', { cache: 'no-store' }).then((r) => r.json()),
  • 发起网络请求
    client/client.js:172
    fetch(`/dsh-usage/usage${params}`, { cache: 'no-store' }).then((r) => r.json()),
  • 发起网络请求
    client/client.js:173
    fetch('/dsh-usage/config', { cache: 'no-store' }).then((r) => r.json()),
  • 发起网络请求
    client/client.js:203
    const fresh = (await fetch('/dsh-usage/refresh', {
  • 发起网络请求
    client/client.js:224
    const result = (await fetch('/dsh-usage/config', {
  • 发起网络请求
    lib/balance.js:11
    const response = await fetch(BALANCE_URL, {
  • 读取本地文件
    lib/ledger.js:74
    const raw = readFileSync(ledgerPath(), 'utf8');
  • 写入本地文件
    lib/ledger.js:91
    mkdirSync(ledgerDir(), { recursive: true });
  • 写入本地文件
    lib/ledger.js:92
    writeFileSync(ledgerPath(), JSON.stringify(state, null, 2), 'utf8');
  • 读取本地文件
    build.mjs:50
    const code = readFileSync(entry, 'utf8')
  • 写入本地文件
    build.mjs:52
    writeFileSync(entry, wrapped, 'utf8')
  • 读取本地文件
    smoke-client.mjs:5
    const code = readFileSync('./client/client.js', 'utf8')
  • 删除本地文件递归
    smoke-host.mjs:6
    rmSync(testHome, { recursive: true, force: true })
  • 读取本地文件
    smoke-host.mjs:85
    return JSON.parse(readFileSync(resolve('test-home/storages/dsh-usage/ledger.json'), 'utf8'))
  • 删除本地文件递归
    smoke-host.mjs:125
    rmSync(testHome, { recursive: true, force: true })
  • 删除本地文件递归
    smoke-host.mjs:181
    rmSync(testHome, { recursive: true, force: true })
  • 发起网络请求
    src/balance.ts:28
    const response = await fetch(BALANCE_URL, {
  • 读取密钥环境变量
    src/index.ts:148
    const env = process.env.DEEPSEEK_API_KEY
  • 读取本地文件
    src/ledger.ts:101
    const raw = readFileSync(ledgerPath(), 'utf8')
  • 写入本地文件
    src/ledger.ts:118
    mkdirSync(ledgerDir(), { recursive: true })
  • 写入本地文件
    src/ledger.ts:119
    writeFileSync(ledgerPath(), JSON.stringify(state, null, 2), 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 侧边栏查看余额
  • 统计token用量
  • 估算费用

README

由 DeepSeek 最新模型翻译生成
dsh-usage — DeepSeek 用量面板 在 DeepSeek Harness 的 Web 界面(侧边栏底部)查看 账户余额、本次会话 / 今日 / 累计 的 token 用量与估算费用。 功能 - 余额:调用 DeepSeek 官方 GET https://api.deepseek.com/user/balance(Bearer 认证),每 60 秒自动刷新,面板内可手动刷新。 - 用量:注册 usageCost 会话投影单元,从会话持久日志折叠每次模型调用的 token 用量(输入 / 缓存命中 / 输出 / 推理),不依赖第三方账单接口。 - 费用估算:内置 DeepSeek 官方定价表(deepseek-chat、deepseek-reasoner 及历史版本;deepseek-v4- 为占位默认值),可按模型在 cordis 配置中覆盖;未收录的模型费用按 0 计并在面板提示。 - 每日台账:用量增量按自然日聚合,持久化到 $DSH_HOME/storages/dsh-usage/ledger.json,重启后「今日」数据仍可用。
展开完整文档(README 剩余 1 节)
dsh-usage — DeepSeek 用量面板

在 DeepSeek Harness 的 Web 界面(侧边栏底部)查看 账户余额、本次会话 / 今日 / 累计 的 token 用量与估算费用。

功能

- 余额:调用 DeepSeek 官方 GET https://api.deepseek.com/user/balance(Bearer 认证),每 60 秒自动刷新,面板内可手动刷新。
- 用量:注册 usageCost 会话投影单元,从会话持久日志折叠每次模型调用的 token 用量(输入 / 缓存命中 / 输出 / 推理),不依赖第三方账单接口。
- 费用估算:内置 DeepSeek 官方定价表(deepseek-chat、deepseek-reasoner 及历史版本;deepseek-v4- 为占位默认值),可按模型在 cordis 配置中覆盖;未收录的模型费用按 0 计并在面板提示。
- 每日台账:用量增量按自然日聚合,持久化到 $DSH_HOME/storages/dsh-usage/ledger.json,重启后「今日」数据仍可用。
- API Key:自动走 DSH 凭据解析链(ctx.credentials 的 DEEPSEEK_API_KEY,与 dsh-llm-deepseek 适配器同一条链);解析失败时可在面板中手动填写(写入 $DSH_HOME/.credentials.yaml)。

安装(web profile)

1. 在插件目录构建(host 用 TypeScript 编译器 API,client 用 tsc + loader 包装)
npm install --ignore-scripts # 仅首次,装 typescript / @types 等 devDeps
node build.mjs

2. 安装进 web profile
dsh plugin --profile web add "dsh-usage@file:C:\...\用量查看插件"

3. 把插件加入 bundle 层(dsh plugin 只装依赖,不写 bundles)编辑 ~/.dsh/profiles/web/package.json,在 dsh.profile.bundles 追加 "dsh-usage"

pnpm 对 file: 依赖会做静态拷贝;若修改了插件源码,需重新执行 dsh plugin --profile web add(或把 node_modules/dsh-usage 换成指向插件目录的 junction)后再重启。

重启 dsh web 后,侧边栏底部出现「📊 用量」入口。

配置(cordis.patch.yml 或插件 config)

- id: dsh-usage
name: 'dsh-usage'
config:
apiKey: sk-xxx # 可选,显式指定(一般不需要,凭据链会先解析) refreshIntervalMs: 60000 # 余额刷新间隔 usdRate: 7.2 # 余额为 USD 时费用换算汇率 prices: # 按模型覆盖定价(元 / 1M token) deepseek-v4-flash: input: 2 cacheRead: 0.5 cacheWrite: 2 output: 8

HTTP 路由(host 提供)

| 方法 | 路径 | 说明 |
| GET | /dsh-usage/balance | 余额(带缓存) |
| POST | /dsh-usage/refresh | 强制刷新余额 |
| GET | /dsh-usage/usage?session=<id> | 本次会话 / 今日 / 累计用量与费用 |
| GET | /dsh-usage/config | API Key 状态、汇率、定价表 |
| POST | /dsh-usage/config | 手动写入 API Key(同源校验) |

开发

node build.mjs # 全量构建(lib + client)
node build.mjs host # 仅 host(src/.ts → lib/*.js)
node build.mjs client # 仅 client(src/client/client.tsx → client/client.js)
node smoke-test.mjs # 投影折叠 + 定价 + 余额路径冒烟
node smoke-host.mjs # host 集成测试(模拟 cordis ctx)
node smoke-client.mjs # 客户端 bundle 契约检查

说明与限制

- 费用为估算:基于官方定价表 × 日志中的 provider usage;不含夜间优惠等动态计价,未知模型按 0 计。
- 台账采用「每会话基线」增量记账:重启不会把历史用量重复计入「今日」,插件启用前已有的历史用量也不会被并入「今日」(启用时对已加载会话回填基线)。
- 惰性基线的一个小代价:某个会话在插件运行期间首次产生计费事件的那一条消息,会被记为基线而不计入「今日」(后续消息正常累计)。
- 本插件为社区插件,非 DeepSeek 官方出品。
预览分享卡片长什么样 ↓SssongZN/dsh-usage
分享 · DeepSeek Harness Hub
SssongZN/dsh-usage

在侧边栏查看余额、token 用量与估算费用

这是你的仓库?认领条目

回到顶部