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
羽毛球分组比赛记分
小程序二维码

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

小夜