前言¶
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:指向本地目录。