前言¶
DeepSeek Harness(DSH)的擴展方式以插件爲主。若要在 DSH 的 web profile 中接入本地或遠程 Ollama 服務,常見訴求不只是“能對話”,還包括 Ollama 原生參數、模型發現和推理狀態展示。dsh-llm-ollama 是 DSH 的 Ollama 提供方插件,通過 Ollama 原生 POST /api/chat 協議接入本地或遠程 Ollama 服務,並提供整頁 Ollama 設置界面與一鍵模型發現。
這是什麼¶
dsh-llm-ollama 是由 1035041186 維護的社區插件,許可證爲 MIT,非官方出品。
它解決的是 DSH 側接入 Ollama 的提供方適配問題:把 Ollama 服務作爲 DSH 的模型提供方使用,支持對話、工具調用(tool calls)、圖片附件(多模態模型)、推理過程展示、模型參數透傳和會話級上下文覆蓋。
核心功能¶
整頁 Ollama 設置界面¶
插件通過 settings.section 擴展點提供整頁設置界面:
- 入口:設置 → Ollama。
- 可管理提供方配置。
- 提供方級參數包括 API 地址、
keep_alive、temperature(範圍 0–2)和可選 API 密鑰。 - 也提供
settings.yaml等效配置。
原生 Ollama 對話¶
插件使用 Ollama 原生協議進行對話:
- 接口:
POST /api/chat。 - 流式返回:NDJSON。
- 支持工具調用(tool calls)。
- 支持圖片附件,需配合支持視覺的多模態模型。
- 支持推理過程展示,將
message.thinking軌跡渲染爲推理塊。
模型發現¶
插件通過 Ollama 服務器接口發現模型:
- 使用
GET /api/tags拉取服務器上的模型。 - 彈窗中勾選後可加入模型目錄。
- 也可手動添加模型。
模型級參數¶
模型級參數會映射到 Ollama 的 options:
- 上下文窗口映射到
options.num_ctx。 - 最大輸出 token 映射到
options.num_predict。 - 未填上下文窗口時,默認發送
32K / 32768。
推理控制¶
推理控制項爲 thinkingCapable:
- 默認自動識別。
- 自動識別依據
/api/tags返回模型capabilities中的thinking字段。 - 如果自動判斷不符合預期,可手動覆蓋爲始終顯示或始終隱藏。
- 推理等級菜單默認提供
off/on,對應think: false/think: true。 - 支持
levels模式,並提供low/medium/high/max與默認推理等級。
會話級上下文覆蓋¶
在會話中可以使用 /ollama-context 臨時覆蓋當前會話的上下文:
- 預設:
4K/8K/16K/32K/64K/128K。 - 支持自定義值。
- 支持跟隨系統配置。
- 覆蓋值作爲
num_ctx使用。 - 僅當前會話生效。
本地或遠程服務¶
插件支持本地或遠程 Ollama 服務:
- 本地默認地址:
http://localhost:11434。 - 遠程服務填對應 API 地址即可。
- 本地與遠程的 API 地址配置方式一致。
安裝與啓用¶
環境要求¶
- DeepSeek Harness web profile。
- 已測試版本
0.1.0-rc.6。 v0.1.9起兼容0.1.1-rc.2及以上,該版本要求適配器實現prepareCall。- 需要 Ollama 服務和
curl。 - Linux / macOS 自帶
curl;Windows 10+ 自帶curl。 package.json顯示版本0.1.16、許可證MIT、private: true、engines.node >=22.19.0。
安裝命令¶
先確認 DSH web profile 可用,然後執行:
dsh plugin --profile web add git+https://github.com/1035041186/dsh-llm-ollama.git
dsh --profile web --dump-config
dsh web
第一條命令安裝插件。
第二條命令可選,用於確認 llm-ollama 插件行已存在。
第三條命令重啓 web 側,使配置生效。
安裝後,插件通過 cordis.patch.yml 與 package.json 的 dsh.bundle.patch 自動掛載 llm-ollama 插件行。
從舊版升級¶
如果從 ≤0.1.2 舊版升級,且此前手動在 cordis.patch.yml 中添加過 llm-ollama 行,需要先刪除該行再重啓,避免觸發:
duplicate loader entry id: llm-ollama
典型用法¶
本地 Ollama 服務¶
先在 Ollama 側準備模型並啓動服務:
ollama pull llama3.2:3b
ollama serve
本地服務默認監聽:
http://localhost:11434
配置 DSH 提供方¶
- 刷新頁面,進入“設置 → Ollama”。
- 配置 API 地址,例如
http://localhost:11434。 - 按需配置保持時間、溫度和可選 API 密鑰。
- 點擊“獲取可用模型”,從 Ollama 服務器拉取模型並勾選加入。
- 也可以手動添加模型。
- 展開某個模型,填寫上下文窗口,例如
32K。 - 填寫最大輸出 token。
- 配置推理控制;默認自動識別,必要時手動覆蓋爲始終顯示或始終隱藏。
保存後,該提供方會出現在會話的模型選擇器中。
會話內臨時調整上下文¶
在會話輸入框輸入:
/ollama-context
隨後選擇預設值、自定義值或跟隨系統配置。該覆蓋值作爲 num_ctx 發送,並且只作用於當前會話。
無真實 Ollama 時聯調¶
無真實 Ollama 服務時,可以運行內置 mock Ollama 服務器:
node scripts/mock-ollama.mjs
該 mock 服務器監聽:
127.0.0.1:11434
用於 /api/tags 與流式 /api/chat 聯調。
適用場景與注意¶
適合使用 DSH web profile、希望接入本地或遠程 Ollama 的使用者。尤其適合需要 Ollama 原生參數透傳、/api/tags 模型發現、num_ctx / num_predict 配置和會話級上下文覆蓋的場景。
注意以下事項:
- 這是社區插件,非官方出品。
- 插件以當前
dsh進程權限運行,安裝前應檢查源碼、倉庫與許可證。 - 圖片功能需配合支持視覺的多模態模型使用;純文本模型收到圖片會由 Ollama 報錯。
- API 密鑰字段當前僅保存憑據引用,尚未隨請求發送。
- 遠程部署鑑權建議在 Ollama 前配置反向代理,做 TLS 與訪問控制。
dsh plugin add使用 pnpmfile:/ git 協議會將插件拷貝進 profile 的node_modules,本地修改源碼不會自動反映;聯調時可改爲link:指向本地目錄。