← 返回列表
⚠ 装前注意
把 Trae SOLO CN 桌面 App 的订阅模型接入 DeepSeek Harness个人自用方案
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/24 · 已提供中文文档
把 Trae (SOLO CN) 桌面 App 的订阅模型接入 DeepSeek Harness(个人自用方案)
综合分
30.8
GitHub 分
30.8
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add yembors64632/dsh-trae-connect未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功(L4 · 真实安装)
- 是什么
- dsh 原生插件 · tool
- 装得上吗
- 本站已真实安装成功(L4 · 真实安装,非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 2 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/24(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-trae-connect(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/24 11:29:06
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-llm@deepseek-ai/dsh-llm-pi-ai@deepseek-ai/dsh-host-webserver@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-trae-connect
把 Trae(SOLO CN) 订阅里的模型接入 DeepSeek Harness。
⚠️ 只对我自己的机器有效。 本插件读取的是宿主侧导出的明文凭据快照,
里面的 token 是我自己账号的。别人 clone 下来直接用会连不上——需要自己导出凭据,
并按自己的环境改常量。改法见下方自用改法。
它做什么
在 DSH 里以 OpenAI 兼容端点暴露 Trae 的 preset 模型,让模型选择器里出现 Trae 分组,
可直接对话。
DSH ──OpenAI──▶ 本插件的回环 shim ──Trae SSE──▶ trae-api-cn.mchost.guru
shim 只绑 127.0.0.1 随机端口 + 32 字节随机 bearer(timingSafeEqual 比对),
只服务 /healthz、/v1/models、/v1/chat/completions,无写接口。区别在于上游不是
OpenAI 形状,所以要把 Trae 的 SSE 逐事件翻译成 OpenAI 的 chat.completion.chunk。
为什么是这条入口(本项目最花时间的部分)
Trae 的推理入口不是 /api/ide/v2/llm_raw_chat。那条路属于 BYOK / 自定义模型通道
(dylib 里叫 llm_raw_chat_custom_model),要服务端按 (user, env, function) 预置一份
app config,外部调用只会拿到:
2001 failed to do chat: failed to get app config: record not found
| 入口 | 结果 |
|---|---|
| /api/ide/v2/llm_raw_chat | ✗ BYOK / 自定义模型专用,外部调用恒 2001 |
| /api/ide/v1/llm_raw_chat | ✗ 4001 param is invalid,请求 schema 与 v2 不同 |
| /api/agent/v3/llm_utils_chat | ✓ 可用(Go 服务,内部名 llm_raw_chat_v2) |
真正能用的是 agent 服务。它只要求三样东西:
1. app_id + app_version_code(int64) —— 来自 product.json 的 bootConfig,是
产品级常量,不是账号级;同一串也被硬编码在 libai_agent.dylib 里。
2. function —— 必须是服务端为该 appId 注册过的名字(见 TRAE_FUNCTIONS)。
给错名字会回 no function config found for appId=..., function=...。
3. messages[].content 必须是对象数组 [{type:"text",text:"..."}],不是字符串。
给字符串会回 cannot unmarshal string into Go struct field LLMRawMessage.messages.content。
拿到一个有效 function 之后,任意 preset 模型都可用(实测 9×19=171 组合全过)。
凭据
容器看不到宿主 macOS 的 ~/Library/Application Support/TRAE SOLO CN/。因此由宿主侧
脚本解密 byteCrypto 信封后,写明文快照到:
$DSH_HOME/trae/credential.json # appId / appVersionCode / 会话 token
$DSH_HOME/trae/models.json # 模型目录
(~/.dsh 已 bind mount 成容器里的 /root/.dsh。)
本插件只读这两份快照,绝不碰桌面 App 自己的目录。
安装
前置:已安装并登录 Trae(SOLO CN)桌面版,且已导出上述快照。
dsh plugin --profile web add github:yembors64632/dsh-trae-connect
Desktop / TUI 把 --profile 换成 desktop / tui。
cordis.patch.yml 会注册 llm-trae 这个 provider id,不改动 profile 当前的默认模型。
自用改法:把这段提示词丢给你的 AI
插件是照着我自己的机器写死的。你在自己环境改的时候,把下面这段连同插件目录交给 AI:
我在用 DeepSeek Harness(DSH),装了你写的 dsh-trae-connect 插件。
这个插件是照着原作者的环境硬编码的,我要改成适配我自己的环境。
请你:
1. 先通读插件目录下的 lib/index.js,找出所有硬编码的路径、端点、常量;
2. 对照我下面的实际环境,逐项告诉我每一处需要改成什么,并给出修改后的完整代码;
3. 改完给我一条自检命令,用来验证凭据能读到、上游能连通。
我的实际环境:
- 我用的是(Linux / macOS / Windows WSL),DSH 数据目录 $DSH_HOME 是:
- Trae 桌面版装在:
- 我的账号情况:
- 插件报的错是:
注意:只改凭据读取路径和上游端点,不要动 SSE 翻译、OpenAI 兼容层这些
协议实现——那部分是验证过能用的。
你大概率要改什么
| 差异点 | 位置 |
|---|---|
| 快照路径 | lib/index.js 里凭据解析段(默认读 $DSH_HOME/trae/) |
| 网关域名 | 顶部 DEFAULT_GATEWAY(默认 https://trae-api-cn.mchost.guru) |
| 账号/计费网关 | DEFAULT_ACCOUNT_BASE(默认 https://api.trae.cn) |
| appId / appVersionCode | 随 Trae App 版本变化,需从你的 product.json 取 |
| 默认 function | FUNCTION_FIELD,可选值见 TRAE_FUNCTIONS |
不要动 SSE 翻译层与 OpenAI 兼容层——那部分已验证可用。
适配版本
| 项 | 版本 |
|---|---|
| 插件 | 0.1.0 |
| DSH 核心 | 0.1.5 / 0.1.6 / 0.1.7 alpha 线 |
| 上游 | Trae(SOLO CN)桌面版 |
| Node.js | ^22.19.0 \|\| >=24.0.0 |
| 界面 | Web / Desktop / TUI |
DSH 核心版本不匹配会导致 DSH 启动失败,不是静默降级。装之前先对表。
依赖 @deepseek-ai/* 系列包(cordis、dsh-llm、dsh-llm-pi-ai、dsh-home-paths、
dsh-host-webserver、schemastery)与 @earendil-works/pi-ai。
如果 star 多了:作者会考虑做全版本适配
现在是单点适配——我验证通过的那一套环境能跑,换个版本就可能挂。这是有意的取舍:
在没确认有多少人用之前,为每个 DSH 版本做兼容矩阵的性价比不高。
如果这个仓库 star 多了(说明确实有人在用),作者会考虑做以下工作:
- 跨版本适配矩阵:把 0.1.5-rc.x / 0.1.6-alpha.x / 0.1.6 / 0.1.7 各代的
peer range 与配置入口差异整理成表,插件加载时按宿主实际能力自适应。
- 凭据导出的跨平台化:目前宿主导出脚本是 macOS 取向(读 App 的 Application Support)。
补 Windows / Linux 的路径探测与 safeStorage 变体。
- 上游变更的降级策略:上游接口是私有实现,随时可能变。计划做「实时 → 上次成功 →
内置兜底」三级降级,并在卡片上显示当前来源与失败原因。
- 安装体验:一条命令探测环境 + 拉取对应版本,替代现在的手工对照。
想要哪个,开 issue 说一声——用的人多就先做哪个。
风险
上游是私有实现,没有稳定契约。Trae 服务端一改,插件就可能失效。
app_id / function 这类产品级常量随 App 版本变化,升级 App 后可能需要同步更新。
这不是 bug,是这类方案的固有风险。
免责声明
本项目仅供个人学习与研究,驱动你自己账号在你自己的机器上使用。
使用者需自行遵守 Trae 的服务条款。因使用本项目产生的任何后果
(包括但不限于账号受限、积分消耗、服务中断),由使用者自行承担。
仓库不含任何真实账号、凭据或密钥。
许可
MIT