前言¶
在 DeepSeek Harness(DSH)里接第三方模型,常见做法是走 API Key 或自建网关。Trae 用户往往已经在本机客户端登录了国内版或国际版账号,模型和积分体系都在 Trae 侧。若能把「本机已登录的 Trae」接到 DSH 的模型选择器,同时保留 DSH 本地的 bash / read / write / edit 等工具循环,就不必为 Harness 单独再配一套 Trae 凭据。
社区插件 dsh-connect-trae 负责这条接入路径。上游在特定失败场景下可能让整个 Harness 无法启动——例如回环 shim 绑定失败时 provider 静默消失,或启动链路上的未捕获拒绝被 DSH 当成 fatal 并以 exit 1 退出。dsh-connect-trae-plus 是在上游 v2.0.4 基础上的加固分支:Trae 协议与功能保持上游一致,只改插件自身的容错与可观测性。下面介绍它是什么、能做什么、如何安装,以及和上游的差异该如何取舍。
这是什么¶
dsh-connect-trae-plus(npm 包名仍为 dsh-connect-trae,加固版本号为 2.0.4-dsh.2)是一个独立的 DSH bundle 插件,归类为 admin-security。它把本机已登录的 Trae 账号(国内版与国际版均支持)注册为 DSH 的模型供应商,并提供只读的用量/积分概览与模型管理界面;模型负责生成结构化工具调用,工具执行仍由 DSH 本地完成。
本仓库派生自 dingminhua/dsh-connect-trae v2.0.4(commit 9c7c113)。README 说明 Trae 侧的协议、凭据、区域拆分、目录与设置卡片均未改动;与上游的唯一产品级差异是:本插件自身出问题时,不再牵连整个 Harness。目录页由维护者 DPH-1121 发布;加固说明与机制细节见仓库内 FORK.md。
加固分支解决什么问题¶
上游 2.0.4 将两个 provider、模型目录发现、可配置目录与 teardown 注册放在同一条 then 链中,且链内失败缺少完整观察:
- 回环 shim 绑定失败(Trae 未安装、未登录或端口不可用)时,两个 provider 可能一起静默消失,日志仅出现
loopback shim failed; providers not registered,且不标明区域与原因。 - 链上其它抛出(例如 HMR 重载后
ctx.effect落在已消失的 fiber 上)可能形成未捕获拒绝,被 DSH 的 fail-loud 处理为fatal load failure并 exit 1,表现为「装了 Trae 插件之后 Harness 起不来」。
加固分支让启动就绪状态可被观察(不抛异常、不挂起),每个区域各自降级并报告区域与真实原因,各路径避免未捕获拒绝。若你不需要这层加固,可直接使用上游 npm 包;若上游日后合并等效修复,本分支可按 README 说明退役。
核心功能¶
以下能力与上游 README 一致,加固不改变 Trae 行为本身。
双供应商与模型选择¶
- 国内版注册为 DSH 的
traeprovider(如DeepSeek-V4-Flash、DeepSeek-V4-Pro等)。 - 国际版注册为
trae-global(Gemini / GPT / MiniMax 等阵容)。 - 两边模型可同时出现在 DSH 模型选择器中,不同会话可各选一侧,互不干扰。
设置卡片与区域隔离¶
插件设置卡片顶部为「国内版 / 国际版」两个 tab,各自包含账号选择、用量概览与模型管理;账号、目录、勾选与未保存草稿按 tab 隔离。模型名称按 Trae 菜单格式展示积分倍率(如 GLM-5.2 · x0.79),目录刷新后倍率同步更新。
工具循环与账号发现¶
通过 Trae llm_utils_chat 获取待执行的 tool_calls,由 DSH 本地执行后再回传。插件自动发现 Trae CN / TRAE SOLO CN / Trae / TRAE SOLO 四个本地安装路径下的登录账号,区域由凭证中的 userRegion 判定。国内版与国际版各一套模型目录、勾选、图片开关与上下文预算。
多账号场景支持重新读取 Token 列表并切换账号;Token 不写入 DSH 设置。用量为国内版 Work/通用积分、国际版订阅/试用状态等只读查询,不消耗额度。
安全回环 shim¶
每个区域使用独立随机端口与进程内随机 secret,真实 Trae token 不交给 pi-ai。
工作原理(数据路径)¶
DSH PiAiAdapter(每个 provider 一套)
-> 安全 loopback shim(每区域一个随机端口 + 进程内随机 secret)
-> TraeSoloBridge
-> 国内版 https://trae-api-cn.mchost.guru/api/agent/v3/llm_utils_chat
-> 国际版 https://coresg-normal.trae.ai/api/agent/v3/llm_utils_chat
-> Trae SSE / pending function_call
-> OpenAI SSE tool_calls
-> DSH 本地执行工具并回传结果
刷新得到的 token 按区域存放在 $DSH_HOME/.trae-auth.cn.json 与 $DSH_HOME/.trae-auth.ai.json;旧的单文件 .trae-auth.json 仍可作为迁移来源读取。
模型覆盖与限制¶
插件提供的是 Trae SOLO 通道模型(如 DeepSeek-V4-Flash-Official、GLM-5.3、Kimi-K3 等),国内版与国际版均走该通道。
以下 4 个模型目前仅 Trae IDE(TraeCode)通道提供,尚未开放到 SOLO,本插件暂不支持:
| 模型 |
|---|
deepseek-v4.1-flash |
glm-5.3-flash |
kimi-k2.8-preview |
qwen3.8-flash |
需注意 GLM-5.3(SOLO)与 glm-5.3-flash(IDE 通道)不是同一模型;若必须使用上表四个模型,应在 Trae IDE 客户端内使用。
安装与启用¶
推荐使用 DSH 插件命令安装 npm 已发布版本:
dsh plugin --profile desktop add dsh-connect-trae
也可直接通过 npm 安装:
npm install dsh-connect-trae
安装、更新或卸载 bundle 后,需要重启对应的 DSH 进程。
运行环境要求(来自 package.json):Node ^22.19.0 || >=24.0.0;DSH 版本需落在文档所列 engines.dsh 区间内。许可证为 MIT。
典型用法¶
- 在本机安装并登录 Trae(国内版或国际版,或两者同时登录)。
- 按上一节命令安装插件并重启 DSH Desktop(或你使用的 profile 对应进程)。
- 打开 DSH 插件设置中的 Trae 卡片,在「国内版 / 国际版」tab 中选择账号,刷新模型目录并按需勾选启用模型。
- 在 DSH 模型选择器中选择
trae或trae-global下的模型开始会话;工具调用由 DSH 本地执行。
Windows 用户:账号数据默认读取 %APPDATA%\Trae CN / %APPDATA%\TRAE SOLO CN 等目录下的 User\globalStorage\storage.json;目录名不匹配时可用配置项 authFile 与 edition 指定路径。Raw Chat 探测依赖 sqlite3 命令行,Windows 默认未安装时会安全回退,且 Raw Chat 默认关闭,不影响主流程。详见仓库 docs/WINDOWS_TOKEN_PROBE.md。
适用场景与注意¶
适合谁: 已在本机 Trae 登录、希望在 DSH 中复用 Trae SOLO 模型与积分体系,且尤其在意「Trae 未就绪时 Harness 仍能正常启动」的开发者。
权限与安全: 插件以当前 DSH 进程的权限运行,会读取本机 Trae 客户端存储的登录信息并通过 loopback shim 发起请求。安装前请阅读 GitHub 源码、FORK.md 与 THIRD_PARTY_NOTICES.md,确认许可证与合规说明符合你的环境要求。
DSH 生态采用「一切皆插件」的思路;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。本介绍对应目录条目:dph-1121/dsh-connect-trae-plus。
结尾¶
dsh-connect-trae-plus 在保留上游 Trae 双区域接入、本地工具循环与只读用量能力的前提下,把插件启动失败从「拖垮整个 Harness」改为可观察、按区域降级。若你只需要标准接入且无启动级故障顾虑,上游 dsh-connect-trae 即可;若你遇到过 shim 或 HMR 导致的 fatal load,可优先评估本加固分支。源码与更新说明见 https://github.com/DPH-1121/dsh-connect-trae-plus。