dsh-trae-connect:把 Trae 桌面 App 模型接入 DeepSeek Harness

前言

在 DeepSeek Harness(DSH)裏做智能體開發時,模型來源通常來自自建 API 或第三方 OpenAI 兼容網關。若你已經在本機安裝並登錄 Trae 桌面 App(國內版或國際版),賬號裏其實帶着可用的 remote 會話能力與模型目錄,但這些接口並非 OpenAI 形態,DSH 也無法直接讀取桌面程序的登錄態。

下面介紹的 dsh-trae-connect(維護者 marsma-101)做的是:在本機解密 Trae 保存的憑據、把 Trae remote 會話協議翻譯成 loopback 上的 OpenAI 兼容 HTTP 小門,並在 DSH 模型選擇器裏註冊 Trae(國內版)與 Trae Intl(國際版)兩個分組。裝上後儘量零配置,依賴自動發現安裝路徑與數據目錄。項目僅供個人學習與研究,請遵守 Trae 服務條款;協議實現參照 MIT 許可的 Trae2api-cn 公開文檔。

這是什麼

dsh-trae-connect 是 DSH 社區插件(分類:模型推理),當前版本 0.1.0,許可證 MIT。它不復刻 Trae 賬號體系,而是複用你已登錄的桌面 App:讀 product.json 判斷國內版 / 國際版與真實上游鏡像,解密 storage.json 中的 Cloud-IDE-JWT,從線上拉取模型列表,經 ctx.llm.registerAdapter 註冊 provider id 爲 trae 與 trae-intl 的適配器。

核心功能

自動發現 Trae 安裝與數據目錄

插件按平臺掃描候選路徑:Windows 讀卸載註冊表 InstallLocation(非默認盤也能找到);macOS 查 /Applications;Linux 查兩個 XDG base,WSL 另試 /mnt/<盤> 映射。命中後讀取 resources/app/product.json,用 packageType(TRAE_CN / TRAE_I18N)區分版本,用 bootConfig.remote.trae 取該賬號實際上游(國際版按 region 在 normal / SG / US 等鏡像間選擇,不寫死主機名)。

數據目錄方面,在 %APPDATA% / %LOCALAPPDATA% 等候選根下先試已知目錄名,再疊加目錄名含 trae 的寬鬆掃描,逐個嘗試解密 User\globalStorage\storage.json。國內版與國際版各取第一個能解出有效令牌的目錄;兩個版本都裝則兩組都出現。顯式路徑優先:設置卡可填國內版 / 國際版數據目錄或 storage.json 全路徑,也可用環境變量 TRAE_DATA_DIR_CN / TRAE_DATA_DIR_INTL。

若掃描後沒有任何憑據,日誌會提示確認 Trae 已啓動並登錄過(拉模型列表與掃描路徑期間需保持 App 運行;首次使用需先在 Trae 內完成登錄)。

動態模型目錄與展示

模型列表從 Trae 線上實時拉取(/models?functions=<按版本選桶>&show_custom_model=true),每 10 分鐘刷新;失敗時回落內置兜底列表。國內版桶爲 solo_agent_remote;國際版爲 solo_agent(全量目錄,與 Trae 國際版界面一致)。模型名後可標註積分倍率(如 · x0.8);國際版對付費檔未解鎖模型標 · 🔒 未解鎖,判據爲 features 裏 access.enable === true。用戶在 Trae 自配的自定義模型不會出現在選擇器中。

設置卡片還提供:「使用上游聲明的最大上下文窗口」開關(默認開,max-mode 用 1M 窗口);思考強度檔位(由 reasoning.enable 與 reasoning_effort_config.options 決定);「即用即焚」(每輪對話結束後刪除 Trae 側臨時遠程會話,默認開)。

憑據、小門與協議翻譯

憑據從 iCubeAuthInfo://icube.cloudide 經「tc」信封算法(AES-128-CBC + SHA-512 派生密鑰)解密,副本存於 <DSH_HOME>\.trae-connect\credentials.json(國內版)與 credentials-intl.json(國際版),權限 0600。Cloud-IDE-JWT 到期前 30 分鐘經 ExchangeToken 自動刷新。

本機 127.0.0.1 隨機端口起 OpenAI 兼容服務(/v1/models、/v1/chat/completions),國內版與國際版各持一枚 Bearer 令牌,並做 Host/Origin 迴環校驗。OpenAI 請求被翻譯成 POST /api/remote/v1/chat_sessions 與 SSE 事件流;國內版單頭 Authorization: Cloud-IDE-JWT、Origin solo.trae.cn;國際版需同時發送 Cloud-IDE-JWT 與 Authorization: Cloud-IDE-JWT 兩個頭,Origin 爲 work.trae.ai。

國內版與國際版對照

分組 provider id 典型數據路徑(Windows) 上游(示例)
Trae(國內版) trae %APPDATA%\Trae CN\User\globalStorage\storage.json https://trae-api-cn.mchost.guru/api/remote/v1(實測可用)
Trae Intl(國際版) trae-intl %APPDATA%\Trae\User\globalStorage\storage.json 從已安裝程序 product.json 按 region 選鏡像;設置卡「國際版上游地址」可覆蓋

國際版模型列表回包形態與國內版不同(data.list[].models),插件解析器兩種都支持。選中鎖定模型時上游會拒絕建會話,插件報錯會註明需升級 Trae 付費檔。

安裝與啓用

已抓取 README 與 SkillHub 目錄頁 均未給出固定的 dsh plugin add … 安裝命令行原文。安裝方式請以 DSH 當前版本的插件安裝說明,以及目錄頁「可安裝」入口爲準;源碼與 cordis.patch.yml 見 GitHub 倉庫。

啓用前請注意:插件以 當前 DSH 進程的用戶權限 運行,會讀取 Trae 數據目錄並寫入 <DSH_HOME>\.trae-connect\ 下的憑據副本。安裝前應自行審閱源碼與 MIT 許可證,確認可接受解密本地登錄態、訪問 Trae 私有 remote 接口等行爲。

典型用法

README 未提供獨立 CLI 示例;預期工作流如下:

  1. 在本機安裝 Trae 桌面 App(國內版和/或國際版),完成登錄並保持 App 可運行。
  2. 在 DSH 中安裝並啓用 dsh-trae-connect。
  3. 在 DSH 模型選擇器中選擇 Trae 或 Trae Intl 分組下的模型,按常規模型對話使用。
  4. 若自動發現失敗,在插件設置卡填寫數據目錄或設置 TRAE_DATA_DIR_CN / TRAE_DATA_DIR_INTL;國際版積分查詢需自行填寫「國際版積分接口根地址」(官方積分域名在資料中標註爲未實測)。

適用場景與限制

適合:已用 Trae 桌面 App 且希望在 DSH 智能體流程裏複用同一賬號模型目錄與登錄態的個人開發者;需要國內版與國際版分組並存、模型列表隨 Trae 線上更新而無需改插件的場景。

限制(README 明確):

  • 工具調用(function calling)未實現,僅支持文本 / 推理對話。
  • 依賴 Trae 客戶端私有接口,Trae 大版本更新後插件可能需要調整。
  • 國際版積分接口域名未實測,狀態卡積分需自填根地址才啓用。

免責聲明:項目與 Trae、字節跳動、DeepSeek 無關聯;使用後果由使用者自行承擔,請勿用於商業用途。

鏈接

DSH 生態強調「一切皆插件」;SkillHub 爲社區獨立目錄,與 DeepSeek / 幻方無官方從屬關係。

羽毛球分组比赛记分
小程序二维码

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

小夜