前言¶
在 DSH(DeepSeek Harness)生态中,调用云端模型处理大文件或日志会产生显着的 token 成本。本插件将只读采集任务(如日志扫描、字段抽取、计数去重)委派给本机 Ollama 模型执行。这种方式不消耗云端 token,不需要 API key,且原文不进入主对话上下文,仅返回结论。
插件定位¶
- 名称:DSH-LocalModels-TokenSavior
- 分类:模型推理
- 维护者:Movingelated
- 核心价值:将只读任务卸载至本地 Ollama,实现零云成本的数据采集与预处理。
安装与启用¶
本插件是一个 DSH bundle,需要通过 plugin_manager 安装。
- 安装命令:
在 DSH 中执行:
plugin_manager → action: install_bundle → target: "github:Movingelated/DSH-LocalModels-TokenSavior"
或者通过 git 克隆后指定路径安装:
git clone https://github.com/Movingelated/DSH-LocalModels-TokenSavior.git
# 然后使用 install_bundle 指向该路径
- 生效要求:
安装后重启 DSH。宿主插件是模块代码,DSH 不做热替换。
前置条件¶
启用插件前,必须满足以下条件,否则无法完成委派:
- Ollama 可访问:本机 Ollama 必须可访问,默认地址为
http://127.0.0.1:11434。 - Provider 路由:
llm-pi-ai中必须存在一条名为ollama-local的 provider 路由。 - 模型声明:要委派的模型 ID 必须写在路由的
models:列表里。
配置方式¶
插件提供独立的「本地模型」面板,位于设置中。
- 开关与选择:在面板中可以直接开关启用状态,或切换默认模型。
- 即时生效:
enabled、model、baseURL是 volatile 字段,修改后失焦即保存,无需重启。 - 代码配置(无界面时):修改 profile 中的
local-ollama-models配置段,设置enabled: true并指定model。
核心工具¶
插件提供两个主要工具函数:
-
ollama_local_models()- 用途:只读查询环境状态。
- 返回:Ollama 端点连通性、版本、可用模型清单(含体积、量化、上下文、人设警告)。
-
subagent_local({ task?, kind?, prompt?, mode?, model?, label?, collect? })- 用途:将只读采集任务派发给本地模型执行。
- 行为:原文不进上下文,只回结论。
- 参数说明:
task:推荐使用,直接描述任务(对象 + 字段/口径)。kind:任务类型(如classify、qa、extract)。prompt:完整提示词(可选,优先级高于模板)。mode:执行模式(如fast、balanced)。collect:高级用法,用于宿主侧代取素材并自动切块,避免大文件占用上下文。
使用示例¶
- 环境检查:
先调用工具确认本机 Ollama 状态:
ollama_local_models()
- 执行只读任务:
使用subagent_local进行数据抽取或日志分析:
subagent_local({
task: "统计 error 级别日志数量",
kind: "count",
model: "qwen2.5-coder:32b" // 指定模型
})
- 大语料处理:
当素材较大时,使用collect参数进行自动切块:
subagent_local({
task: "归类日志",
collect: {
path: "/var/log/app",
pattern: "ERROR|WARN",
chunkLines: 1000 // 每片不超过 1000 行
}
})
注意事项¶
- 计数需人工复核:插件返回的分类与定位可信,但计数结果必须自己机械复核(如使用 grep)。
- 大语料先切块:默认路由上下文有限,大语料必须通过
collect进行分片处理。 - 模型限制:仅适用于只读任务(读日志、抽字段、看图),不适用于代码交付或改写。
链接¶
- 插件目录:https://www.skillhub.cn/plugins/Movingelated/DSH-LocalModels-TokenSavior
- 源码仓库:https://github.com/Movingelated/DSH-LocalModels-TokenSavior