前言¶
DeepSeek Harness(dsh)是 DeepSeek AI 開源的 agent harness,目前處於開發者預覽階段。官方倉庫把核心理念寫得很清楚:一切皆插件。模型、工具、會話循環和 Web UI 都可以拆成可替換的插件。社區裏因此出現了一批獨立目錄站點,用來發現和安裝第三方插件;它們與 DeepSeek / 幻方沒有官方從屬關係,安裝前需要自己覈對源碼和許可證。
接入自定義提供方時,官方「模型」頁已經能管提供方、API 密鑰和模型行。但有幾項按模型聲明的原生能力,界面上一直缺入口:這個模型支持哪些推理強度檔位、每檔發往端點時怎麼拼寫、能不能喫圖片、上下文窗口和最大輸出 token 到底是多少。官方文檔的做法是去改 $DSH_HOME/settings.yaml。手工聲明的模型如果沒寫 input,默認按純文本處理,帶圖會話會直接拒絕切換,提示類似 Model ... does not accept image input;沒寫 reasoningEfforts 時,會話輸入框的模型選擇器也不會給出推理強度控件。
better-model-provider 做的事情很具體:在設置頁增加一欄「模型能力」,按模型把這幾項聲明寫進提供方 profile,不必手改 YAML,也不必改 harness 運行時。
這是什麼¶
better-model-provider 是一款面向 DeepSeek Harness 的模型與提供方插件,由 sanshanya 維護,倉庫地址是 https://github.com/sanshanya/better-model-provider ,社區目錄頁在 https://deepseek-harness-plugin.com/zh-CN/plugins/better-model-provider/ 。主要語言是 TypeScript,許可證爲 MIT,當前公開版本號是 0.0.1(2026-08-15 的首個公開發布)。GitHub 倉庫當前 6 星。
它針對的是 OpenAI 兼容提供方上、由用戶手工聲明的模型。插件本身是 UI 插件:宿主機一側只掛一個空的 keepalive 行,真正的讀寫走 harness 已有的 settings.describe / settings.mutate 和 llm.providers 契約,不引入運行時依賴,也不碰 API 密鑰。
核心能力¶
對照倉庫 README、CHANGELOG 和設置頁文案,當前能在界面裏聲明的能力有三項。
1、推理強度檔位(reasoningEfforts)
爲每個模型勾選它接受哪些檔位,並給每檔填「取值」(wire spelling),也就是發往網關時的拼寫。引擎本身支持按模型聲明檔位,官方模型選擇器也能正確展示;缺口在於自定義提供方的模型編輯器原先不暴露這個字段。檔位沒聲明時,選擇器不會出現推理強度控件。
界面上推理強度有三種寫法:使用提供方默認、無推理(false)、自定義。選自定義後展開多選列表。倉庫特別提醒:只勾 { high } 時,選擇器就只有 High;如果還需要 Off,要再勾 off(取值爲空,寫入 null)。
2、請求模態(input)
可選 text / image。手工聲明的模型默認純文本;視覺模型需要勾上 image,宿主機的圖像准入纔會放行。官方指南寫過同一件事:表單沒有這個字段,只能在 settings.yaml 裏給模型加 input: [text, image]。這個插件把這一行搬到了設置頁。
聲明只是對端點能力的聲明,插件不會去探測網關到底支不支持圖片。模型勾了 image、端點卻不收圖,請求會在提供方那邊被拒,這和官方文檔的行爲一致。
3、token 容量(contextWindow / maxTokens)
上下文窗口和最大輸出 token 可以按模型填寫。提供方默認值不對時直接改;留空表示繼承。拼寫跟官方「模型」頁同一套:K 表示千、M 表示百萬,例如 380K、1M。寫入前會校驗爲正整數計數。
以上三項作用在你已經聲明的模型上,一行配完一個模型。提供方和模型的增刪、API 密鑰,仍然只在官方「模型」頁管理;本頁不碰憑據。
安裝與啓用¶
社區目錄頁給出的安裝命令是:
dsh plugin add github:sanshanya/better-model-provider
倉庫 README 寫得更完整。這個插件的客戶端聲明瞭 platform: web,需要裝進 web profile:
dsh plugin --profile web add github:sanshanya/better-model-provider
本地聯調可以用 link: 指向倉庫絕對路徑:
dsh plugin --profile web add link:<本倉庫絕對路徑>
裝完後重啓 dsh web,瀏覽器硬刷新,設置側邊欄會出現「模型能力」。
目錄頁也提示:如需可復現安裝,請固定 commit 哈希。當前 main 最新提交爲 13e37c69055155e27ce6cdd0c29f5d85306e8a6f(2026-08-17),寫法如下:
dsh plugin --profile web add github:sanshanya/better-model-provider#13e37c69055155e27ce6cdd0c29f5d85306e8a6f
卸載:
dsh plugin --profile web rm better-model-provider
插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前請檢查源代碼倉庫和許可證。
典型用法¶
倉庫給出的操作順序如下。
- 先在官方「模型」頁把提供方配好,密鑰只在那邊保存。本頁不讀寫憑據。
- 打開 設置 → 模型能力。如果還沒有任何提供方,頁面會提示「暫無提供方」,並讓你先去官方「模型」頁配置。
- 展開目標模型行:推理強度選「自定義」並勾選檔位;視覺模型把輸入模態的
image勾上;提供方默認的上下文窗口 / 最大輸出不對時,按380K、1M這類寫法填進去。 - 點「應用」。選擇器會立刻只提供所聲明的檔位;圖像准入也會按聲明放行。寫失敗時草稿會留在頁面上,衝突時會提示設置文檔已在別處變更,對照刷新後的狀態再應用一次。
目錄提供方上、模型列表只存在於組裝基線層的行,本頁按只讀展示,不會把它們物化進用戶設置。未知路由會禁用能力編輯。這些行爲寫在插件的貢獻說明和界面文案裏,不是額外功能,而是爲了避免改到官方「模型」頁不該由本插件負責的部分。
適用場景與注意事項¶
比較適合這幾類用法:
- 公司網關、自建 OpenAI 兼容服務,或目錄裏沒有的提供方,模型是自己在「模型」頁手工加的。
- 同一條路由上既有純文本模型、又有視覺模型,需要按模型聲明
image。 - 網關的推理檔位拼寫和 DeepSeek / pi-ai 默認不一致,例如某檔在線上要發
ultra而不是max。 - 不想每次改
settings.yaml裏的reasoningEfforts、input、contextWindow、maxTokens。
使用時注意下面幾點。
DeepSeek Harness 仍是開發者預覽,官方 README 寫明未來會有破壞兼容性的變更。本插件對照 harness master 提交 47f943859b(2026-08-13)做過驗證,對應發佈線是 0.1.0-rc.6。已知最低可用契約包括 settings.describe/mutate、llm.providers、{ rpcId, result } 信封和模型行 schema。settings.section 的註冊形態被當作實驗兼容面:更新版本的 harness 如果不提供該面,插件會靜默降級,而不是把設置頁弄壞。換新版本後如果側邊欄沒有「模型能力」,先覈對 harness 版本,再看插件是否還匹配當前契約。
插件只編輯模型能力,不負責提供方生命週期。密鑰、base URL、模型增刪仍走官方「模型」頁。能力聲明也不會替你驗證端點是否真的支持圖片或某個推理檔位。
社區目錄是獨立站點,不是官方應用商店。目錄頁與 GitHub 上的星標、最近推送時間可能不同步;安裝命令以你實際使用的來源爲準,本文同時給出了目錄頁原文和倉庫 README 中帶 --profile web 的寫法。
小結¶
自定義提供方在 DeepSeek Harness 裏並不難配,難的是把「這個模型到底能幹什麼」寫進 profile。官方界面管密鑰和模型列表,reasoningEfforts 與 input 過去只能手改 YAML。better-model-provider 在設置頁加了一欄「模型能力」,按模型聲明視覺輸入、推理檔位和 token 容量,寫的還是同一份 settings,不改 harness 運行時。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/better-model-provider/
GitHub:https://github.com/sanshanya/better-model-provider