前言¶
DeepSeek Harness(DSH)的核心理念是「一切皆插件」。對於需要多模型交叉驗證、代碼評審與架構決策的場景,僅依賴單一模型家族容易陷入盲區。爲 DSH 代理引入一個獨立模型作爲顧問,是低成本的風險對沖手段。但 naive 的集成往往在模型溯源、長流式響應中斷與成本透明度上失敗。dsh-codex-consult 插件通過驗證模型實際返回、保障長流式響應的完整性、以及持久化調用記錄與用量快照,讓 DSH 代理可以按需調用 OpenAI Codex CLI 作爲顧問。
插件定位¶
dsh-codex-consult 是一個 DSH 模型推理插件,由 Xantares330 維護。它爲每個 DSH 代理提供三個工具:codex_consult、codex_quota 與 codex_calls。核心價值是在 DSH 代理工作流中,以低摩擦、可審計的方式調用 Codex CLI 獲取第二意見,並確保調用鏈路可追溯與成本可控。
核心能力¶
插件提供三件工具:
codex_consult:發起 Codex 顧問請求。支持內聯證據、驗證實際返回的模型與推理強度、在調用前後快照用量、持久化調用日誌。codex_quota:讀取 Codex 當前用量快照(5 小時窗口 + 周窗口),無需發起 API 請求。codex_calls:查看近期顧問調用的狀態、模型、耗時、驗證結果與標籤。
安裝與啓用¶
插件需要 DeepSeek Harness 的 tools 能力(測試版本 0.2.0-rc.*,@deepseek-ai/dsh-tools >= 0.1.5-rc.2)以及已安裝並登錄的 Codex CLI。DSH 自帶運行時,無需額外安裝 Node.js 22+。
A. 安裝到指定 DSH 配置文件(本地掛載)¶
# 1. 將包放置在配置文件可解析的位置
$profile = "$env:USERPROFILE\.dsh\profiles\desktop"
New-Item -ItemType Junction -Path "$profile\node_modules\dsh-codex-consult" -Target "D:\path\to\dsh-codex-consult"
# 2. 在配置文件的補丁文件中掛載
# %USERPROFILE%\.dsh\profiles\desktop\cordis.patch.yml
- insert:
- id: codex-consult
name: dsh-codex-consult
重啓 DSH(或重新加載該配置文件),該配置文件下的所有會話即可使用這三個工具。
通過 bundle 安裝的包無需手動添加
insert塊;bundle 自帶cordis.patch.yml。
B. 作爲 bundle 安裝(推薦分發方式)¶
在配置文件的 package.json 中添加依賴與 bundle 列表:
{
"dependencies": { "dsh-codex-consult": "^0.1.0" },
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-codex-consult"]
}
}
}
C. 從 npm 安裝(發佈後)¶
dsh plugin --profile desktop add dsh-codex-consult
配置項¶
所有配置項位於插件節點 codex-consult 下,例如在配置補丁文件中:
- id: codex-consult
config:
codexPath: "" # 留空則自動檢測
codexHome: "" # 留空則使用 ~/.codex
stateDir: "" # 留空則使用 $DSH_HOME/codex-calls
model: gpt-6-astra
effort: high
transport: https # 在代理後推薦使用
sandbox: read-only
timeoutSec: 900
maxAttempts: 3
loadUserConfig: false
requireModelVerification: true
proxyUrl: http://127.0.0.1:7897
keepCalls: 100
quota:
enabled: true
warnOnly: true
primaryMaxPercent: 90
weeklyMaxPercent: 85
常用配置說明:
model/effort:默認爲gpt-6-astra/high;工具級覆蓋亦支持。transport:默認爲native;https會在代理場景下提供更穩定的長流式傳輸。sandbox:默認爲read-only;證據內聯到提示,無需寫入權限。requireModelVerification:默認爲true;僅在 Codex 不寫 rollout 日誌時設爲false。proxyUrl:留空則繼承環境變量;需在代理服務運行時配置。quota.warnOnly:默認爲true;設爲false時用量超限將拒絕調用。
典型用法¶
任意 DSH 代理可直接調用工具。典型提示示例:
Review papers/phystwin/docs/06-report.md and the evidence in
research/.../render_metrics_20261021.txt. Are the conclusions supported?
Use codex_consult with evidenceFiles to review my final answer before I send it.
codex_quota # 在昂貴評審前查看用量
codex_calls {limit:5} # 查看近期顧問調用記錄
codex_consult 返回除完整回答外的元信息:
model/effort:請求值;modelVerified:來自 rollout 的驗證結果。elapsedSec、finalChars、tokenusage。quotaBefore/quotaAfter(例如5h 3% · weekly 22%)。callDir/resultFile:本次調用的持久化記錄目錄與結果文件。
驗證與用量快照機制¶
插件在 Codex 完成調用後,定位到對應線程的 rollout 文件(~/.codex/sessions/YYYY/MM/DD/rollout-*<thread>.jsonl),讀取最後的 turn_context 事件,將其 model 與 effort 與請求比對。只有匹配時才標記爲 ok(除非關閉驗證)。
Codex 在 token_count 事件中記錄 rate_limits。插件通過讀取近期 rollout 文件獲取用量快照,無需發起網絡請求,因此 codex_quota 是無成本的。調用前可基於快照判斷是否拒絕或警告,調用後記錄用量差值。
安全說明¶
- 默認以
read-only沙箱運行 Codex;非交互模式下傳遞approval_policy="never",避免等待審批。 - 證據以文本內聯方式注入提示。提示與回答文件保存在調用目錄下,可能包含敏感項目數據,需與普通附件同等對待。
- 插件僅啓動用戶已配置或安裝的 Codex 可執行文件。
故障排查¶
| 現象 | 處理 |
|---|---|
codex_not_found |
設置 codexPath 或 CODEX_CLI_PATH |
proxy_unavailable |
啓動代理、修正 proxyUrl 或取消設置 |
effective_model_or_effort_unverified |
檢查用量,或在無法獲取 rollout 日誌時關閉驗證 |
usage_limit / capacity |
等待窗口、降級模型/effort,或使用 codex_quota 監控 |
| 長調用中斷(約 2 分鐘) | 使用 transport: https,HTTPS 提供器會提升流空閒超時 |
codex_config 錯誤 |
loadUserConfig: false 保持調用隔離;僅在需要用戶 MCP 服務器/配置時開啓 |
適用場景與注意事項¶
- 適合需要多模型交叉驗證、代碼評審、架構決策與驗收判定的 DSH 代理工作流。
- 插件以當前 DSH 進程的權限運行,安裝前建議審查源碼與許可證。
- 目錄頁與 GitHub 倉庫分別提供插件索引與完整文檔,社區目錄爲獨立站點,與 DeepSeek/幻方無官方從屬關係。
小結¶
dsh-codex-consult 通過在 DSH 代理中嵌入 Codex CLI 顧問能力,實現了可驗證、可審計的第二意見流程。從模型溯源到長流式響應保障,再到用量快照與持久化日誌,它填補了 naive 集成中的關鍵缺口。對於追求調用鏈路透明、成本可控與結果可信度的 DSH 開發者,這是一個務實且可落地的選擇。
- 目錄頁:https://www.skillhub.cn/plugins/Xantares330/dsh-codex-consult
- GitHub:https://github.com/Xantares330/dsh-codex-consult