DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。要接入 GitHub Copilot 作爲模型提供方,開發者需要處理 OAuth 認證流程,並註冊對應的模型路由。該插件提供了官方接口的封裝,通過設備碼流程完成登錄,並將模型路由註冊到 DSH 環境中。
插件簡介¶
該插件由用戶 FMDD61 維護,分類爲模型提供方(model-provider),開源協議爲 MIT。它主要解決兩個問題:
1. 將 GitHub Copilot 的認證流程接入 DSH。
2. 註冊一個名爲 github-copilot 的 LLM 路由,該路由由 pi-ai 的 Copilot 模型目錄提供支持。
安裝與啓用¶
插件通過 NPM 包發佈,無需克隆源碼即可安裝。安裝後需重啓 dsh web 服務以加載配置。
dsh plugin --profile web add dsh-oauth-copilot
安裝完成後,dsh web 進程會加載 dsh.bundle.patch 中的 llm-github-copilot 路由配置,並激活 authorization 服務入口。
認證與狀態檢查¶
登錄是純終端操作,不涉及 LLM 提示注入風險。CLI 工具提供登錄、狀態查詢、刷新令牌和登出功能。
- 登錄:運行以下命令啓動設備碼流程,並在瀏覽器中授權。
npx -y dsh-oauth-copilot login
*(也可全局安裝 `npm install -g dsh-oauth-copilot` 後直接運行 `dsh-copilot-auth login`)*
- 狀態查詢:檢查授權有效期及可用模型列表。
dsh-copilot-auth status
- 刷新模型列表:重新獲取賬戶允許使用的模型列表並更新至授權記錄。
dsh-copilot-auth refresh
- 登出:移除本地存儲的授權憑據。
模型路由與工具¶
插件註冊了 github-copilot 路由。默認情況下,模型工具(如登錄、登出)是關閉的,需要在路由配置中顯式開啓。
啓用模型工具後,模型可以直接調用 github_copilot_login、github_copilot_status 和 github_copilot_logout 等工具。
在路由配置文件中,添加以下內容:
- id: llm-github-copilot
config:
enableModelTools: true
注意事項¶
- 版本依賴:該插件綁定在
dsh 0.1.5-rc.1和pi-ai 0.85.1的包線上,未來升級 DSH 需同步調整版本範圍。 - 不支持 GitHub Enterprise:僅支持
github.com。出於安全考慮,插件拒絕處理企業版域名,以防止令牌刷新被重定向至攻擊服務器。 - 文件安全:憑據文件以原子寫入方式存儲,權限設置爲
0600,且存儲位置位於設置/描述/環境目錄之外,CLI 輸出時會隱藏令牌與錯誤詳情。 - 併發限制:CLI 命令不應與正在寫入憑據文件的其他進程併發運行。
結語¶
該插件通過官方接口實現了 GitHub Copilot 在 DSH 中的接入,適合需要在 DeepSeek Harness 環境中直接使用 Copilot 模型的開發者。更多技術細節與源碼可參考 GitHub 倉庫。