前言¶
DeepSeek Harness (DSH) 是一個插件化的框架,dsh-llm-opencode-go 是其中一款插件,它將 OpenCode Go 作爲原生 DSH 模型提供者接入。該插件自行實現了 OpenCode Go 的三種 wire 格式,將協議請求、工具調用和推理映射到 DSH 的消息結構中,並將流式響應轉換回 DSH 的 StreamChunk 值。
核心功能¶
- 協議支持:原生支持 OpenAI Responses、OpenAI 兼容的 Chat Completions 以及 Anthropic Messages。
- 模型發現:支持
GET /models接口,並實現內存與磁盤混合緩存機制。 - 工具調用與推理:實現工具調用的完整往返流程(定義、參數、結果、後續輪次),並支持按協議映射推理(包括 Anthropic 的 thinking budgets)。
- 會話關聯:使用
x-opencode-session頭部實現會話親和性。 - 流式輸出與錯誤處理:將 SSE 轉換爲
StreamChunk,提供 usage 和結束原因;提供穩定的、與提供者無關的錯誤碼(如 AUTH, RATE_LIMIT, QUOTA, CONTEXT_WINDOW_EXCEEDED)。 - 界面集成:在 DSH 網頁客戶端提供單頁配置界面,側邊欄底部設有配額膠囊。
安裝與啓用¶
使用官方安裝命令添加插件。安裝後必須完全重啓 profile,因爲 bundle 層在啓動時讀取。
dsh plugin add dsh-llm-opencode-go
啓動日誌應顯示以下內容:
dsh-llm-opencode-go: provider "opencode-go" ready at https://opencode.ai/zen/go/v1 (credential OPENCODE_GO_API_KEY, models discover)
配置方式¶
插件需要配置 API Key 引用。apiKeyEnv 指定的是憑證引用名,而非密鑰本身。
在 cordis.patch.yml 中插入以下配置:
- insert:
- id: opencode-go
name: dsh-llm-opencode-go
config:
apiKeyEnv: OPENCODE_GO_API_KEY
使用與監控¶
- 設置 API Key:可以通過環境變量
OPENCODE_GO_API_KEY設置,或通過 DSH 的憑證 seam(網頁 Models 頁面)設置。插件會在每次請求時解析引用。 - 查看用量:插件在側邊欄底部提供配額膠囊,顯示當前會話的 5H/周/月 使用情況;也可以通過配置頁面查看用量面板。
注意事項¶
- 運行環境:需要 Node.js ≥ 20。
- 零運行時依賴:插件本身不依賴外部運行時庫,但需要 Node.js 環境。
- Web 客戶端:圖形化配置和配額膠囊功能依賴 DSH 的網頁客戶端。