dsh-connect-trae-models
Aggregates all local Trae accounts into one auto-failover model provider, with manual and automated daily check-in, credits and expiry monitoring, and a model selection settings card.
Install
dsh plugin --profile web add dsh-connect-trae-models
Sandbox test results
| Stage | Result |
|---|---|
| 1 install | ✓ |
| 2 list | ✓ |
| 3 mount | ✓ |
| 4 boot | — |
Four stages run in an isolated sandbox: install (network on) → list → mount → boot (last three with no network).
README
DSH Connect Trae Models



多账号 Trae 模型池插件:把本机所有 Trae 登录态聚合成 DeepSeek Harness 里的一个模型供应商,
请求在账号池内自动容错换号,并配套手动/自动签到、模型倍率显示、账号使用方式切换(自动轮转 +
手动钉号)与可选模型配置页面。
装上之后,模型选择器里会出现两个分组:Trae Connect Models(国内版) 和
Trae Connect Models(国际版)(provider id connect-trae-models / connect-trae-models-global)。
亮点
- 多账号自动池化:扫描本机四个 Trae edition × 三个平台的登录快照,自动收进一个共享池;
请求被限流或欠费时在同一个请求内换号重试,429 不会以「对话失败」的形式到达用户。
- 五种派活策略 + 手动钉号:优先 / 轮换 / 均衡 / 粘性(保 prompt 缓存)/ 到期优先;
也可以在积分面板里把某个账号钉死,钉选不关闭自动容错。
- 手动 + 自动签到:卡片逐账号「立即签到」,区分账号级 / 设备级 / 活动未开启四态;
自动签到按北京时区小时表跑(默认关闭),今日收益有账本。
- 模型倍率与上下文如实申报:上游实时名册 + 静态回退;倍率画进模型名;
上下文窗口按上游 dev / Max 档位选择,绝不虚报更大的数。
- 积分包到期提醒:区分 ≤3 天临期、远期、已过期、无截止时间四种状态,不误报。
和单账号连接插件的区别:dsh-connect-trae 是「一次一个账号」。本插件把多账号当默认情况
—— 不挑号、不手动导入,本机 Trae 所有历史登录快照全部收进一个共享池,对外用一个 provider 分组,
池内自动容错。凭据只读,插件从不索要你的密码,也不把 token 落盘。
功能
一、多账号池:自动换号,也手动钉号
池子走自动发现:Trae 桌面端每次登录都会在本机留下一个带令牌的快照,本插件扫描
四个 Trae edition × 三个平台 + CLI home 的候选路径,把每个账号都收进池。所以
多账号 = 在 Trae 客户端里换着登几次,之后点卡片上的「重新检测账号」或重启 DSH,新号就自动进池。
探测的客户端(凭据只读,插件从不索要你的密码):
Edition · macOS / Linux · Windows(取自 product.json 的 win32DirName)
国内 · Trae CN · Trae CN / trae-cn
国际 · Trae · Trae
SOLO 国内 · TRAE SOLO CN · TRAE SOLO CN / trae-solo-cn
SOLO 国际 · TRAE SOLO · TRAE SOLO
另加 CLI 令牌文件($HOME/.trae-cn/trae-jwt-token、$HOME/.trae/trae-jwt-token)作为兜底候选。
账号使用方式(自动) —— 卡片上「账号使用方式」下拉,五种:
方式 · 行为 · 适合
优先(默认) · 一直打同一个号,直到被限流或积分耗尽才换下一个 · 单号额度大、想尽快用完一个
轮换 · 连续请求依次轮过每个号,花费均摊 · 多个号额度差不多,想均匀消耗
均衡 · 随机,按闲置时长加权 · 有一个号不稳定时,不让它把整池拖住
粘性 · 一个对话固定一个账号,新对话才换 · 想保住 prompt 缓存命中率(上游缓存按账号隔离,对话中途换号会整段作废)
到期优先 · 先花快要过期的积分 · 有临期积分包,别让它作废
账号使用方式(手动) —— 对话栏积分面板里点「切换用户」钉住某个账号,或点
「使用自动轮转」取消钉选。钉选只改本机派活顺序,不改上游状态、不写凭据;钉到一个
不在池里的账号会被拒绝(否则请求会一直等一个永远不会被派活的号)。
自动与手动的关系:手动钉号只影响「下一次该谁上」,不关掉自动容错。钉住的号一旦
被限流、欠费或登录失效,shim 会在同一个请求内换号重试,429 不会以「对话失败」的形式
到达用户。
二、签到:手动与自动
手动签到:卡片每个账号行一个「立即签到」按钮,四态区分得很死:
状态 · 按钮 · 含义
可领取 · 可点 · 「可签到领 N 积分」
账号级已领 · 禁用 · 这个账号今天的奖励已到账
设备级已用 · 禁用 · 这台机器用掉了今天的名额(很可能是为别的账号用的)
活动未开启 · 禁用 · 上游当前关闭签到活动
账号级与设备级刻意分开。didCheckedIn(设备级)当成「今天签过了」是一个已发生过的缺陷——
切换账号后按钮变灰,而新账号其实一分未得。
自动签到:卡片「积分自动化」区一个总开关(写进 settings,改完立即生效)+「立即运行」。
默认关闭;开启后按北京时区的小时表跑(默认 9,可改成多个小时)。
- 只自动签到这一件事。其它 Trae 奖励需要客户端里的真实活动,插件不假装能做。
- 不跳过冷却中的账号:签到走独立的
pay/ug端点,不该被对话路由的 429 连坐。只跳过
用户手动禁用和 ai 区域的账号。
- 每日收益有账本:今日赚到多少、逐账号明细、触发过的时段数,都会写进
automationEarnings。
三、模型与倍率
- 模型名册优先取上游网关的实时列表;上游离线时回退内置静态名册,保证 provider
永不为空(国内 4 个 + 国际 7 个模型)。卡片上会标明当前名册是「来自网关」还是「内置回退」。
- 倍率画进模型名:
DeepSeek-V4-Pro · x0.08这种写法,和 Trae 自家选择器一致。
卡片「模型管理」区逐模型显示 x{倍率},multiplier === 0 的显示「免费」。
- 模型管理:逐模型开关「启用」、打开「图像输入」、设「上下文预算」(上限只能是上游
宣告的原生窗口,绝不虚构更大的数)。保存只影响当前区域,另一个标签页各自一份。
- 上下文窗口按上游档位如实申报:Trae 给每个模型宣告两档——dev(通常 200K/256K/272K)
与 Max(通常 1M)。插件不再把窗口钉死在 200K,而是按以下默认策略选档:
无 Max 档 → 用 dev;Max ≤ 500K → 直接用 Max;Max > 500K(如 1M)→ 默认取 500K
(保守默认,想要完整 1M 可在卡片上显式选 Max 档)。卡片会在「上下文预算」输入框给出
dev / 500K(若适用) / Max 三个建议档位,任何比 Max 更宽的预算都会被夹回 Max,
绝不向上游或 DSH 虚报窗口。
- 上下文窗口每个模型都必有值——缺了会让 DSH 以
INVALID_MODEL_CONTEXT拖垮整条路由。
四、积分包到期提醒
三种状态刻意分开,不把「还没看」当成「马上到期」:
情况 · 展示
有包 ≤3 天到期 · 橙色「N 天后到期 · 剩 M 积分」,合计旁另加汇总徽标
有包 3 天以后到期 · 弱色只报到期时间(不告警)
所有包都已过期 · 灰显最近一笔「已于 … 过期」
没有任何带 end_time 的包 · 明说「没有带截止时间的积分包」,绝不误报
安装
前置条件:装好 Trae 客户端并登录(插件复用它存在本机的登录态,从不索要密码)。
多账号 = 在客户端里换着登几次。
方式一:从 npm 安装(推荐)
包已发布在 npm:dsh-connect-trae-models
# dsh 不在 PATH 时,用 node ~/.dsh/profiles/node_modules/@deepseek-ai/dsh/lib/bin.js 代替 dsh dsh plugin --profile desktop add dsh-connect-trae-models
推荐 npm:需要拉取的依赖只有插件自己(1 个包,几秒搞定)。从 GitHub 源码装会连带装
开发依赖(构建器、测试框架等几百个包),慢得多。
方式二:从本地源码安装(开发者)
dsh plugin --profile desktop add /absolute/path/to/dsh-connect-trae-models
本地路径必须是绝对路径(宿主会拒绝相对路径);file:与link:前缀都等价于绝对路径。
这种装法是软链到工作目录,改完 pnpm build 再重启 DSH 就生效,不需要反复重装。
dsh plugin add 用的是包名,不是目录名。
方式三:从 Git 仓库安装
dsh plugin --profile desktop add github:DragonHorizon-xtihc/dsh-connect-trae-models
也接受 gitlab: / bitbucket: / gist: 简写、完整 git URL、https:// 仓库地址,
以及 .tgz / .tar.gz tarball。注意:插件的 .gitignore 故意不忽略 lib/,
构建产物随源码提交,所以从仓库装不需要任何安装期脚本,也不会弹 pnpm 那句「构建脚本被拦截」。
手动注册 bundle(一般用不到)
dsh plugin add 会自动把带 dsh.bundle.patch 的包装进 profile 的 bundles。
只有在你手工编辑过 profile、或装的是一个不带 bundle 元数据的包装时才需要手动补:
# 编辑 ~/.dsh/profiles/desktop/package.json, # 在 "dsh" → "profile" → "bundles" 数组末尾加上 "dsh-connect-trae-models",然后重启 DSH
Web / TUI profile 同样可用(--profile web / --profile dsh-tui)。
本地构建
npx pnpm@11 install --config.confirmModulesPurge=false --config.minimumReleaseAge=0 pnpm build # tsdown:lib/index.js(宿主 ESM)+ lib/client.js(浏览器 CJS) pnpm typecheck # 宿主侧 + 客户端侧 tsc --noEmit pnpm test # vitest run,377 项
改了src/记得重新pnpm build——lib/是提交物,用户拿到的是构建产物,不是源码。
装完之后
- 模型选择器里出现 Trae Connect Models(国内版) 与 Trae Connect Models(国际版) 两个分组。
- 设置面板:从侧边栏的设置入口打开(宿主自有入口,位置随 DSH 版本而定),导航里选
Trae Models 那一栏(row.navLabel)。能看到池健康、每个账号的令牌/积分/签到/冷却状态,
还有「重新检测账号」「清除所有冷却」按钮。
- 对话栏积分面板:显示当前账号可用积分,点开可钉号。
配置
配置走插件设置节(命名空间 connect-trae-models),在设置面板里改完立即生效、不用重启。
…(truncated)
Rendered from the README published on npm. Formatted only, not edited.
Versions
Published on npm::7,最后更新 2026-11-04