前言¶
DSH(DeepSeek Harness)使用本地反代网关(如 WorkBuddy、Qoder)调用免费或低价积分时,通常需要打开多个面板查看余额、今日额度、签到状态和每轮消耗。切换平台或检查限额时容易遗漏。Free Egg Credits 把这些信息汇总到 DSH 界面:侧边栏、输入框下方、每轮对话末尾和设置页都有落点,并支持一键切换优先消耗平台。
插件定位¶
Free Egg Credits 是一个 DSH Web 界面插件,由 Yhx888 维护,分类为客户端插件。它不提供账号或积分,只读取本地网关(WorkBuddy / Qoder / new-api)的接口数据,展示可用积分、每日预算、签到状态与每轮消耗,并支持基于 new-api 的渠道优先级切换。
核心功能¶
1. 侧边栏账号积分与状态¶
- 在侧边栏底部(账户行上方)显示账号积分区块。每行为「状态点 · 账号名 · 来源徽标(WB/Qoder) · 今日消耗 · 余额」。
- 状态点表达签到:绿色 = 今日已签到;黄色 = 今日尚未签到 / 奖励待领取。
- 限流、降权、连败以徽标显示恢复时间。
- 侧边栏收起时不占位。
- 标题行右侧有「消耗优先级」chip(如
WB 优先),点击可切换优先消耗平台,无需进入设置页。 - 选中逻辑按前台会话固定:每会话首轮回复后固定承载账号,切换会话只切换高亮行。
- 正在消耗的账号行有灰色底框(选中态)。
- 每行有「今日消耗」小框:WorkBuddy 按余额差值累计;Qoder 按用量台账精确累加(
billable=false的免费调用不扣积分)。 - 网关启用每日积分预算时,小框显示「已用/上限」(如
118/100),满额时用宿主警示色标出,悬停显示「今日已满额,已停用,明日 0 点恢复」。 - 全部账号满额时,区块底部显示「今日额度已用完」提示。
2. 输入框下方会话消耗¶
- 当前对话累计消耗显示为
Free Egg · 本会话 ≈N 积分。 - 仅当对话使用 free-egg provider(默认
free-egg/workbuddy/qoder/new-api)时显示,其他 provider 不显示。 - 首轮回复前显示
≈0,模型暂时无单价时提示「等待单价」。
3. 每轮对话末尾消耗¶
- 每条对话末尾显示该轮折算消耗:
本轮 ≈N 积分,悬停可查看 token 与模型。
4. 设置页详情¶
在 DSH 设置 → Free Egg 积分中可查看:
- 账号卡:名称、来源徽标、余额、签到状态、已用占比、今日已用 ≈X / 上限(剩余 ≈Y)、立即签到。
- 积分优先消耗:WorkBuddy / Qoder 互斥按钮,或侧边栏 chip 切换。
- 限流与降权明细。
- 折算单价。
- 最近对话与逐轮明细。
- 全部账号满额时,页面顶部提示「今日额度已用完:DeepSeek 已自动降级到 Qwen3.8-Flash(免费)」。
5. 每日积分预算(网关层)¶
- 每日预算与选号由网关强制,插件只负责读字段展示,不参与限流或换号。
- WorkBuddy:在
workbuddy2api的config.json→pool中设置daily_credit_limit(0= 关闭)和prefer_credits = true。 - Qoder:在
qoder2api-hub面板「设置 → 每日积分限额」中按域设置daily_credit_limit(如cn)。 - 账号当天消耗达到上限后,网关不再分发新请求给该账号;同一网关内优先使用余额最高的账号。
- 四个账号(WorkBuddy 2 + Qoder 2)都满额时,new-api 的
qwen-fallback渠道自动降级到 Qwen3.8-Flash(免费)。
6. 积分优先消耗(平台级)¶
- DeepSeek 请求由本机 new-api(默认
http://127.0.0.1:3001)在 WorkBuddy 与 Qoder 两个渠道间选路。 - 插件提供可切换选项:设置页「积分优先消耗」互斥按钮,或侧边栏 chip(
WB 优先/Qoder 优先)。 - 点击即改 new-api 两个渠道的优先级(默认 WorkBuddy 渠道 id 13、Qoder 渠道 id 12)。
- 不配置
newApi时,整块 UI 隐藏,其余行为不变。
7. 积分折算规则¶
- 积分为折算值,界面统一带
≈标记。 - WorkBuddy:优先按
input / cache / output分类型实测单价折算(缓存命中单独计价),无分类型单价的模型回落到账号model_costs台账。 - Qoder:用面板
/usage台账(真实credit ÷ total_tokens)。 - 未实测的模型按各网关的模型目录倍率折算。
- 可通过
config.creditsPer1k覆盖混合单价(模型名 → 积分/千 token),优先级最高。
安装与启用¶
一键安装¶
dsh plugin --profile web add github:Yhx888/dsh-free-egg-credits
安装后按「配置」一节填写网关地址与密钥文件路径,再重启 DSH。
手动 link(桌面端 / 本地开发)¶
插件通过 link: 依赖装进 DSH profile,不进 node_modules 拷贝:
// ~/.dsh/profiles/<profile>/package.json
"dependencies": {
"dsh-free-egg-credits": "link:/absolute/path/to/dsh-free-egg-credits"
},
"dsh": { "profile": { "bundles": [ "...", "dsh-free-egg-credits" ] } }
PowerShell 创建 junction:
New-Item -ItemType Junction `
-Path "$env:USERPROFILE\.dsh\profiles\<profile>\node_modules\dsh-free-egg-credits" `
-Target "C:\absolute\path\to\dsh-free-egg-credits"
改完 Host 半(index.js)需重启 DSH;只改 Client 半(client.js)刷新页面即可。
配置¶
配置写在目标 profile 的 cordis.patch.yml(插件 id:free-egg-credits):
- id: free-egg-credits
config:
gatewayBaseUrl: 'http://127.0.0.1:7863'
gatewayConfigPath: 'C:/path/to/workbuddy2api/config.json'
realms: [cn]
autoCheckin: true
checkinAfterHour: 8
checkinRetryMinutes: 10
refreshSeconds: 30
creditsPer1k: {}
freeEggProviders: [free-egg, workbuddy, qoder, new-api]
catalogBaseCreditsPer1k: 0
qoder:
baseUrl: 'http://127.0.0.1:8790'
panelPasswordFile: 'C:/path/to/qoder2api/.panel-password'
newApi:
baseUrl: 'http://127.0.0.1:3001'
userId: 1
accessTokenFile: 'C:/path/to/new-api-access-token'
channels:
workbuddy: 13
qoder: 12
priorities:
preferred: 10
fallback: 5
关键配置字段¶
| 字段 | 默认值 | 说明 |
|---|---|---|
gatewayBaseUrl |
http://127.0.0.1:7863 |
WorkBuddy 网关地址 |
gatewayConfigPath |
包目录上两级 config.json |
从网关配置读取 api_key;独立目录安装时必须显式指向 config.json |
apiKey |
空 | 直接给密钥(优先于配置文件) |
realms |
[cn] |
统计哪些域;国内账号即 cn |
autoCheckin |
true |
是否自动补签 / 探测签到状态 |
checkinAfterHour |
8 |
几点后才自动探测(避免凌晨误触发) |
checkinRetryMinutes |
10 |
失败重试间隔 |
refreshSeconds |
30 |
网关快照缓存 |
creditsPer1k |
{} |
混合单价覆盖(模型名 → 积分/千 token),优先级最高 |
freeEggProviders |
['free-egg','workbuddy','qoder','new-api'] |
视为「free-egg 模型」的 provider,这些 provider 的对话底栏常显积分预估且只计积分 |
catalogBaseCreditsPer1k |
0 |
目录倍率折算的兜底基线(积分/千 token/倍率单位);0 = 只用网关实测台账自动校准 |
qoder |
无 | Qoder 网关子配置:baseUrl、panelPasswordFile、panelPassword、enabled;不配置则不启用 Qoder 来源 |
newApi |
无 | new-api 管理接口子配置(积分优先消耗切换用):baseUrl、userId、accessToken / accessTokenFile、channels.workbuddy / channels.qoder、priorities.preferred / priorities.fallback;不配置则功能隐藏 |
外部依赖¶
插件本身零运行时依赖,但需要以下外部网关(可选,缺省则对应来源不显示):
- WorkBuddy2API 网关(
workbuddy2api):提供 WorkBuddy / CodeBuddy 账号积分与签到。相关配置:gatewayBaseUrl、gatewayConfigPath。 - Qoder 反代网关(
qoder2api-hub):提供 Qoder 账号积分与签到调度。相关配置:qoder.baseUrl、qoder.panelPasswordFile。 - New API(
new-api,默认端口:3001):用于「积分优先消耗」切换(改渠道优先级)。相关配置:newApi.*。
插件只读这些网关的 HTTP 接口,不提供账号、积分或网关本身。
适用场景与注意¶
- 适合已在本机运行 WorkBuddy2API / qoder2api-hub(可选 new-api)的用户。插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
- 插件不提供账号、积分或网关,没有网关时不会显示数据。
- 积分为折算值,WorkBuddy 按
input / cache / output分类型实测单价折算,Qoder 用面板/usage台账。 - 每日预算与选号由网关强制,插件只负责读字段展示。
结语¶
Free Egg Credits 把本地反代网关的积分信息汇总到 DSH 界面,减少多面板切换,提供实时消耗与优先级切换能力。适合需要精细管理 WorkBuddy / Qoder 积分与今日额度的 DSH 用户。
- 插件目录页:https://www.skillhub.cn/plugins/Yhx888/dsh-free-egg-credits
- GitHub 仓库:https://github.com/Yhx888/dsh-free-egg-credits