前言¶
DSH 的智能體循環通常圍繞其模型提供者系統工作。如果你的後端模型來自 Devin,例如 glm-5.2、swe-1.7,而 dsh 內部需要以 provider 方式路由請求,就需要一個適配器把 Devin 的 Connect RPC API 映射到 dsh 的 LLM 接口。
dsh-plugin-devin-bridge 做的事情很具體:它註冊 devin provider,讓 dsh 可以把 Devin 託管模型作爲後端調用,並把 Devin 的流式響應解碼爲 dsh 的 StreamChunk。
這是什麼¶
dsh-plugin-devin-bridge 是一個 dsh LLM adapter plugin,維護者爲 Arborsm,許可證爲 MIT。
它解決的核心問題是:Devin 的模型 API 是 Connect RPC 形式,而 dsh 的模型提供者系統需要 GenerateOptions、StreamChunk 這類本地協議。這個插件在中間做協議轉譯,使 provider: devin 可以像其他 dsh provider 一樣被模型選擇器和程序化路由使用。
工作方式¶
插件在 dsh 的 LLM seam(LlmAdapter)上註冊 devin provider 路由。當 dsh agent loop 把請求路由到 provider: devin 時,適配器執行以下流程:
- 將 dsh 的
GenerateOptions(messages、tools、system prompt、images)轉譯爲 Devin 的GetChatMessageRequestprotobuf。 - 從 Devin Connect RPC endpoint 流式讀取響應。
- 將每個
GetChatMessageResponse幀解碼爲 dsh 的StreamChunk協議,包括 text deltas、reasoning deltas、tool-call deltas、usage 和 finish。
這裏有兩點比較關鍵:
- 動態模型目錄:通過
GetCascadeModelConfigsRPC 獲取 Devin 即時模型列表,帶 5 分鐘 TTL 緩存,併合並用戶配置模型作爲回退。 - 網絡失敗處理:動態目錄請求失敗時,會優雅回退到靜態配置。
安裝與啓用¶
先確認運行環境滿足 package 聲明:
node ^22.19 || >=24
dsh >=0.1.0-rc.6
然後使用安裝命令:
pnpm add https://github.com/Arborsm/dsh-plugin-devin-bridge.git
安裝後,插件需要可用憑證。沒有憑證時,它會在啓動時拋出錯誤,而不是靜默失敗。
憑證與 token¶
該插件使用 Devin session token 認證,token 格式爲:
devin-session-token$<...>
token 的解析優先級是:
- dsh 設置面板中的
token。 - 插件 composition 中 entry config 的
config.token。 devin auth login生成的credentials.toml。
自動讀取 credentials.toml 的默認路徑爲:
Windows:
%APPDATA%\devin\credentials.toml
macOS/Linux:
~/.local/share/devin/credentials.toml
$XDG_DATA_HOME/devin/credentials.toml
也可以使用環境變量覆蓋路徑:
DEVIN_CREDENTIALS_PATH=/path/to/credentials.toml
token 字段被標記爲 secret。在返回到 wire 表面的設置描述符中,它會自動 redacted。
可選配置¶
可選配置項包括:
token
baseUrl
proxy
forceHttp1
defaultContextWindow
defaultMaxTokens
models
retryPolicy
下面是示例配置。所有字段都是 optional;示例中的 baseUrl、proxy、forceHttp1 等值按 README 示例保留。
config:
token: ""
baseUrl: "https://server.codeium.com"
proxy: ""
forceHttp1: true
defaultContextWindow: 128000
defaultMaxTokens: 16384
models:
- id: "glm-5-2"
name: "GLM-5.2"
contextWindow: 128000
maxTokens: 16384
supportsImages: false
- id: "swe-1-7"
name: "SWE-1.7"
contextWindow: 128000
maxTokens: 16384
supportsImages: true
其中 models 是示例模型目錄。supportsImages 表示對應模型是否通過 dsh 附件系統接受圖像輸入。proxy 支持 http/https/socks5 形式的出站代理 URL。forceHttp1 示例值爲 true。
當 dsh settings service 可用時,上述配置可以通過設置面板在運行時調整,並且修改即時生效(live applies)。
典型用法¶
配置完成後,dsh 模型選擇器會顯示 Devin 作爲 provider,並可看到可用模型。可以在 UI 中直接選擇模型,也可以在程序里路由到:
provider: devin
從能力映射看,插件會把 Devin 的響應轉成 dsh 能消費的塊:
- 文本流式:完整文本增量流與塊組裝。
- 推理/思考內容:映射爲 dsh
reasoning塊。 - 工具調用:將 Devin tool-call 增量轉換爲 dsh
tool-call塊。 - 圖像輸入:視覺能力模型通過 dsh 附件系統接受圖像輸入。
- token 用量:向 dsh 報告輸入/輸出 token 用量。
- 系統提示:做身份無關的系統提示重寫,用於跨模型兼容。
適用場景與注意¶
適合以下場景:
- 你已經有 Devin session token,並且希望在 dsh 中把
glm-5.2、swe-1.7等 Devin 託管模型作爲後端。 - 你希望 dsh 的模型選擇器、運行時設置面板和程序化 provider 路由能直接工作。
- 你使用 dsh 內部 agent loop,並且需要文本、推理、工具調用、圖像附件和 token 用量映射。
使用前建議注意:
- 插件會讀取並傳遞 Devin session token,安裝前應檢查源碼、依賴和許可證。
- 插件以當前 dsh 進程權限運行,憑證文件、網絡代理和出站請求都受你的環境控制。
- 動態模型目錄依賴網絡請求;失敗時會回退到靜態配置,但這不等於 Devin 服務一定可用。
token、baseUrl、proxy等配置會影響實際認證和出站行爲,生產環境建議顯式配置並審查。
鏈接¶
源碼倉庫:
https://github.com/Arborsm/dsh-plugin-devin-bridge
目錄頁:
https://www.skillhub.cn/plugins/Arborsm/dsh-plugin-devin-bridge