前言¶
DeepSeek Harness (DSH) 採用插件化架構,允許開發者通過適配器接入各類 LLM。接入騰訊 CodeBuddy 時,通常需要手動處理瀏覽器 OAuth 登錄、Token 續期以及模型列表同步。dsh-codebuddy-auth 插件通過原生 ctx.llm 適配器,將 CodeBuddy (IOA) 整合進 DSH 的模型選擇器,實現開箱即用的接入體驗。
插件簡介¶
dsh-codebuddy-auth 是一個將騰訊 CodeBuddy (IOA) 作爲 DeepSeek Harness 原生 LLM 提供者的插件。
* 維護者: cainiao1992
* 定位: 模型推理
* 許可證: MIT
* 核心能力: 瀏覽器 OAuth 登錄、Token 自動續期、憑據存儲、/v3/config 模型同步、原生適配器支持。
核心功能¶
該插件實現了完整的 CodeBuddy 接入鏈路:
* 原生適配器: 註冊在 ctx.llm,接管請求路徑。
* 瀏覽器登錄: 支持通過瀏覽器進行 OAuth 認證。
* 自動續期: 實現了三層自動續期機制(啓動時檢查、運行時 30 分鐘檢查、Token 失效時觸發)。
* 模型發現: 通過 /v3/config 接口獲取模型列表及推理能力元數據。
* 流式傳輸: 支持 SSE 流式響應及消息序列化。
* 推理級別: 每個模型展示真實的推理能力(supportedEfforts)。
安裝與啓用¶
DSH 通過官方 dsh plugin CLI 安裝插件。安裝前請確保環境滿足要求。
環境要求¶
pnpm必須在 PATH 中。- Node.js 版本需 >= 18.12。
安裝命令¶
執行以下命令安裝插件:
dsh plugin --profile web add github:cainiao1992/dsh-codebuddy-auth
安裝完成後重啓 DSH。插件會在啓動時註冊 codebuddy 提供者。
使用方法¶
安裝並重啓後,CodeBuddy 模型會出現在模型選擇器中。
基礎操作¶
- 切換模型: 在模型選擇器中選擇 CodeBuddy 下的任意模型(如
deepseek-v4-pro)。 - 檢查狀態: 對話中發送
check codebuddy status。 - 刷新憑證: 插件會自動處理續期。若憑證失效,可發送
refresh codebuddy手動觸發,或重新登錄。 - 同步模型: 當騰訊更新模型列表時,發送
sync codebuddy models。 - 登出: 發送
log out of codebuddy清除存儲的憑證。
推理能力配置¶
插件會根據 /v3/config 返回的元數據展示每個模型的推理級別。例如:
* deepseek-v4-pro: 支持 low / high / xhigh。
* glm-5.2: 默認 high,且支持多級別選擇。
* 固定推理模型(如 glm-5.1)僅顯示其默認級別。
技術細節與配置¶
雙身份機制¶
插件爲了繞過鑑權限制,爲不同的接口使用了不同的身份標識:
* 聊天接口 (POST /v2/chat/completions): 使用 CLI 客戶端身份(User-Agent: CLI/2.96.0 CodeBuddy/2.96.0),避免被 IDE 鑑權攔截。
* 模型發現 (GET /v3/config): 使用 Craft / VSCode 身份(X-Agent-Intent: craft),以獲取每個模型的 supportedEfforts 和 defaultEffort 元數據。
國際版支持¶
默認接入中國大陸版。若需接入國際版,需在 cordis.patch.yml 的掛載行中配置 edition: intl。
注意事項¶
- 運行環境: 插件以當前 DSH 進程的權限運行,請確保信任該插件的源碼。
- 依賴要求: 安裝和 CLI 登錄均依賴 Node.js >= 18。
- 接口限制: 聊天接口要求
stream: true,否則返回code 11101。模型發現接口必須攜帶 Craft/VSCode 身份頭部才能獲取完整元數據。
總結¶
dsh-codebuddy-auth 解決了在 DSH 中接入騰訊 CodeBuddy 的繁瑣流程,通過原生適配器和自動化的令牌管理,使得開發者可以直接使用 CodeBuddy 的模型資源。相關目錄與源碼可參考下方鏈接。