前言¶
在 DeepSeek Harness(DSH)里跑智能体时,Ollama Cloud、ChatGPT Codex 订阅和 DeepSeek API 往往各自有独立的额度或余额界面。Ollama 账户改为信用模型后,旧版基于 GET https://ollama.com/api/usage 里 limits.session / limits.weekly 的读法会报错(例如 Could not parse the response · no limits object),剩余额度应改读 GET https://ollama.com/api/balance。若还要对照 Codex 订阅窗口和 DeepSeek 余额及峰谷计价,需要在多个页面之间切换。
下面介绍社区插件 dsh-ollama-quota(维护者 okku000,分类:客户端)。它在 DSH Web 客户端注册侧边栏底部一行「额度坞」,并附带 Ollama 相关的 Settings 区块,用同一套界面汇总上述来源的数据;API Key 可在页面内通过 DSH Remote 的凭据接口编辑,无需单独改配置文件才能先看余额。
这是什么¶
dsh-ollama-quota 是 DeepSeek Harness 插件(package 名 dsh-ollama-quota,当前 README 对应版本 0.3.0,MIT 许可证)。一句话定位:在侧边栏底部占一个 sidebar.footer.action 单元格,折叠时一行展示 Ollama Cloud 信用、Codex 订阅额度占用、DeepSeek API 余额(含峰谷状态点);展开后为各提供商独立卡片。Settings 里另有 Ollama 完整规则说明、用量报告和 API Key 编辑器。
三个卡片在数据上彼此独立,某一提供商失败不会拖垮其余项;Codex 额度复用 dsh-codex-subscription 插件发布的 dsh-codex-subscription 通道,不接触 ChatGPT OAuth,耦合仅限于通道名与 payload 形状(README 注明对照 dsh-codex-subscription 2.5.9 验证)。
核心功能¶
数据来源¶
插件 Host 侧拉取或转发以下接口(密钥不会进入 snapshot,只记录凭据引用顺序):
| 提供商 | 端点 | 用途 |
|---|---|---|
| Ollama Cloud | GET https://ollama.com/api/balance |
主数据:included.balance_usd、included.allowance_usd、included.period、purchased.balance_usd |
| Ollama Cloud | GET https://ollama.com/api/usage?range=24h\|7d\|30d |
参考:totals(费用、请求、token)与按日 buckets |
| DeepSeek | GET https://api.deepseek.com/user/balance |
is_available 与各币种的 granted_balance / topped_up_balance |
| Codex | POST /api/codex-subscription/usage |
经 Connection 调用订阅插件自有额度通道 |
Ollama 请求使用 Authorization: Bearer <Ollama Cloud key>;DeepSeek 使用 DEEPSEEK_API_KEY 同类 Bearer。用量报告失败时不会隐藏正常余额,只在用量卡片内显示 inline 说明;用量按较慢的 usageRefreshMs 单独刷新。
Host 暴露:
GET /ollama-quota/snapshot— Ollama 卡片快照GET /ollama-quota/deepseek— DeepSeek 卡片快照
均可加 ?force=1 强制先刷新再返回。
Ollama Settings 卡片展示项¶
| 行 | 来源 |
|---|---|
| 剩余包含额度 | included.balance_usd / included.allowance_usd |
| 已用比例条 | (allowance - balance) / allowance |
| 购买额度 | purchased.balance_usd |
| 额度周期 | included.period.from → included.period.until |
| 费用、请求、输入/缓存/输出 token | usage.totals,窗口由 usageRange 决定 |
| 按日费用条 | usage.buckets[].usage_usd(最多 31 个 bucket) |
| 峰谷状态与倒计时 | 浏览器时钟计算:工作日 UTC 12:00–18:00 为 peak,其余为 off-peak |
| 密钥来源 | 实际解析到的凭据引用 |
| API Key 编辑器 | remote.credentials.describe(refs) / set(ref, value) / unset(ref) |
按模型的请求次数不再展示(端点已不返回)。Settings 区块还包含完整规则文案、本地 peak 窗口、当前本地时间以及双向倒计时。
侧边栏一行额度坞¶
折叠时:一行对齐各提供商 — 品牌色标记、可选峰谷点(绿点 = off-peak,红点 = peak)、各一个数字;无 phase 文字。56px 高度的折叠轨保留额度与紧凑 H:MM 倒计时。
| 块 | 折叠时 | 悬停 title |
|---|---|---|
| Ollama | 剩余包含额度 + 相位点 | 剩余、相位、到下一边界的倒计时 |
| Codex | 各订阅窗口中最高的已用占比 | 提供商名 |
| DeepSeek | 总余额 + 相位点 | 提供商名与相位 |
点击同一行就地展开为完整卡片(Ollama:剩余额度、30 天花费、相位倒计时、按浏览器本地时钟的 24h 条带;Codex:各窗口计量与重置;DeepSeek:充值 vs 赠送、峰谷与条带),再点一次折叠。标记为内联字母着色,无图片资源。
Ollama 峰谷规则:工作日 UTC 12:00–18:00 之外及周末全天为 off-peak;DeepSeek 峰谷可在 deepseek.offPeak 中配置(修改后需 Host 重载才生效)。
安装与启用¶
在 DSH Web profile 下执行 README 给出的安装命令:
dsh plugin --profile web add git+https://github.com/okku000/dsh-ollama-quota.git
本地开发时可链接目录以便热更新:
dsh plugin --profile web add link:/path/to/dsh-ollama-quota
修改 Host 后需重启 DSH 应用;Client 半部分需刷新页面。插件要求 Node >= 22.19.0。
配置¶
可选字段写在 cordis.patch.yml:
| 字段 | 默认 | 含义 |
|---|---|---|
keyEnvs |
[OLLAMA_CLOUD_API_KEY, OLLAMA_API_KEY] |
按序尝试的凭据引用;编辑器写入第一个 |
apiBase |
https://ollama.com |
Ollama API 根地址 |
usageRange |
30d |
用量窗口:24h、7d、30d |
refreshMs |
60000 |
余额刷新间隔,最小 5000 |
usageRefreshMs |
300000 |
用量报告间隔,最小 60000;?force=1 或换新 key 会立即重读 |
timeoutMs |
15000 |
单次请求超时 |
deepseek.keyEnvs |
[DEEPSEEK_API_KEY] |
DeepSeek 凭据引用顺序 |
deepseek.apiBase |
https://api.deepseek.com |
DeepSeek API 根地址 |
deepseek.refreshMs |
60000 |
DeepSeek 余额缓存时长(15000–3600000) |
deepseek.timeoutMs |
15000 |
DeepSeek 请求超时 |
deepseek.offPeak |
内置 schedule | enabled、discountPercent、holidayTimeZone、peakWindows、holidays;enabled: false 时隐藏相位行,余额仍显示 |
Ollama Cloud 密钥通常通过环境变量或 $DSH_HOME/.credentials.yaml 供 DSH Remote 解析;具体以你当前的 DSH 凭据约定为准。
典型用法与校验¶
- 安装插件并刷新 Web 客户端,在侧边栏底部查看折叠行是否出现各提供商数字与峰谷点。
- 点击展开,核对 Ollama 剩余包含额度、购买额度与用量条带是否符合 Ollama 控制台。
- 若已安装 dsh-codex-subscription,Codex 卡片应显示与该插件一致的订阅窗口占用。
- 在 Settings 中 Ollama 区块使用 API Key 编辑器:
describe查看引用,set/unset更新密钥(经 DSH Remote,不在 snapshot 中回传明文)。 - 仓库内可用校验脚本(离线模拟或打真实 API):
node scripts/verify.mjs # 离线:模拟 Host 与浏览器运行时
node scripts/verify.mjs --live # 使用 $DSH_HOME/.credentials.yaml 中的 OLLAMA_CLOUD_API_KEY、DEEPSEEK_API_KEY 请求真实端点
npm test / npm run verify 指向同一离线脚本;npm run verify:live 对应 --live。
适用场景与注意¶
适合:长期在 DSH Web 客户端使用 Ollama Cloud 信用模型,并希望在同一界面顺带扫一眼 Codex 订阅与 DeepSeek API 余额及峰谷计价的开发者。
注意:
- 插件以当前 dsh 进程权限 运行,安装前请自行审阅 GitHub 源码 与 MIT 许可证;社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。
- Codex 额度依赖 dsh-codex-subscription 的通道;未安装该插件时 Codex 卡片行为以实际运行结果为准。
- DeepSeek 的
deepseek.offPeak变更属于 Host 代码路径,须 Host 重载后浏览器才用到新 schedule。 - 仅 Ollama 用量接口失败时,余额仍应正常;勿再依赖旧版
usage响应里的limits对象。
链接¶
- 社区目录:https://www.skillhub.cn/plugins/okku000/dsh-ollama-quota
- 源码与 README:https://github.com/okku000/dsh-ollama-quota
经过上面的步骤,你可以在 DSH 侧边栏用一行掌握多提供商额度,并在 Settings 内完成 Ollama 用量查看与 API Key 维护,避免旧版 Ollama 用量解析错误带来的误导。