dsh-llm-opencode-go: OpenCode Go 模型提供商

前言

OpenCode Go 需要代碼來處理共享 pi-ai 適配器未提供的兩個關鍵功能:會話身份和實時模型目錄。此插件通過 opencode-go 路由提供服務,該路由爲每個模型處理 Wire 協議,並將會話 ID 映射到頭中,同時刷新模型列表以包含新發布的模型。

核心功能

該插件作爲 DeepSeek Harness 中的第一級 OpenCode Go 模型提供商。它實現了以下功能:

  • 會話身份: 將 GenerateOptions.sessionId 映射到 x-opencode-session 和 x-deepseek-harness-session-id 頭中,以滿足 Go 客戶端矩陣對穩定會話 ID 的要求。
  • 實時目錄: 從 {apiRoot}/v1/models 刷新模型列表,合併新 ID 並豐富模型信息,使今天發佈的模型立即可選。
  • Web 設置卡片: 在“設置 → 模型”頁面底部提供一個卡片,用於管理 API 密鑰、端點和刷新間隔。

安裝與啓用

此插件需要 DeepSeek Harness 0.2.0-rc.2 或更高版本。GitHub 安裝不需要構建步驟。

  1. 執行安裝命令:
    dsh plugin --profile web add github:scavanger2221/dsh-llm-opencode-go#v0.1.4
  1. 啓動 Web 界面:
    dsh web

若要從本地檢出安裝,請運行:

git clone https://github.com/scavanger2221/dsh-llm-opencode-go
cd dsh-llm-opencode-go
./scripts/install-local.sh
dsh web

配置與使用

配置通過 Web 界面的“設置 → 模型”卡片進行。API 密鑰通過 Harness 憑據服務存儲在 OPENCODE_GO_API_KEY 下。

  • 編輯端點與刷新: 在卡片中直接編輯 API 根目錄和刷新間隔(默認爲 21600000 毫秒)。
  • 模型覆蓋: 編輯單個模型時,每個字段默認爲“繼承”。例如,將上下文窗口更改爲 256K 不會改變協議或推理標誌。
  • 禁用/啓用模型: 禁用會將模型從目錄中移除,但保留其描述。刷新目錄不會復活已禁用的模型。
  • 輸入限制: 如果模型未列出圖像,則拒絕包含圖像的提示。

注意事項

  • 配置文件變更: 在版本 0.1.7 中,不存在 settings.yaml 文件可編輯。配置通過 cordis.patch.yml 中的 config: 覆蓋在配置文件中持久化。
  • 強制輸入: 插件強制執行輸入類型檢查,如果模型未列出圖像,則拒絕包含圖像的請求。
  • 依賴版本: 確保安裝的 DeepSeek Harness 版本爲 0.2.0-rc.2 或更高。

此插件爲 OpenCode Go 提供了完整的會話管理和實時模型發現能力,適合需要穩定對話路由和緊跟模型更新的場景。更多細節與源碼請訪問 GitHub 倉庫。

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

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

小夜