前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的理念。在使用開源模型時,配置 API Key 或維護本地進程(Sidecar)通常比較繁瑣。opencodezen4dsh 插件通過原生 DSH 適配器,直接對接 OpenCode Zen 的免費通道,省去了註冊與鑑權步驟,並在會話日誌處理和思考級別上做了改進。
插件介紹¶
這是一個維護 fork 項目,基於 FishBottle7/opencode2dsh(上游 0.3.11)。它向 DSH 註冊了一個原生 LlmAdapter,直接流式傳輸來自 OpenCode Zen 匿名免費通道的響應。
安裝與啓用¶
安裝插件需要先下載構建好的 .tgz 包,然後通過 DSH CLI 添加。
1、下載 Release 附件中的 .tgz 包,或從源碼構建:
# 從源碼構建(位於 packages/plugin)
git clone https://github.com/defaver04/opencodezen4dsh.git
cd opencodezen4dsh/packages/plugin
pnpm install && pnpm pack
2、使用 DSH CLI 安裝插件:
dsh plugin --profile web add ./opencodezen4dsh-dsh-plugin-<version>.tgz
3、重啓 dsh web 以加載新插件。因爲 Cordis 在進程啓動時導入插件模塊,僅刷新選擇器無法生效。
4、在模型選擇器中找到 opencodezen4dsh 分組,選擇一個模型即可開始對話。
配置說明¶
默認配置即可工作,如需調整,可在對應配置文件中編輯 cordis.patch.yml:
- id: opencodezen4dsh
name: '@opencodezen4dsh/dsh-plugin'
config:
mode: adapter # 默認模式,原生適配器
providerId: opencodezen4dsh
refreshSeconds: 300 # 目錄刷新間隔(秒)
主要配置項:
* mode:默認爲 adapter,使用原生流式適配器;sidecar 爲遺留模式,不包含在發佈包中。
* refreshSeconds:控制模型目錄的刷新頻率,默認 300 秒。
* restartDelayMs / restartMaxDelayMs / maxConsecutiveCrashes:適配器或 Sidecar 的重啓退避與熔斷配置。
核心特性¶
- 零憑據,零設置:利用 OpenCode Zen 的匿名免費通道,無需 API Key 或註冊。
- 原生適配器:單個 npm 包,無子進程,無本地端口占用。
- CLI-identical disguise:請求頭包含 OpenCode CLI 的 User Agent 和會話關聯頭,僞裝成 CLI 流量。
- 可選思考級別:推理模型支持
xhigh和max思考級別(強制覆蓋);僅響應模型(如 muse-spark-*)保持上游支持的級別。 - 圖片輸入:僅當模型在 models.dev 中聲明支持圖片輸入時才允許附件,否則拒絕。
- 自愈能力:包含快速啓動重試、定期刷新和健康快照診斷。
- 會話日誌安全:修復了無 ID 工具調用(如文本模擬工具調用)可能導致日誌損壞的問題,將其降級爲普通文本處理。
注意事項¶
- 環境要求:DSH 版本需 0.1.7 或更高,且需啓用 Web Profile;Node.js 版本需 ≥ 20。
- 網絡要求:需要出站 HTTPS 連接至
opencode.ai和models.dev。 - 已屏蔽模型:以下模型在當前 fork 中被屏蔽:
jev-1.13-free(僅限 SystemOne)exo-freeling-3.0-flash-fin-free
- 維護狀態:插件維護 fork 了上游項目,主要修復了會話日誌污染問題並解鎖了部分 muse-spark 模型。
生態背景¶
DSH 社區目錄是獨立站點,與 DeepSeek 或幻方無官方從屬關係。本插件旨在提供一種無需 API Key 的本地化模型接入方案。