🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

本地模型服务 miloye7711-dotcom/dsh-local-model

DeepSeek Harness
miloye7711-dotcom8 天前有提交已提供中文文档扫描:含敏感能力

按名字启停本地推理服务器并取回模型引用

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add miloye7711-dotcom/dsh-local-model
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · model
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 3 处,展示前 3 条)
  • 发起网络请求
    src/index.ts:173
    const response = await fetch(url, { signal: AbortSignal.timeout(timeoutMs) })
  • 写入本地文件
    src/index.ts:380
    mkdirSync(join(homedir(), '.dsh', 'local-model'), { recursive: true })
  • 写入本地文件
    src/index.ts:381
    appendFileSync(DIAG_LOG_PATH, `${new Date().toISOString()} ${text}\n`, 'utf8')
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-commands@deepseek-ai/dsh-llm@deepseek-ai/dsh-subprocess@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-local-model DeepSeek Harness 插件,让模型能启动、停止、查看本地推理服务器——Strata、Ollama、llama.cpp,或任何能响应 OpenAI 兼容模型列表的服务。 智能体按名字请求服务器,拿回 provider/model 引用,可以在该服务器前面的模型路由上选用。中间没有 shell 脚本,插件里也没有针对每台机器的硬编码:服务器就是部署配置。 帮我把本地的 ollama 拉起来,用 qwen2.5:7b local_model start ollama → ollama: answering on port 11434 - ollama-local/qwen2.5:7b 安装 还没上 npm。把它放进 harness 的检出目录,或从配置档里链接: git clone https://github.com/miloye7711-dotcom/dsh-local-model.git cd dsh-local-model pnpm install pnpm run build 然后按绝对路径挂载构建好的包,或用 pnpm link 链到要加载它的 harness 里。 file: 依赖会把包复制进配置档的 node_modules;改完源码后,重新构建,再把 lib/ 和 client/ 复制过去,或者重装配置档。
展开完整文档(README 剩余 1 节)
dsh-local-model

DeepSeek Harness 插件,让模型能启动、停止、查看本地推理服务器——Strata、Ollama、llama.cpp,或任何能响应 OpenAI 兼容模型列表的服务。

智能体按名字请求服务器,拿回 provider/model 引用,可以在该服务器前面的模型路由上选用。中间没有 shell 脚本,插件里也没有针对每台机器的硬编码:服务器就是部署配置。

帮我把本地的 ollama 拉起来,用 qwen2.5:7b

local_model start ollama
→ ollama: answering on port 11434 - ollama-local/qwen2.5:7b

安装

还没上 npm。把它放进 harness 的检出目录,或从配置档里链接:

git clone https://github.com/miloye7711-dotcom/dsh-local-model.git
cd dsh-local-model
pnpm install
pnpm run build

然后按绝对路径挂载构建好的包,或用 pnpm link 链到要加载它的 harness 里。

file: 依赖会把包复制进配置档的 node_modules;改完源码后,重新构建,再把 lib/ 和 client/ 复制过去,或者重装配置档。

配置

声明这套组合可以启动哪些服务器。command、args、cwd 原样交给子进程服务商——不走 shell,所以任何 shell 风格的写法都得自己展开。

- id: local-model
name: 'dsh-tool-local-model'
config:
default: strata # what the bare toggle and the composer chip act on
exclusive: true # starting one engine stops the others
servers:
ollama:
command: 'ollama'
args: ['serve']
cwd: '%USERPROFILE%'
port: 11434
provider: 'ollama-local'

strata:
command: 'D:\Strata\.venv\Scripts\python.exe'
args:
- 'D:\Strata\serve\server.py'
- '--engine'
- 'strata'
- '--config'
- 'D:\Strata\strata-iq2_xs.json'
- '--port'
- '8080'
cwd: 'D:\Strata'
port: 8080
provider: 'strata-local'

startTimeoutMs: 900000 # cold start budget (default 15 min)
probeTimeoutMs: 5000 # one readiness probe (default 5 s)

| 字段 | 含义 |
| command | 可执行文件名或绝对路径 |
| args | 参数,原样传入 |
| cwd | 子进程的工作目录 |
| env | 额外环境变量,合并到服务商的环境上 |
| port | 服务器监听的端口 |
| provider | provider/model 引用里的路由名;默认取配置键 |
| modelsPath | 返回模型列表的 HTTP 路径;默认 /v1/models |

servers 表为空也合法:工具照常注册,只是没有可启动的服务器。

动作

| action | 行为 |
| list | 只列出正在响应的服务器 |
| status | 列出所有已配置的服务器,无论是否在响应 |
| start | 进程没起来就拉起,然后等到模型列表能应答为止;已经起来时重复调用无副作用;预算耗尽就终止子进程;server: "all" 启动所有已配置的服务器 |
| stop | 终止进程并等待退出——只针对本插件启动的服务器;server: "all" 停掉它拥有的所有服务器 |
| toggle | 翻转单个服务器:能应答就停掉,没起来就启动;不给名字时作用于 default |

启动一个服务器会停掉本插件拥有的其他服务器,因为 exclusive 默认为 true:两个本地引擎通常抢同一块显存。设 exclusive: false 可让多个服务器同时驻留。

就绪判定只有一次 HTTP GET <modelsPath>:服务器至少列出一个模型就算起来了。这条规则对 OpenAI 兼容服务器和 Ollama 形式的列表都成立(data[].id 或 models[].name)。

斜杠命令

/local-model [status | list | start [server|all] | stop [server|all] | toggle [server] | diag <text>] —— 在输入框里执行同样的操作。diag 会往 ~/.dsh/local-model/client-diag.log 追加一行带时间戳的记录。

输入框控件与快捷键

客户端部分在 conversation.composer.dock 注册两个 11px 的 chip:本地模型 只翻转 default 服务器,▾ 打开一个 272px 的面板,里面有 状态、每个已配置服务器一个 ● name / ○ name chip、每个对外公布的 ref 一个 用 <provider/model> 按钮,以及最近一次结果文本。面板只在打开时存在,所以 dock 行保持正常宽度;状态文本也会通过宿主命令输出落到会话记录里。

Ctrl+Shift+L(macOS 上是 Cmd+Shift+L)在页面任意位置执行同样的翻转。默认绑定按平台配置档写在 SHORTCUT_DEFAULTS 里,改键走 harness 的快捷键设置。

本插件不做什么

它只管进程生命周期,不管路由。要把模型请求真正发到它启动的服务器,得加一条 LLM 适配器路由,baseURL 指向那个服务器的端口——比如一个 @deepseek-ai/dsh-llm-pi-ai 服务商:

- id: llm-pi-ai
name: '@deepseek-ai/dsh-llm-pi-ai'
config:
providers:
ollama-local:
api: openai-completions
baseURL: http://127.0.0.1:11434/v1
headers: { Authorization: 'Bearer ollama' } # placeholder: keyless server
models:
- id: qwen2.5:7b
name: 'Qwen2.5 7B (Ollama)'
contextWindow: 32768
maxTokens: 8192

结果里的 refs 给出的正是那里要选的 provider/model 写法。

设计说明

- 不新增能力接缝。 这是现有 subprocess 能力上的一个 Consumer;再定义一份服务也不会有第二个消费者。
- 终止覆盖整棵进程树,因为它走的是 harness 其余部分也在用的同一个 subprocess 服务商——被杀的服务器不会留下孤儿工作进程。
- 不折腾 KV 缓存。 工具描述和参数 schema 都是固定文本,轮次之间这里什么都不变。
- 归属校验是强制执行的,不靠假设。 如果某个服务器在端口上有响应,但它是在别处启动的,stop 会拒绝处理,而不是去杀掉一个并非本插件创建的进程。

开发

pnpm install
pnpm run typecheck # strict, no emit
pnpm test # 7 tests over a real ToolRuntime
pnpm run build # lib/ + declarations

测试里按接缝的形状伪造了子进程服务商,因此实际发布的插件主体未经改动,就能跑在真实的 ToolRuntime 和真实的 HTTP 监听器上。

许可证

MIT
预览分享卡片长什么样 ↓miloye7711-dotcom/dsh-local-model
分享 · DeepSeek Harness Hub
miloye7711-dotcom/dsh-local-model

按名字启停本地推理服务器并取回模型引用

回到顶部