DeepSeek Harness(DSH)採用插件化架構,允許開發者擴展功能。開發者往往需要接入 Grok 或 ChatGPT Codex。直接調用官方接口或手動管理 token 比較繁瑣。本插件通過集成官方 OAuth 流程,將登錄狀態和設備碼交互集成到 DSH 桌面端的輸入框下方。
插件簡介¶
本插件由 yueyexiayu 維護。它爲 DSH 桌面端提供官方 OAuth 登錄能力,支持 xAI 設備碼和 ChatGPT Codex 設備碼。登錄狀態顯示在輸入框下方,Token 僅保存在 Host 端的 $DSH_HOME/.credentials.yaml 文件中,不會進入渲染進程或對話上下文。
核心功能¶
- 登錄狀態與操作:顯示 Grok / GPT 登錄狀態,支持換號、退出操作,以及鎖內的手動刷新。
- 官方 OAuth 集成:登錄正式調用官方
authorization.begin接口,由已註冊的llm-pi-aiflow 負責設備碼、輪詢、PKCE 等協議實現。 - Token 安全存儲:Token 只寫在 Host 的
$DSH_HOME/.credentials.yaml(llm-pi-ai/xai、llm-pi-ai/openai-codex),不讀取或改寫系統級的~/.grok/auth.json/~/.codex/auth.json。 - 會話與路由管理:當前會話模型通過官方
sessionQuery.observeSession讀取,路由寫入攜帶配置版本號以處理併發修改。Client 訂閱槽位使用useProjection("modelSelection")。 - 錯誤處理:顯式無效的 sessionId 返回 400,不存在的會話返回 404,不匹配返回 409。網絡、HTTP、JSON、業務及持久化失敗均會明確顯示。
安裝與啓用¶
- 將插件文件複製到
$DSH_HOME/plugins/OAuth。 - 在
$DSH_HOME/profiles/desktop/cordis.patch.yml寫入以下內容:
- insert:
- id: OAuth
name: ../../plugins/OAuth/lib/index.js
- 完全退出 DeepSeek Harness(macOS:⌘Q)再打開。
使用說明¶
- 在輸入框下方會出現 Grok / GPT 登錄按鈕。
- 配置了
apiKeyEnv的模型路由會明確顯示「模型使用 API key;退出 OAuth 不影響該認證」。 - 登錄或手動刷新會通過官方
settings.describe/mutate接口補上缺失路由。 - 修改插件代碼後,必須完全退出桌面應用(⌘Q)再打開生效。
注意事項¶
- 權限要求:Grok 需要 SuperGrok / X Premium;GPT 需要 ChatGPT Plus / Pro 的 Codex 權限。
- Token 位置:Token 僅存儲在 Host 端,不會在插件或渲染進程泄露。
- 重啓生效:修改插件後需完全退出桌面應用(⌘Q)再打開。
- 測試環境:組件測試和模擬響應下的瀏覽器檢查不能代替完全重啓桌面端後的實際登錄驗收。
- 安全聲明:倉庫不含賬號或憑據,憑據提供器僅爲內存 FIFO 隊列(在測試中)。