引言

为了保护隐私,本人用一台低性能的云服务器,用于部署openclaw(小龙虾),但是用了一段时间发现付费的api太贵,免费的又慢又不好用,刚好手上有一个高性能笔记本,所以想着用本地算力解决api费用问题,实现了一套“云端调度、本地推理”的混合架构。

1. 核心架构

我们的目标是建立如下的数据流向:

OpenClaw (外网云端) -> ngrok 公网隧道 -> 本地代理转发 (Header 处理) -> Ollama (本地私有化推理引擎)

  - 模型:Gemma 4:26B (具备极佳的推理能力与工程素质)
  - 引擎:Ollama (提供 OpenAI 兼容接口)
  - 隧道:ngrok (高性能内网穿透)

2. 准备阶段:本地模型启动

首先,确保你的本地 Ollama 已经跑起来了(教程:https://blog.csdn.net/m0_71614333/article/details/160481374?spm=1011.2415.3001.5331

# 拉取gemma4:26b模型
ollama pull gemma4:26b

# 启动ollama服务

ollama serve

如果报错:Error: listen tcp 0.0.0.0:11434: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.,那就先把ollama后台关掉,再输入指令

# 设置模型路径

set OLLAMA_MODELS=D:\xxxx\ollama\models

# 设置允许的请求来源(Origins)为“所有”(*)

set OLLAMA_ORIGINS=*

# 设置让 Ollama 监听所有网络网卡(0.0.0.0)

set OLLAMA_HOST=0.0.0.0

3. ngrok 下载

https://dashboard.ngrok.com/get-started/setup/windows

解压并运行ngrok.exe

在打开的ngrok命令行窗口中输入:

ngrok config add-authtoken [你自己的token]

token在ngrok里获取

4. ngrok建立公网隧道(ollama默认11434)

继续在刚ngrok命令行窗口输入

ngrok http 11434


然后记录下生成的 Forwarding 地址,例:https://xxxxxxxx-free.dev

5. 配置 OpenClaw 接入,如果没部署openclaw:https://blog.csdn.net/m0_71614333/article/details/158706779?sharetype=blogdetail&sharerId=158706779&sharerefer=PC&sharesource=m0_71614333&spm=1011.2480.3001.8118

现在,你的本地模型已经拥有了一个公网身份。进入 .openclaw.json 进行配置修改:


  "models": {
    "mode": "merge",
    "providers": {
      "ollama-ngrok": {
        "baseUrl": "https://xxxxxxxxxxxxxxxxxx-free.dev/v1",
        "apiKey": "ollama",
        "api": "openai-completions",
        "models": [
          {
            "id": "gemma4:26b",
            "name": "gemma4:26b",
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "ollama-ngrok/gemma4:26b"
      }

6.运行演示

ngrok成功接收openclaw的post请求

ollama服务成功响应

7. 实战避坑指南

1.  超时设置:26B 模型推理较慢,务必在 Python 代理和 OpenClaw 端调大 Timeout 时间(建议 > 120s)。
2.  Context Window:Gemma 4 支持长上下文,但 ngrok 免费版带宽有限,如果上下文极大,传输可能会有延迟,建议配合 Stream
    流式输出 使用。
3.  安全建议(强烈建议):ngrok 暴露了你的本地接口。建议在 Python 代理层加入简单的 if headers.get("Authorization") !=
    "your-secret": 鉴权。

结语

通过这套方案,我成功让外网部署的 OpenClaw 拥有了本地算力加持。这种“私有化模型 + 云端
Agent”的模式,不仅保障了核心数据的安全性,更在低成本的前提下实现了生产级的智能体协作。免责声明:本教程设计网络安全,请注意识别!

作者:MadPrinter

时间:2026.4.24
 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐