前言¶
在 DeepSeek Harness(DSH)裏做長任務時,主會話往往要換模型、換視角,或單獨走一條「只給建議、少動倉庫」的鏈路。若每次手工開終端、登錄 Codex、再複製上下文,線程狀態和問答歷史也很難留在同一工作區裏複用。
dsh-codex-advisor 由社區維護者 Awenforever 發佈,歸類爲工作流插件。它通過官方 codex app-server 協議,在 DSH 內維持多條帶標籤的 Codex 顧問線程,並暴露原生工具與可視化界面;調用消耗的是你已在 ChatGPT/Codex 側的配額,而不是另配 API Key。插件目錄見 SkillHub 條目,源碼與說明在 GitHub 倉庫。
定位與依賴¶
當前發行版爲 0.7.5(MIT 許可證)。README 記載已在 Windows 11 上配合 DSH Desktop 0.2.1-rc.5、Codex CLI 0.166.0-alpha.5.1 做驗證;package.json 要求 Node.js >=22,且 DSH 版本爲 >=0.2.1-rc.5 <0.3.0。
使用前需具備:
- DSH Desktop
0.2.1-rc.5或同0.2.x線更高版本(插件當前主要在 Windows 11 上開發與測試)。 - 支持
app-server --stdio的 Codex CLI,且賬號已登錄;CLI 不隨插件捆綁。 - 可用的 Codex 配額;配額不足時工具會返回錯誤,並在服務端提供信息時附帶重置時間。
插件與 OpenAI、DeepSeek 無隸屬關係;憑證留在 Codex 配置目錄,插件不讀取或複製 auth.json。
核心能力¶
工具面¶
DSH 智能體可調用的六個原生工具如下:
| 工具 | 用途 |
|---|---|
codex_ask |
向當前、指定標籤或新線程發送請求(支持 thread、thread_id、new_thread、label、model、effort、purpose 等參數)。 |
codex_poll |
拉取進行中或已結束的一輪結果。 |
codex_cancel |
中斷當前輪次。 |
codex_status |
查看 app-server 連接、線程列表、活動線程、配額與最近錯誤。 |
codex_history |
讀取某線程的輪次、回答、命令、文件與來源信息。 |
codex_reset |
在不刪除舊線程的前提下開啓新的帶標籤線程。 |
智能體按任務難度、模糊性與風險選擇 model/effort,而非單純按消息長度。線程創建時 model 固定;effort 可按輪次調整。每條工具結果會標明 source/model/effort。
界面與狀態¶
- Codex trail 標籤頁:線程軌、Markdown 形式的 Ask/Answer、活動記錄,以及每輪
model · effort腳註。 - 側欄 Codex advisor 卡片:活動線程、最近問答、狀態燈、model/effort。
- 支持分屏:側欄卡片隨聚焦窗格變化;各窗格維護各自的
sessionId;切換焦點只讀快照,不會自動調用codex_ask或寫入狀態。與最新dsh-multiview(README 記爲0.1.20)做過聯調;更舊的分屏版本不受支持。 - UI 跟隨 DSH 明暗主題語義 token,無獨立主題開關。
- 線程綁定與狀態在 DSH 重啓後仍可恢復。
Codex 以 stdio 子進程運行,插件不監聽端口;默認沙箱爲 workspace-write,顧問可改動會話工作目錄。
安裝與啓用¶
插件在 DSH 社區目錄中歸類爲工作流;安裝方式以 README 給出的發行包地址爲準,不要憑倉庫名自行拼接 dsh plugin add github:owner/repo。
DSH Desktop¶
在 DSH 插件管理器中安裝下列 release 壓縮包:
https://github.com/Awenforever/dsh-codex-advisor/archive/refs/tags/v0.7.5.tar.gz
安裝後保留 codex-advisor bundle,若 Host 要求則重啓 DSH。客戶端 bundle 變更可能需要完全退出重開 DSH 或重載頁面,Codex 標籤頁與側欄卡片在客戶端 bundle 重載後出現。
Web / CLI profile¶
在對應 profile 下執行(示例爲 PowerShell):
dsh plugin --profile <profile> add https://github.com/Awenforever/dsh-codex-advisor/archive/refs/tags/v0.7.5.tar.gz
隨後重啓該 DSH profile。應用託管的 desktop profile 應使用應用內插件管理器,而非手改 profile。
更新說明¶
版本徽章會查詢 GitHub 最新非預發佈版本。DSH 0.2.1-rc.5 尚未暴露官方 pluginUpdates 服務時,需手動:點版本徽章檢查 → Open release 查看說明 → 用插件管理器安裝新 tarball → 退出重開或重載客戶端 bundle,使 UI 與 Host 版本一致。
配置項¶
字段均在 codex-advisor bundle 配置中設置,均爲可選。非 Windows 環境建議顯式設置 codexCommand(默認可在 Windows 上自動發現 %LOCALAPPDATA%\OpenAI\Codex\bin\*\codex.exe,再試 PATH 與 @openai/codex)。
| 字段 | 默認值 | 說明 |
|---|---|---|
enabled |
true |
總開關。 |
codexCommand |
"" |
Codex 可執行文件絕對路徑。 |
codexArgv |
null |
完整 argv 覆蓋(包裝或測試用)。 |
codexArgs |
[] |
追加在 app-server --stdio 之後的參數。 |
model |
"" |
新線程的默認模型。 |
reasoningEffort |
"" |
新線程或續聊輪的默認 effort。 |
sandbox |
workspace-write |
僅要建議時可設爲 read-only。 |
approvalPolicy |
never |
交互式審批自動拒絕。 |
defaultWaitSeconds / maxWaitSeconds |
180 / 1800 |
codex_ask 等待行爲。 |
idleRecycleMs |
600000 |
空閒後回收 app-server;0 表示不回收。 |
maxThreads |
100 |
會話內線程上限。 |
digestBytes |
4096 |
恢復用摘要字節預算;0 關閉摘要。 |
stateDir |
"" |
空則使用 $DSH_HOME/codex-advisor。 |
quotaCheckTtlMs |
60000 |
配額查詢緩存 TTL。 |
env |
{} |
子進程額外環境變量。 |
狀態寫入 $DSH_HOME/codex-advisor(含 state.json、events.ndjson);卸載插件不會自動刪除該目錄。
典型用法思路¶
- 在 DSH 會話中讓智能體調用
codex_status,確認 app-server 已連接且配額可用。 - 對某一目標調用
codex_ask,必要時用label或new_thread區分線程;複雜輪次用codex_poll等待完成,需要時用codex_cancel打斷。 - 換視角或模型類時開新標籤線程(
codex_reset或new_thread),舊線程仍可通過codex_history查閱。 - 在 Codex trail 與側欄卡片中核對每輪的 model/effort 與活動裏的
files/commands;純顧問場景將sandbox設爲read-only。
README 未提供獨立劇本式示例命令;實際參數以工具表與智能體上下文爲準。
適用場景與注意¶
適合:已在 DSH 0.2.x 桌面環境工作、並具備 Codex CLI 與登錄配額;需要在同一 Harness 會話內並行或多標籤維護 Codex 顧問線程;希望軌跡、側欄狀態與分屏焦點行爲與 DSH UI 一致的場景。
注意:
- 插件以當前 DSH 進程權限運行子進程並可能寫工作區;安裝前宜瀏覽源碼與 MIT 許可證,並按團隊規範評估
sandbox與approvalPolicy。 - Windows 以外必須配置
codexCommand;分屏需較新的dsh-multiview,否則焦點跟隨可能不符合預期。 - Codex
app-server爲實驗接口;單線程單寫者,若 Codex Desktop 佔用線程會報CODEX_THREAD_BUSY。 - 網絡方面:插件會爲發版檢查訪問 GitHub API;其餘出站由 Codex CLI 自身決定;README 寫明插件不發遙測。
結尾¶
dsh-codex-advisor 把 Codex 顧問做成 DSH 內可延續的多線程工作流:工具調用、trail 界面與重啓後的狀態一併考慮在內。若你要在 Harness 裏固定一條「官方登錄 + 配額內 Codex」的顧問鏈路,可從上述 tarball 安裝,並在 bundle 裏按環境補全 codexCommand 與安全相關選項。