dsh-tide-gauge
TideGauge 潮汐计 — a personal usage & billing gauge for the DeepSeek Harness web surface 适合关注余额与用量的 Web 用户;可配置额外 provider 余额接口。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:DzDenzel/dsh-tide-gaugeREADME
Read the full README ↗使用
- 点击右上角的波浪图标,展开右侧浮层;再次点击或按右上角「×」关闭。主页(未进入会话)时图标浮于右上角,进入会话后位于会话头「Session log」旁。
- 「账户余额」区右上角的「刷新」按钮会立即重新拉取余额;各 provider 余额也会按
refreshMs自动缓存刷新。 - 当配置了多个 provider 时,「账户余额」区顶部会出现以配置名称命名的胶囊按钮,点击即可在 provider 间切换,查看对应 provider 的余额与刷新时间。
配置
编辑 profile 的用户层配置 $DSH_HOME/profiles/ /cordis.patch.yml,为 tide-gauge 行追加 config。内置的 DeepSeek 官方余额规则始终启用,无需配置。
providers — 其它 provider 的余额接口
providers 是一个数组,每个元素描述一个额外 provider 的余额端点:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
provider | string | 是 | — | provider 唯一 id,同时作为缓存键与切换按钮标识 |
label | string | 否 | provider | 面板按钮与余额项展示的友好名称 |
kind | string | 否 | openai-compatible | 余额响应解析方式:deepseek 或 openai-compatible |
balanceUrl | string | 是 | — | 余额查询端点 URL;未配置的 provider 不会出现在面板中 |
currency | string | 否 | "" | 默认币种符号,响应未返回 currency 时兜底 |
apiKeyEnv | string | 否 | DEEPSEEK_API_KEY | 密钥来源:优先 credentials.resolve,其次 process.env |
refreshMs | number | 否 | 300000 | 余额缓存刷新间隔(毫秒) |
pricing — 按模型的价格表
pricing 是一个以 模型 id 为键 的对象,价格为 每百万 token 单价;仅列入此表的模型会参与费用估算。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
label | string | 否 | 费用估算区展示的模型名称 |
provider | string | 否 | 归属 provider(元数据,暂不参与过滤) |
currency | string | 否 | 币种符号 |
inputPer1M | number | 是 | 未缓存输入 token 每百万单价 |
outputPer1M | number | 是 | 输出 token 每百万单价 |
cacheReadPer1M | number | 否 | 缓存读取 token 每百万单价 |
完整示例
- id: tide-gauge
name: dsh-tide-gauge
config:
# ① 其它 provider 的余额接口
providers:
- provider: openrouter
label: OpenRouter
kind: openai-compatible
balanceUrl: https://openrouter.ai/api/v1/credits
currency: USD
apiKeyEnv: OPENROUTER_API_KEY
refreshMs: 600000
# ② 按模型价格(每百万 token 单价)
pricing:
deepseek-v4-flash:
label: DeepSeek-V4-Flash
currency: CNY
inputPer1M: 1.0
outputPer1M: 2.0
cacheReadPer1M: 0.1
gpt-4o-mini:
label: GPT-4o mini
currency: USD
inputPer1M: 0.15
outputPer1M: 0.60