Free Egg Credits:DSH 侧边栏查看 WorkBuddy / Qoder 积分与消耗

前言

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: 依赖装进 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜