DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。OpenCode Console (Zen) 提供了獨立的模型目錄和 API 通道,但 DSH 原生並不直接支持。a42null/dsh-opencode-zen-plugin 插件的作用,就是將 OpenCode Console 的模型接入 DSH 的調用鏈,使其成爲 DSH 的一個標準提供者。
該插件由 A42Null 維護,遵循 MIT 許可證。
核心功能¶
插件在運行時會自動完成模型目錄獲取、協議適配和元數據同步,開發者無需手動配置模型列表或端點。
- 零配置模型目錄:啓動和定時器(默認 300 秒)時,插件會從 OpenCode 的公開接口獲取模型列表並同步到 DSH 的選擇器中。
- 自動端點路由:根據模型名稱前綴自動映射到不同的 API 協議:
gpt-*、grok-*、muse-spark*:映射到 OpenAI Responses API (/zen/v1/responses)claude-*以及特定qwen模型(如qwen3.8-flash、qwen3.7-max等):映射到 Anthropic Messages (/zen/v1/messages)gemini-*:映射到 Google GenerateContent (/zen/v1/models/<id>:streamGenerateContent?alt=sse)deepseek、glm、minimax、kimi、qwen3.8-max、big-pickle等:映射到 OpenAI 兼容接口 (/zen/v1/chat/completions)
- 元數據同步:從
models.dev獲取上下文窗口、輸出預算和推理等級信息,並使用 7 天磁盤緩存(存儲路徑~/.opencode-zen/models.dev.json)。 - 錯誤提示優化:針對資金不足(402)、權限限制(403)以及免費層級限制,提供具體的錯誤代碼和解決建議,而不是籠統的「無效 API Key」。
- 推理透傳:支持
off/minimal/low/medium/high/xhigh/max等推理等級,並將其透傳至各協議的原生字段。 - 流式協議支持:完整支持 Harness 流協議,包括流式文本、推理內容、工具調用、使用統計和停止原因映射。
- 工具調用與圖像輸入:支持 Vision 模型接受圖片附件。
- 流監控:包含超時保護機制,首字節 120 秒或空閒 300 秒後中止請求,防止掛起。
安裝與啓用¶
推薦使用 DSH 的包管理器直接安裝,無需配置 Git 倉庫。
dsh plugin add @a42null/dsh-opencode-zen-plugin
安裝完成後,需要重啓 DSH 或重新加載插件,以便註冊 opencode-zen 提供者。
配置¶
在 DSH 界面中,進入 Settings → Plugins → OpenCode Zen → Configure。
| 配置項 | 說明 | 默認值 |
|---|---|---|
apiKey |
OpenCode Console API Key(必需) | 空 |
baseUrl |
OpenCode Zen 網關基礎 URL | https://opencode.ai/zen |
includeFreeModels |
是否包含免費模型(*-free) |
false |
refreshSeconds |
模型目錄自動刷新間隔(秒) | 300 |
保存設置後立即生效,無需重啓 DSH。如果未配置 Key,模型列表仍可見(未認證),但調用時會返回明確的鑑權錯誤。
使用說明¶
- 配置 Key:在上述配置界面填入 OpenCode Console 的 API Key。
- 選擇模型:在 DSH 的對話界面模型選擇器中,會出現
opencode-zen提供者的模型列表。 - 調用:選擇模型進行對話。插件會自動根據模型類型切換底層協議,處理流式輸出和工具調用。
注意事項¶
- 免費模型限制:
*-free模型在 OpenCode 客戶端內運行,通過 Console API 調用會返回 403 錯誤,因此默認隱藏。如需使用,需在設置中開啓includeFreeModels,但通常無法在 DSH 中正常工作。 - SystemOne 模型:
jev-*系列模型被跳過,因爲它們不具備聊天能力。 - 付費模型:調用付費模型仍需確保 Console 賬戶資金充足。
- 環境變量:API Key 也可以通過環境變量
OPENCODE_ZEN_API_KEY傳入,但設置面板中的 Key 優先級更高。
總結¶
該插件通過自動路由和元數據同步,解決了 DSH 用戶想要使用 OpenCode Zen 模型的集成問題。它不僅支持標準的對話功能,還完整透傳了推理參數和流式協議,適合需要在 DSH 環境中複用 OpenCode 模型的開發者。