前言¶
在 DeepSeek Harness(DSH)里跑智能体,模型通常走云端或已配置的托管路由。若你希望 Agent 直接连本机上的 LM Studio、Ollama 或其它 OpenAI 兼容服务,往往要单独改 endpoint、或在不同工具之间切换。dsh-plugin-local-llm 由社区维护者 umerkhalid204 发布,分类为「模型推理」:它把常见本地推理引擎登记为与普通 provider 相同的路由,在 Composer 的模型选择器里像选托管模型一样选本机模型,并附带扫描、切换与连通性检查能力。
这是什么¶
插件全名 dsh-plugin-local-llm(npm 包名相同,当前资料中版本为 0.2.7,MIT 许可证)。定位是:在你自己机器上提供模型服务的场景下,通过 OpenAI 兼容的 /v1/chat/completions 适配层,把各引擎注册为可配置的第三方 provider,并在 Settings 的 Models 页展示 endpoint 与模型发现结果;同时提供 local_models 工具供命令行式操作。
支持的推理引擎¶
五种 provider id 及默认 endpoint 如下(资料以 GitHub README 为准):
| Provider id | 默认 endpoint | 模型列表来源说明 |
|---|---|---|
lmstudio |
http://127.0.0.1:1234/v1 |
LM Studio,含 load state、量化、vision 等 enrichment |
ollama |
http://127.0.0.1:11434/v1 |
Ollama /api/tags 及单模型 size、量化信息 |
strata |
http://127.0.0.1:8080/v1 |
Strata,pack 名与量化相关 |
lemonade |
http://127.0.0.1:13305/v1 |
Lemonade Server,标签含 chat、vision、tool-calling、reasoning |
local-openai |
http://127.0.0.1:8081/v1 |
llama.cpp server、vLLM、LocalAI、TGI 等任意 OpenAI 兼容端点;默认关闭,避免多引擎抢同一端口 |
Strata 的列表并非稳定对外契约,因此需在配置里用 providers.strata.models 声明你实际提供的 pack 名称与 context window。五种引擎在聊天路径上均走 OpenAI 兼容接口,差异主要在「如何拉取并描述模型目录」。
核心功能¶
- Provider 路由注册:将上述引擎(在未被其它插件占用 id 时)写入 Harness 的可配置 provider 目录,与托管路由同一套选择流程。
- Settings 与 Models 页:安装为 npm 包(.tgz) 后,依赖
@deepseek-ai/schemastery可解析,settings.describe()能生成表单;endpoint 等写在providers.<id>下,且providers节点需带meta.volatile才能在 Models 页出现可编辑卡片(README 中有详细说明)。 local_models工具:扫描本机可用服务、设置 profile 默认模型、对指定 provider/model 做 ping、查看 settings 是否可在 UI 编辑。- Provider id 互斥:全局 id 只能有一个 owner。插件在 lmstudio、ollama、lemonade 等未被占用时注册;若你已在 profile 里声明了例如
strata,原 owner 继续服务,本插件仍可 scan、ping、选用该 endpoint,若要改由本插件声明的路由接管,需删除冲突声明并重载 profile。
安装与启用¶
官方 README 要求从 checkout 打 tarball 再安装,而不是直接把源码目录当 bundle(目录链接会导致 Config 缺失、Settings 表单不可用,仅能改 cordis.patch.yml)。
1、在插件源码目录打包:
npm pack --pack-destination dist # -> dist/dsh-plugin-local-llm-<version>.tgz
2、在 Harness 中:Settings → Plugins → Install bundle,指向生成的 .tgz。
若习惯在 profile 里声明条目,可在 ~/.dsh/profiles/<profile>/cordis.patch.yml 增加一行(id 固定为 local-llm,与配置命名空间及 /local-llm/api 路由一致):
- insert:
- id: local-llm
name: 'dsh-plugin-local-llm'
name 为包名,版本以你安装的 bundle 为准。运行环境需 Node.js >= 20(见 package.json 的 engines)。
典型用法¶
先确认本机对应引擎已启动且端口与配置一致,再在 Harness 会话中使用 local_models(示例来自 README):
local_models scan # 查看哪些服务在线、可服务哪些模型
local_models use provider=strata model=iq3_s
local_models ping provider=lemonade model=Qwen3-0.6B-GGUF
local_models settings # 检查是否可在 Settings 表面编辑这些引擎
use 会写入当前 profile 的默认模型,新会话将从该路由启动。任意已注册路由均可被接受,包括其它 adapter 占有的路由。
适用场景与注意¶
适合:已在本地跑 Ollama、LM Studio、Strata、Lemonade 或自建 OpenAI 兼容网关,希望在 DSH Agent 里统一选模、改 endpoint、做连通性探测的开发者。
注意:
- 插件以当前 DSH 进程权限运行;安装前请阅读仓库源码与 MIT 许可证,确认 endpoint、
apiKey等配置符合你的安全策略。 - 社区插件目录(SkillHub 等)与 DeepSeek / 幻方无官方从属关系;安装来源以你信任的 GitHub 仓库与打包包为准。
local-openai默认 disabled,启用前请确认端口不与其它引擎冲突。- 仅链接源码目录安装时,引擎可能仍能 scan/ping,但 Models 页不会出现完整 settings 表单,endpoint 变更需走 profile patch。
链接¶
- 社区目录页:https://www.skillhub.cn/plugins/umerkhalid204/dsh-plugin-local-llm
- 源码与说明:https://github.com/umerkhalid204/dsh-plugin-local-llm
经过上面的步骤,本机推理引擎即可与 Harness 的 provider 模型选择流程对齐,减少在「本地服务」与「Agent 路由」之间手工对齐 endpoint 的成本。