dsh-opencode-go:在 DeepSeek Harness 中使用 OpenCode Go 模型

前言

DeepSeek Harness(DSH)允許通過插件擴展功能。如果你需要使用 OpenCode Go 訂閱模型,手動配置協議、上下文長度和最大輸出 token 會非常繁瑣。dsh-opencode-go 插件解決了這個問題,它自動處理會話請求頭、讀取網關模型目錄並顯示訂閱用量。

是什麼

dsh-opencode-go 是一個由 Duskriver 維護的插件,遵循 MIT 許可證。它讓 DSH 能夠完美調用 OpenCode Go 訂閱模型,支持流式回覆、工具調用和圖片輸入。插件會自動添加 OpenCode Go 所需的會話請求頭,無需用戶手動配置模型的基礎協議和參數。

核心功能

  1. 會話請求頭:每次請求包含 Harness User-Agent 和 x-opencode-session。同一會話保持穩定 ID,支持網關路由和提示詞緩存優化。
  2. 流式與歷史:支持流式輸出、工具調用及歷史回放。
  3. 圖片輸入:支持目錄中聲明圖片能力的模型。
  4. 模型容量覆蓋:可按模型覆蓋上下文窗口和最大輸出,空值繼承在線目錄。
  5. 逐模型開關:每個模型獨立控制會話中的顯示狀態,普通模型默認開啓,過時模型默認關閉。
  6. 網絡代理:支持 HTTP(S) 或 SOCKS5 代理,用於對話、模型目錄更新與訂閱用量查詢。
  7. 提示與緩存:插件不增加隱藏系統提示;會話 ID 用於網關路由。

安裝與啓用

插件支持 DSH 0.1.5-rc.1 及以上版本。安裝前請確保已安裝對應版本的 DSH。

在 DSH 界面安裝(推薦)

  1. 打開 DSH 的 插件 頁面,點擊右上角 添加插件。
  2. 輸入 dsh-opencode-go,點擊 安裝。
  3. 安裝成功後,點擊 立即啓用。
  4. 打開 設置 → OpenCode Go,填入 API Key 並保存。

命令行安裝

如果 DSH 沒有「添加插件」入口,可在終端執行:

dsh plugin --profile web add dsh-opencode-go

安裝後啓動或重啓 dsh web,然後重複上述設置步驟。

Headless 模式安裝

Headless 用戶需將 web 換成 headless:

dsh plugin --profile headless add dsh-opencode-go

配置與使用

安裝成功後,在 設置 → OpenCode Go 中進行配置。

網絡代理

打開 設置 → OpenCode Go → 高級設置 → 代理地址,填寫代理 URL。
支持格式包括:
- http://127.0.0.1:7890
- socks5://127.0.0.1:1080
- http://用戶名:密碼@主機:端口(需 URL 編碼)

代理連接由運行 DSH 的機器發起。代理設置保存後立即生效,無需重啓。

模型開關

在 設置 → OpenCode Go 中,每個模型右側的開關決定它是否出現在會話模型選擇器中。普通模型默認開啓,過時模型默認關閉。你可以單獨開啓任意過時模型,也可以關閉普通模型。

Headless 配置

Headless 用戶可將以下內容保存爲 headless.patch.yml,選擇默認模型:

- id: agent-default-model
  config:
    provider: dsh-opencode-go
    model: deepseek-v4.1-flash

然後在 Bash 或 Zsh 中讀取 API Key 並運行任務:

export OPENCODE_API_KEY
dsh --profile headless --patch ./headless.patch.yml "你好"

賬號管理(多 Key)

Headless 或手動配置可在插件的 config 中填寫賬號:

apiKeyEnv: OPENCODE_API_KEY
accounts:
  - id: primary
    name: 主賬號
    apiKeyEnv: OPENCODE_API_KEY
  - id: backup
    name: 備用賬號
    apiKeyEnv: OPENCODE_GO_BACKUP_KEY

插件會從上到下依次嘗試賬號,支持自動回退。

圖片數量上限

在 設置 → OpenCode Go → 高級設置 中設置 maxImages。
默認不限制張數。設置後,單次請求攜帶的完整歷史(包括工具輸出中的圖片)將受此限制。例如設置爲 30 時,發送第 31 張圖片會卸載最舊的 1 張圖片內容。

注意事項

  1. 版本兼容:插件不再引入 @google/genai、protobufjs 的安裝腳本,首次安裝無需特殊設置,舊版本安裝失敗後重試需先卸載再重試。
  2. Headless 代理:Headless 模式下,代理設置也可在插件的 config 中填寫 proxyURL。
  3. 調試:若遇到錯誤,可在啓動 DSH 的終端設置環境變量 DSH_OPENCODE_GO_DEBUG_DIR,重啓後在指定目錄查看調試日誌。
  4. 共存:從 0.1.17 起,插件使用獨立的 dsh-opencode-go provider。舊會話可能需要將 provider 從 opencode-go 切換爲 dsh-opencode-go。

總結

dsh-opencode-go 通過自動化配置和細粒度的控制(如逐模型開關、代理支持、圖片上限控制),讓在 DeepSeek Harness 中使用 OpenCode Go 訂閱模型變得簡單且可控。無論是 Web 界面交互還是 Headless 腳本任務,它都能提供一致的支持。

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

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

小夜