前言¶
在 DeepSeek Harness(DSH)里用 WorkBuddy / CodeBuddy 账号时,积分余额、各套餐到期时间和免费模型倍率,往往要单独去桌面端或计费页面查。DSH 自带的积分展示有时不稳定、区域过小,也缺少按包到期的明细。更麻烦的是,积分查询每次都会真实调用上游计费接口(实测约 200–500 ms),频繁查询既慢又消耗你想监控的那部分额度;若用定时轮询,会持续占用配额。
下面介绍社区插件 dsh-workbuddy-credits(维护者 fancylear):在 DSH Web 侧栏常驻「WorkBuddy 积分」面板,把读取放在宿主侧缓存里,只有手动点「刷新」才打上游,适合日常盯余额和到期分布。
这是什么¶
dsh-workbuddy-credits 是 DSH 的客户端(Web 侧栏)插件,分类为客户端。它展示 WorkBuddy / CodeBuddy 账号的合计余额、7 天内过期汇总、免费模型数量、套餐数,以及按到期时间排列的积分包列表和模型倍率,支持国内版(workbuddy.cn)与国际版(WorkBuddy AI)分段切换。
插件不自己做登录与计费协议:积分归属 WorkBuddy 桌面端账号,需先安装并登录 dsh-workbuddy-connect,本插件复用其登录态与状态路由。当前 npm 包版本为 1.1.0,许可证 MIT。
核心功能¶
侧栏面板¶
安装并满足前置条件后,侧栏会出现「WorkBuddy 积分」入口。面板顶部可切换国内版与国际版(两套账号与积分互不相通),并提供「刷新」按钮与最近更新时间。
汇总区展示:合计余额、7 天内过期积分、免费模型数、套餐数;若有即将过期积分,会给出警告行(含最早到期时间)。下方表格列出各包的到期时间、剩余、总量、剩余时长与套餐名称。
宿主侧缓存与刷新策略¶
设计目标是减少对上游客费接口的调用:
| 实测 | |
|---|---|
| 冷读(真实上游) | ~210–370 ms |
| 热读(缓存) | 2–3 ms |
| 自动轮询 | 没有 |
打开面板、切换会话、重开页面时只读内存缓存;按下「刷新」或带 refresh=1 的请求才会真实查询上游。缓存采用 stale-while-revalidate:过期时先返回旧数据,后台再刷新。刷新失败时保留上一次成功数据并标注原因;未登录或令牌过期作为数据状态展示,而不是把面板清空。未登录状态不会进入缓存,避免登录后被旧缓存挡住。
同一时刻的多个刷新请求会合并为一次上游调用。默认缓存时长 60 秒,可在配置中调整(见下文);无论缓存多长,手动刷新都会绕开缓存。
HTTP 状态接口¶
除 GUI 外,宿主侧提供只读 GET 路由,便于脚本查询(默认监听示例端口 19387,以你本机 DSH 为准):
# 缓存读取
curl 'http://127.0.0.1:19387/plugins/dsh-workbuddy-credits/status'
# 强制真实读取上游
curl 'http://127.0.0.1:19387/plugins/dsh-workbuddy-credits/status?refresh=1'
# 国际版
curl 'http://127.0.0.1:19387/plugins/dsh-workbuddy-credits/status?provider=workbuddy-ai'
常用响应字段包括:state(ready / signed-out / unavailable)、total、accounts[](按到期升序)、expiry.within{24h,3d,7d}、models[]、freeModels[],以及 cached / stale / ageMs、refreshError 等。路由仅接受 GET,并要求 Host 与 Origin 为回环地址,用于防护 DNS rebinding;不写任何账号状态。
安装与启用¶
前置条件:已安装并登录 dsh-workbuddy-connect。
官方安装命令:
dsh plugin add dsh-workbuddy-credits
安装后侧栏即可使用「WorkBuddy 积分」面板。插件以当前 DSH 进程权限运行,安装前建议在 GitHub 仓库阅读源码与 MIT 许可证,确认符合你的环境策略。
配置¶
在 profile 的 cordis.patch.yml 中可调整缓存时长:
- id: workbuddy-credits
name: dsh-workbuddy-credits
config:
cacheTtlMs: 60000 # 默认 60 秒,上限 3600000(1 小时)
调大更省上游查询、数据更旧;调小更实时。手动刷新不受此 TTL 限制。
典型用法¶
- 完成
dsh-workbuddy-connect登录后,安装本插件,从侧栏打开「WorkBuddy 积分」。 - 若同时使用国内版与国际版账号,用面板顶部分段按钮切换视图。
- 需要最新数字时点击「刷新」;日常浏览可依赖缓存,避免每次打开都消耗计费查询。
- 自动化监控可将
curl指向/plugins/dsh-workbuddy-credits/status,需要强一致时用?refresh=1。
数据流概览:面板 client.js → 本插件 index.js(缓存与投影)→ dsh-workbuddy-connect 的 /status → WorkBuddy 上游计费接口。
适用场景与注意¶
适合:在 DSH 里长期开发、希望一眼看到积分余额与各包到期、又不想频繁打上游接口的 WorkBuddy / CodeBuddy 用户。
限制与注意(来自仓库说明):
- 只读:不支持充值、扣减或任何账号写操作。
- 依赖 dsh-workbuddy-connect;未装或未登录时面板会提示未登录。
- 倍率与价格关系由上游决定,面板数值仅供参考。
- 企业账号走周期重置额度,没有普通积分包的到期语义。
- 缓存为进程内;重启 DSH 后首次打开面板会真实读一次上游。
DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区收录,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-workbuddy-credits 把 WorkBuddy 积分查询固化成 DSH Web 侧栏:汇总、到期明细、免费模型与倍率一览,配合宿主缓存与手动刷新,在可读性与上游调用次数之间做了明确取舍。