前言¶
DeepSeek Harness(DSH)通過 dsh-llm-pi-ai 接入 pi-ai 的 openai-codex 模型目錄。該提供方只支持 OAuth,必須走 ChatGPT 登錄,沒有 API Key 路徑。宿主側會掛載 dsh-authorization,pi-ai 在 llm-pi-ai 掛載時會在這一層註冊「Sign in with ChatGPT」流程;內置 Web 客戶端卻只暴露 credentials/describe|set|unset,沒有能發起 OAuth 的 RPC,因此 bundled UI 無法替你完成登錄。
結果是:目錄裏明明有 Codex 側的 GPT 模型,Credential 卻填不上,主模型很難穩定選到 openai-codex。下面介紹社區插件 dsh-codex-login(維護者 HarryLi-7,GitHub:HarryLi-7/dsh-codex-login),它從宿主側驅動與 pi-ai 相同的官方授權接縫,並把流程暴露爲 Agent 工具,便於把 OAuth 憑證寫入 Harness,讓 openai-codex 可作爲主模型使用,而不只當子 Agent 的後端。
這是什麼¶
dsh-codex-login 是 DSH 插件:用官方 OAuth 登錄 ChatGPT (Codex),使 pi-ai openai-codex 提供方的 GPT 模型可作爲 Harness 的主模型使用。
分類上屬於「模型推理」相關能力;SkillHub 目錄頁:dsh-codex-login。PKCE、瀏覽器重定向到 http://localhost:1455/auth/callback、換票、憑證寫入與跨進程刷新鎖等實現均在 pi-ai 側;插件只負責啓動流程並轉發提示,不自行實現 OAuth 協議細節。
背景:DSH 裏缺的那座橋¶
README 歸納的兩半與缺口如下:
- dsh-llm-pi-ai:服務 pi-ai 的
openai-codex目錄提供方(OAuth-only)。 - dsh-authorization + pi-ai 掛載:授權接縫已存在,但 bundled Web 客戶端無法從 UI 發起登錄。
本插件在宿主平面驅動同一條官方接縫,並註冊 Agent 工具 codex_login,供對話裏或工具調用裏完成登錄。
核心功能:工具 codex_login¶
| 工具 | 動作 |
|---|---|
codex_login |
start(默認)— 啓動流程並返回瀏覽器 URL;status — 進度與憑證狀態;submit_code — 粘貼最終 callback URL/code,或用 browser / device_code 回答 pi-ai 的登錄方式提示;cancel — 取消當前嘗試 |
start 會在後臺開始嘗試,並在授權 URL(或登錄方式提示)就緒後立即返回。在瀏覽器中完成登錄後,憑證會自動寫入;插件不會打印、記錄或再次輸出任何 token 內容,刷新由 pi-ai 在其跨進程鎖下完成。
憑證寫入位置¶
流程會向 Harness 憑證庫寫入一條記錄:
- key:
llm-pi-ai/openai-codex - kind:
grant - payload:
{ type, access, refresh, expires, accountId }(字段含義以 pi-ai / DSH 憑證模型爲準)
模型目錄配置¶
保持 openai-codex 提供方條目爲空,以繼承應用內置 pi-ai 目錄(應用更新後新模型會自動出現;若手寫 models: 列表會替換整個目錄且不再自動更新,單模型微調可用 modelOverrides):
- id: llm-pi-ai
name: "@deepseek-ai/dsh-llm-pi-ai"
config:
providers:
openai-codex: {}
安裝與啓用(desktop app profile)¶
README 給出的安裝方式針對 Electron 桌面應用的 profile,不是 dsh plugin add github:… 一類 CLI 命令;CLI 對 --profile desktop 會拒絕操作,profile 由桌面應用管理。
- 將本包放到
~/.dsh/profiles/packages/dsh-codex-login/。 - 編輯
~/.dsh/profiles/desktop/package.json:增加 link 依賴,並把包名加入dsh.profile.bundles。
"dsh-codex-login": "link:/Users/<you>/.dsh/profiles/packages/dsh-codex-login"
(將 <you> 換成你的用戶名;路徑需指向你本機實際的 packages 目錄。)
- 使用應用自帶的 pnpm 安裝依賴,然後重啓應用。
- 讓 Agent 執行登錄,或直接調用
codex_login工具。
環境要求(來自 README):
- DSH 0.2.1-rc.5(任意掛載了
dsh-authorization、dsh-credentials、dsh-llm-pi-ai的 profile) - 具備 Codex 訪問權限的 ChatGPT 賬號;可用模型隨你的訂閱計劃而定
插件 package.json 當前版本爲 0.1.0,peer 依賴與上述 DSH 組件版本對齊;許可證 MIT。
典型用法¶
安裝並重啓後,可按 README 兩種方式驅動:
- 在對話中請 Agent 幫你「Sign in with ChatGPT / Codex」——Agent 會調用
codex_login的start。 - 直接對工具發動作:
start拿到 URL 後在與 Harness 同一臺機器上打開瀏覽器;需要時用status看進度,用submit_code粘貼http://localhost:1455/auth/callback?code=…完整 URL(當本機 callback 無法連回 Harness 時)。
OAuth 回調綁定 127.0.0.1:1455;同一 credential 同時只允許一次嘗試(由 dsh-authorization enforce)。
適用場景與注意¶
適合誰:已在 DSH desktop profile 中使用 dsh-llm-pi-ai,希望用 ChatGPT 賬號 OAuth 驅動 openai-codex,並把對應 GPT 模型設爲主模型的開發者。
務必注意:
- 插件與當前 DSH 進程同權限運行;安裝前請自行查看 源碼 與 MIT 許可證,確認符合你的安全與合規要求。
- SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;插件星標等元數據以目錄與倉庫頁面爲準(當前 GitHub 星標爲 0)。
- 勿在文檔或日誌中期望插件輸出 token;憑證僅應通過 Harness 憑證存儲與 pi-ai 刷新鏈路維護。
結尾¶
dsh-codex-login 補的是 DSH 內置 UI 與 Codex OAuth 之間的缺口:同一套 pi-ai 官方流程,通過 codex_login 在 Agent 側可完成、可查詢、可兜底粘貼 callback。配置上空置 openai-codex provider 即可沿用內置模型目錄。
- 目錄頁:https://www.skillhub.cn/plugins/HarryLi-7/dsh-codex-login
- 倉庫:https://github.com/HarryLi-7/dsh-codex-login