DSH-LocalModels-TokenSavior:零云端 token 成本调用本地 Ollama 模型

前言

在 DSH(DeepSeek Harness)生态中,调用云端模型处理大文件或日志会产生显着的 token 成本。本插件将只读采集任务(如日志扫描、字段抽取、计数去重)委派给本机 Ollama 模型执行。这种方式不消耗云端 token,不需要 API key,且原文不进入主对话上下文,仅返回结论。

插件定位

  • 名称:DSH-LocalModels-TokenSavior
  • 分类:模型推理
  • 维护者:Movingelated
  • 核心价值:将只读任务卸载至本地 Ollama,实现零云成本的数据采集与预处理。

安装与启用

本插件是一个 DSH bundle,需要通过 plugin_manager 安装。

  1. 安装命令:
    在 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 指向该路径
  1. 生效要求:
    安装后重启 DSH。宿主插件是模块代码,DSH 不做热替换。

前置条件

启用插件前,必须满足以下条件,否则无法完成委派:

  1. Ollama 可访问:本机 Ollama 必须可访问,默认地址为 http://127.0.0.1:11434。
  2. Provider 路由:llm-pi-ai 中必须存在一条名为 ollama-local 的 provider 路由。
  3. 模型声明:要委派的模型 ID 必须写在路由的 models: 列表里。

配置方式

插件提供独立的「本地模型」面板,位于设置中。

  • 开关与选择:在面板中可以直接开关启用状态,或切换默认模型。
  • 即时生效:enabled、model、baseURL 是 volatile 字段,修改后失焦即保存,无需重启。
  • 代码配置(无界面时):修改 profile 中的 local-ollama-models 配置段,设置 enabled: true 并指定 model。

核心工具

插件提供两个主要工具函数:

  1. ollama_local_models()

    • 用途:只读查询环境状态。
    • 返回:Ollama 端点连通性、版本、可用模型清单(含体积、量化、上下文、人设警告)。
  2. subagent_local({ task?, kind?, prompt?, mode?, model?, label?, collect? })

    • 用途:将只读采集任务派发给本地模型执行。
    • 行为:原文不进上下文,只回结论。
    • 参数说明:
      • task:推荐使用,直接描述任务(对象 + 字段/口径)。
      • kind:任务类型(如 classify、qa、extract)。
      • prompt:完整提示词(可选,优先级高于模板)。
      • mode:执行模式(如 fast、balanced)。
      • collect:高级用法,用于宿主侧代取素材并自动切块,避免大文件占用上下文。

使用示例

  1. 环境检查:
    先调用工具确认本机 Ollama 状态:
    ollama_local_models()
  1. 执行只读任务:
    使用 subagent_local 进行数据抽取或日志分析:
    subagent_local({
      task: "统计 error 级别日志数量",
      kind: "count",
      model: "qwen2.5-coder:32b" // 指定模型
    })
  1. 大语料处理:
    当素材较大时,使用 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜