中文EN

dsh-wtq-pool

model装不上npmMIT

把本机 WorkBuddy、Trae、Qoder 的桌面登录接进 DeepSeek Harness,每家一个 OpenAI 兼容的本地端点,带账号池、限流自动换号与设置面板。

下载量 / Downloads
2,307
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-wtq-pool

沙箱测试结果

阶段结果
1 安装✗
2 列装—
3 挂载—
4 启动—
第一条错误
dsh: initialized profile web at /home/node/.dsh/profiles/web

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

<p align="center">

<picture>

<source media="(prefers-color-scheme: dark)" srcset="https://github.com/chengzhi-c/dsh-wtq-pool/raw/main/docs/logo-dark.png">

<source media="(prefers-color-scheme: light)" srcset="https://github.com/chengzhi-c/dsh-wtq-pool/raw/main/docs/logo.png">

<img src="https://github.com/chengzhi-c/dsh-wtq-pool/raw/main/docs/logo.png" width="240" alt="WTQ Pool">

</picture>

</p>

<h1 align="center">WTQ Pool</h1>

<p align="center"><sub>DeepSeek Harness 版 · <a href="https://github.com/chengzhi-c/pi-desktop-wtq-pool">PI-Desktop 版</a></sub></p>

<p align="center"><b>把本机已登录的 WorkBuddy、Trae、Qoder 账号接入 DeepSeek Harness,限流或额度用尽时自动换号。</b></p>

<p align="center">

<a href="README.en.md">English</a> | <b>简体中文</b>

</p>

<p align="center">

<a href="#安装">安装</a> ·

<a href="#使用">使用</a> ·

<a href="#功能">功能</a> ·

<a href="#设置">设置</a> ·

<a href="CHANGELOG.md">更新日志</a> ·

<a href="https://github.com/chengzhi-c/dsh-wtq-pool/issues">问题反馈</a>

</p>

<p align="center">

<a href="https://www.npmjs.com/package/dsh-wtq-pool"><img src="https://img.shields.io/npm/v/dsh-wtq-pool?style=flat-square&amp;label=npm&amp;color=cb3837" alt="npm version"></a>

<a href="https://www.npmjs.com/package/dsh-wtq-pool"><img src="https://img.shields.io/npm/d18m/dsh-wtq-pool?style=flat-square&amp;label=downloads&amp;color=cb3837" alt="npm downloads"></a>

<a href="LICENSE"><img src="https://img.shields.io/github/license/chengzhi-c/dsh-wtq-pool?style=flat-square" alt="MIT license"></a>

<a href="https://github.com/chengzhi-c/dsh-wtq-pool/releases"><img src="https://img.shields.io/github/v/release/chengzhi-c/dsh-wtq-pool?style=flat-square&amp;label=release" alt="release"></a>

<a href="https://github.com/chengzhi-c/dsh-wtq-pool/stargazers"><img src="https://img.shields.io/github/stars/chengzhi-c/dsh-wtq-pool?style=flat-square" alt="GitHub stars"></a>

</p>

使用非官方客户端可能触发厂商的账号风控或限制。请评估相关风险,并遵守对应服务的使用条款。

把本机 WorkBuddy、Trae、Qoder 的桌面登录接入 DeepSeek Harness。WorkBuddy 在账号被限流或额度用尽时自动换号;Trae、Qoder 按请求选择账号,认证失败、限流或余额耗尽时改用下一个登录重试,模型不在目录里、请求体不是合法 JSON 或缺 model 这类请求自身的问题,网关在本地直接返回 404 或 400,不占用账号。三个来源各自开关,国内与国际账号分别成组。

Trae 的登录失效有时不带错误码、只给一句说明。插件按已知的英文措辞识别这种帧并换号;其余措辞按上游故障返回 502。

限流按上游给出的等待时间冷却,上游未给出时按配置的窗口。额度用尽与登录失效不会自行恢复,账号退出轮换:额度用尽的挂起在余额重新读到后释放,登录失效的挂起在刷新成功、重新登录或手动重置冷却后释放,两者都在六小时后(WorkBuddy 侧)到期。积分、签到状态、模型目录与手动签到这些非流式读取遇到登录失效,会先强制刷新令牌并重试一次:刷新令牌还有效的账号当场恢复,不退出轮换;刷新令牌同样失效的才挂起。Trae、Qoder 的失败挂起另计:只按冷却窗口(默认 60 秒,最长可配到 24 小时)或上游给出的等待时间降权,池中只剩它一个时仍会使用。上游主机不可达时跳过该账号并尝试下一个;连续两个账号都不可达时结束本轮并报告网络错误。上游判定账号套餐不含某模型(11158)时,该账号的这个模型停用 24 小时,其他模型照常服务;全部账号都不含该模型时按 400 返回。

预览

面板界面如下,默认亮色:

面板在载入时读取宿主的 app.getAppearance(),配色与语言随之确定。宿主切换主题后,按卡片上的「重新载入面板」重新取一次:

模型页编辑每个模型的显示与发布参数。Trae 目录给出的默认窗口因模型而异(116k 至 400k);未声明更大档位的模型,按 1M 发布上限。Trae 目录给出费率的模型带 x0.79 形式的费率标签;目录未给出费率的模型以及全部 Qoder 模型均不标注:

成长中心:

在线预览:<https://chengzhi-c.github.io/dsh-wtq-pool/>。

docs/index.html 以虚构演示数据加载实际面板代码,支持来源切换、模型设置与主题预览。

本地预览需先克隆仓库,运行 node docs/serve.cjs,再打开它输出的地址。该页面不能用 file:// 打开,因为浏览器不允许它读取同目录下的面板文件。

功能

  • 复用本机登录:读取三家桌面 App 已保存的登录文件。WorkBuddy 另支持在面板「添加账号」,通过官方登录页授权后将登录保存到插件自管目录。
  • 按 region 注册模型分组:三家厂商各自的 region 各注册为一个 provider,可同时启用;没有账号的 region 不注册。国内模型只走国内账号,国际版模型只走国际账号。
  • 账号分发:WorkBuddy 支持先用一个账号、轮流使用、临期积分优先和同一对话固定一个账号,并在限流或额度用尽时自动换号;Trae、Qoder 支持优先使用、轮流使用与临期积分优先,认证失败、限流或余额耗尽时改用下一个登录重试。
  • 网关以 SSE 返回 chat.completion.chunk;请求体里的 stream 字段不改变响应格式。
  • 积分自动化:自动签到默认关闭。开启后的定时任务与「立即运行」执行同一轮,包含三家签到、WorkBuddy 的连登奖励和猫猫旅行。连登天数由上游按对话推进,该轮在每个账号读取连登档位前先补发一次对话活动上报,因此档位到点即可解锁领取。连登环节还会在昨日漏签且持有补签卡时自动补签以保住连续天数,领取一次性的新手礼包与活动补偿,并在兑换解锁的档位后把由此获得的抽奖次数抽完。这些成长步骤国内版与国际版都执行;猫猫旅行仅用于国内账号。
  • 登录令牌保活:独立卡片,按需执行。桌面端留下的登录快照在扫描时并入插件自己的登录目录,由插件接管续期;桌面端正在使用的登录由桌面端续期。「立即刷新」处理插件自管的副本,按签发时间判断:签发满 6 小时的刷新,距到期不足 5 分钟的同样刷新。刷新结果写回插件自己的登录文件,登录被上游拒绝时当天即可发现。同一账号在多处留有登录时按签发时间取最新的一份。停用账号、已停用的 region 与登录已被上游拒绝的账号不参与。
  • 输入框积分:开启 showComposerPoints 后,输入框工具栏显示当前模型所用账号的余额,点开可换号。功能关闭后浮层隐藏,读数降为每 5 分钟一次,重新开启后无需切换模型即可恢复。
  • 面板:账号与池状态、模型勾选、连接检查、成长中心都在插件页的「账号池」卡片内。模型目录在启动时加载,缓存过期后按需刷新,空闲时不轮询。停用的账号与登录已被上游拒绝的账号不参与探测。
  • 连接检查:每条发现都带判定。网关没有监听、模型目录读取失败、发布的地址与实际绑定的不一致、provider 未被宿主接受,都算失败并给出需要修改的内容。网关启动失败时给出原因,面板按地址漂移提示重新加载插件。检查自身出错也记一条发现,报告照常给出其余结果。

安装

本地包:在源码目录依次执行:

pnpm install
pnpm run build
New-Item -ItemType Directory -Force dist | Out-Null
npm pack --pack-destination dist

再安装生成的 .tgz:

$package = (Get-ChildItem .\dist\*.tgz | Sort-Object LastWriteTime | Select-Object -Last 1).FullName
dsh plugin --profile desktop add $package

需要 DeepSeek Harness 0.2.0 与 0.2.2 两条预发布线(package.json 的 engines.dsh:>=0.2.0-rc.1 <0.2.1-0 || >=0.2.2-rc.1 <0.2.3-0)与 Node ^22.19.0 || >=24.0.0。

从 1.1.x 升级到 1.2.0 后,模型提供商 ID 改为 wtqpool-*,请在模型选择里重新选一次。

请将 desktop 替换为实际使用的 profile 名。若 dsh 不在 PATH 中,改用安装目录中的 CLI。也可按 npm 包名 dsh-wtq-pool 或仓库地址安装;按仓库地址安装时 pnpm 会通过 prepare 脚本从源码构建,需要在 profile 的 pnpm-workspace.yaml 中写入 allowBuilds: dsh-wtq-pool: true,并固定在某个 commit 上。

面板位置:在侧边栏进入 插件,打开 dsh-wtq-pool 卡片(或其旁的 配置),完整面板嵌在该卡片内。模型分组未出现时,按面板顶部的提示重新加载插件。

使用

在各家桌面 App 中登录,再点面板的「重新检测账号」。WorkBuddy 支持读取多个已保存的登录,需要多个账号就在 App 里逐个登录;5.6 起的 $wbEncrypted 登录由插件向本机已安装的 WorkBuddy 索取密钥后读取。Trae 国内版有 Trae CN 与 TRAE SOLO CN 两个登录位;Qoder 每个安装只保存一个登录,在 App 里重新登录会覆盖前一个。WorkBuddy 国际版只有一个登录文件,切换账号会直接覆盖上一个。插件在扫描时为被覆盖的登录留档,该账号照常参与分发,直到它的令牌到期;在 App 里重新登录即可续期。

没有桌面 App 也可以添加账号:面板 WorkBuddy 标题栏的「添加账号」在新标签页中打开官方登录页,登录完成后该账号即加入账号池。凭证写在插件自管目录的 signins/ 下,与桌面登录同等参与分发。这类账号在面板上另有「删除」,按两次确认;删除范围见「数据」一节。桌面端正在登录的账号不给删除,那份会话属于桌面端。添加的账号属于当前选中的 region,国内版登国内号,国际版登国际号。

迁移其他工具留下的账号,直接向该目录写入文件即可:signins/ 本身就是导入导出格式,放入一份以 .info 结尾的 `{auth, account}

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:12,最后更新 2026-11-06

链接

GitHub · Homepage · npm

同类插件