dsh-codex-advisor:在 DSH 會話中掛載持久化 Codex 顧問線程

前言

在 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);卸載插件不會自動刪除該目錄。

典型用法思路

  1. 在 DSH 會話中讓智能體調用 codex_status,確認 app-server 已連接且配額可用。
  2. 對某一目標調用 codex_ask,必要時用 label 或 new_thread 區分線程;複雜輪次用 codex_poll 等待完成,需要時用 codex_cancel 打斷。
  3. 換視角或模型類時開新標籤線程(codex_reset 或 new_thread),舊線程仍可通過 codex_history 查閱。
  4. 在 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 與安全相關選項。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜