跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI

Jetson 部署 OpenClaw 联动 Ollama 与 llama.cpp 大模型配置模板

综述由AI生成在 Jetson Orin NX 上部署 OpenClaw 本地大模型的推荐方案,采用 Ollama 作为主模型后端,llama.cpp 作为备用或专用模型后端,并结合 Ollama embeddings 实现记忆搜索功能。文章提供了详细的配置文件模板、环境变量设置、启动顺序及远程控制配置,并指出了避免将 Ollama 接口误配为 OpenAI 兼容模式等常见坑点,确保在资源受限设备上稳定运行。

深海蔚蓝发布于 2026/4/6更新于 2026/5/2432 浏览

Jetson 上建议的联动方式是:OpenClaw -> Ollama(主模型,原生 API)+ llama.cpp(备用/低资源模型,OpenAI 兼容 API)+ Ollama embeddings(memorySearch)。 这样做的原因是,OpenClaw 官方把 Ollama + openclaw onboard 作为最低冲突的本地方案;同时它也支持把 vLLM / LiteLLM / 自定义 OpenAI-compatible 本地代理 作为额外 provider 接进来。Ollama 这边,OpenClaw 明确推荐走原生 http://host:11434,不要给它配 /v1,否则工具调用会变差;而 llama.cpp 的 llama-server 则原生提供 OpenAI-compatible chat completions / responses / embeddings 路由,适合当第二套本地后端。

另外,OpenClaw 的本地模型指南也明确提醒:它默认期待大上下文和较强的提示注入防护,小硬件上的强量化/小模型更容易丢上下文或降低安全裕量。所以在 Jetson Orin NX 16G 上,更稳的策略是把 Ollama 设为主模型,把 llama.cpp 设为 fallback 或专用模型,而不是反过来。

下面给你一份推荐版模板: 特点是 Ollama 走自动发现,你不用手工维护本地模型清单;llama.cpp 作为一个显式自定义 provider 接入;memorySearch 用 Ollama 的 /api/embeddings。OpenClaw 的文档说明,只要设置了 OLLAMA_API_KEY 且没有显式写 models.providers.ollama,它就会从本地 http://127.0.0.1:11434 自动发现模型。memorySearch.provider = "ollama" 也是官方支持的,只是不会自动选中,所以这里显式打开。

先准备环境变量:

export OLLAMA_API_KEY="ollama-local"
export OPENCLAW_GATEWAY_TOKEN="replace-with-a-long-random-token"

把下面保存为 ~/.openclaw/openclaw.json:

{
  "identity": {
    "name": "Jetson-Claw",
    "theme": "local edge agent",
    "emoji": "🦙"
  },
  "gateway": {
    "bind": "loopback",
    "port": 18789,
    "auth": {
      "token": "${OPENCLAW_GATEWAY_TOKEN}"
    }
  },
  "agent": {
    "workspace": "~/.openclaw/workspace"
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "ollama/qwen2.5:7b-instruct",
        "fallbacks": [
          "llamacpp/qwen2.5-7b-instruct-gguf",
          "ollama/llama3.2:3b"
        ]
      },
      "models": {
        "ollama/qwen2.5:7b-instruct": { "alias": "Ollama 主模型" },
        "llamacpp/qwen2.5-7b-instruct-gguf": { "alias": "llama.cpp 备用" },
        "ollama/llama3.2:3b": { "alias": "Ollama 小模型" }
      },
      "memorySearch": {
        "enabled": true,
        "provider": "ollama",
        "model": "YOUR_OLLAMA_EMBED_MODEL",
        "fallback": "none",
        "cache": {
          "enabled": true,
          "maxEntries": 50000
        },
        "sync": {
          "watch": true
        }
      }
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "llamacpp": {
        "baseUrl": "http://127.0.0.1:8080/v1",
        "apiKey": "llama-local",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwen2.5-7b-instruct-gguf",
            "name": "Qwen2.5 7B Instruct GGUF",
            "reasoning": false,
            "input": ["text"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 4096,
            "maxTokens": 1024
          }
        ]
      }
    }
  }
}

这个模板的关键点有三个:

第一,Ollama 不写 models.providers.ollama。因为官方文档说,一旦你显式写了 models.providers.ollama,自动发现会被关闭,你就得自己维护模型列表;不写则会自动从本地 Ollama 实例发现模型。

第二,llama.cpp 走 /v1,并用 api: "openai-completions"。OpenClaw 官方对'其他 OpenAI-compatible 本地代理'给的标准接法,就是 models.providers.<id> + baseUrl + api + models 这一套;而 llama.cpp 官方文档确认 llama-server 提供 OpenAI-compatible 路由。

第三,memorySearch 用 Ollama,不用 local。因为 OpenClaw 文档里写得很清楚:memorySearch.provider = "local" 走的是 node-llama-cpp,可能需要额外的 pnpm approve-builds / pnpm rebuild;而 memorySearch.provider = "ollama" 是官方支持的本地/self-hosted embeddings 路径,更适合先把 Jetson 跑稳。

启动顺序

先起 Ollama。Ollama 官方 API 默认就在 http://localhost:11434/api。

ollama serve
ollama list

然后起 llama.cpp:

~/src/llama.cpp/build/bin/llama-server \
  -m ~/models/base/model.gguf \
  --host 127.0.0.1 \
  --port 8080 \
  -c 4096 \
  -np 1 \
  -ctk q8_0 \
  -ctv q8_0

再检查两个后端:

curl http://127.0.0.1:11434/api/tags
curl http://127.0.0.1:8080/v1/models

最后让 OpenClaw 读配置:

openclaw gateway restart
openclaw models list
openclaw health
openclaw gateway status
如果你想把 Ollama 也改成'显式配置'

只有在这几种情况下才建议这么做:你要连远程 Ollama、你想强制指定 contextWindow/maxTokens、或者你想完全手工管模型列表。官方文档明确说,远程 Ollama 时应使用 baseUrl: "http://host:11434",不要加 /v1,并把 api 设成 "ollama" 以保证原生工具调用行为。

对应模板是:

{
  "models": {
    "mode": "merge",
    "providers": {
      "ollama": {
        "baseUrl": "http://127.0.0.1:11434",
        "apiKey": "${OLLAMA_API_KEY}",
        "api": "ollama",
        "models": [
          {
            "id": "qwen2.5:7b-instruct",
            "name": "Qwen2.5 7B Instruct",
            "reasoning": false,
            "input": ["text"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 8192,
            "maxTokens": 2048
          },
          {
            "id": "llama3.2:3b",
            "name": "Llama 3.2 3B",
            "reasoning": false,
            "input": ["text"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 8192,
            "maxTokens": 2048
          }
        ]
      }
    }
  }
}
远程控制这台 Jetson 的模板

OpenClaw 官方建议把 Gateway 绑在 loopback,然后通过 SSH 隧道 从笔记本连进去;默认网关端口是 18789。如果你希望本地电脑上的 OpenClaw CLI 默认连这台 Jetson,可以把 gateway.mode: "remote" 和 gateway.remote.url/token 写进去。

先在你的笔记本上开隧道:

ssh -N -L 18789:127.0.0.1:18789 user@jetson-host

然后在本地电脑的 OpenClaw 配置里加:

{
  "gateway": {
    "mode": "remote",
    "remote": {
      "url": "ws://127.0.0.1:18789",
      "token": "your-token"
    }
  }
}

这样之后本地的 openclaw health、openclaw status 之类就会默认走这个远程 Gateway。

两个最容易踩的坑

不要把 OpenClaw 连 Ollama 时写成 http://127.0.0.1:11434/v1。 官方文档明确说,这会切到 OpenAI-compatible 模式,工具调用会变得不可靠,模型可能把工具 JSON 当纯文本吐出来。

不要一开始就把 memorySearch.provider 设成 local。 这条路走的是 node-llama-cpp,本地编译和依赖更重;Jetson 上先用 ollama embeddings 更省心。

参考链接
  • Local Models - OpenClaw: https://docs.openclaw.ai/gateway/local-models
  • Ollama - OpenClaw: https://docs.openclaw.ai/providers/ollama
  • Memory configuration reference - OpenClaw: https://docs.openclaw.ai/reference/memory-config
  • Introduction - Ollama: https://docs.ollama.com/api/introduction
  • Remote Access - OpenClaw: https://docs.openclaw.ai/gateway/remote

目录

  1. 启动顺序
  2. 如果你想把 Ollama 也改成“显式配置”
  3. 远程控制这台 Jetson 的模板
  4. 两个最容易踩的坑
  5. 参考链接
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 UltraScale 架构 FPGA 的 System Manager Wizard 使用:温度与电压监测
  • C++ 互斥量、锁与条件变量详解
  • Transformer、LLM 与 Stable Diffusion 模型对比分析
  • 在 VS Code 中集成 MiniMax M2.1 进行 AI 辅助编程
  • OpenClaw 开源 AI Agent 框架介绍与架构解析
  • Flutter Web 混合开发:构建跨平台 Web 应用
  • 学术论文知网 AIGC 检测原理与降重实操指南
  • Cesium 无人机智能航线规划:航点动作组与 AI 识别实战
  • 前端跨域问题的常见调试与解决方式
  • Web 自动化测试入门:Selenium 原理与实战
  • 开源 RAG UI:Kotaemon 构建文档问答系统
  • C++ 实现 JSON+HTTP Web 服务器与计算器实战
  • 微信 H5 缓存控制:后端重定向与前端强制刷新
  • spdlog 日志库嵌入式 Linux C++使用指南
  • Stable Diffusion WebUI 整合包安装与实战指南
  • AI Infra 基础架构:定义、核心组件与发展趋势
  • Python 格式化符号及转义字符用法详解
  • 利用 Cursor AI 快速生成 SpringBoot4+Vue3 学生信息管理系统
  • CPU、MCU、SoC 与 FPGA 核心概念对比
  • Spring Boot RESTful API 开发实战与测试指南

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online