使用Ollama 在本地免费运行OpenClaw的详细步骤

在本地模型上运行 OpenClaw 听起来像是个业余项目,但当你真正实践一次后就会发现,很多“代理工作”实际上都是些粘合性任务,比如日志摘要、JSON 清理、消息路由、Cron 报告等等。所有这些都是你不想为每个令牌付费的事情。
Ollama 是最便捷的实现方式。它是一个本地 LLM 运行时环境,可以下载模型权重并通过 HTTP 提供服务。权重下载到磁盘后,即可完全离线运行,并且您的提示信息不会离开您的网络。
本指南重点介绍 OpenClaw + Ollama。我还会讲解最常见的问题、API 模式的重要性、如何设置本地+云端混合流程,以及如何避免本地模型输出过于冗长。
如果您已经在 VPS 上托管了 OpenClaw,并且希望网关始终保持在线,那么您可能也希望在 VPS 上安全地托管 OpenClaw。关于模型选择和提供商的权衡,OpenClaw 本身也存在模型选择的问题:Claude 和 OpenAI,即使您的“提供商”变成了 Ollama,这个问题仍然适用。
OpenClaw 和 Ollama 概述
OpenClaw 可以通过两种主要方式与 Ollama 通信:
- 使用
/api/chat端口上的Native Ollama API11434 - 使用
/v1端点实现聊天补全的OpenAI 兼容 API
Ollama 在docs.ollama.com/api/chat上提供了原生聊天接口的文档。默认的本地基本 URL 是 [此处应http://localhost:11434填写默认 URL],他们的 API 介绍中也直接提到了这一点。如果你曾经使用 curl 命令访问过它,你就会知道这完全在意料之中,而这正是它的优势所在。
OpenClaw 的提供商文档中也包含 Ollama 快速入门指南,以及一个容易让人困惑的关键细节:即使 Ollama 本身并不验证 API 密钥值,OpenClaw 仍然要求该密钥值存在。OpenClaw Ollama 提供商页面明确指出“任何值都有效”,并附有相关说明OLLAMA_API_KEY="ollama-local"。您可以在这里阅读:docs.openclaw.ai/providers/ollama。
为什么使用 Ollama 在本地运行 OpenClaw
零代币成本
如果将一半的客服呼叫路由到本地模型,您的账单就会下降。具体百分比取决于您如何使用 OpenClaw,但规律是一致的:低成本的重复性操作占据了请求数量的绝大部分。
我喜欢这种略显枯燥的框架:本地模型能让你获得可预测的成本。无论你当天聊天量多还是定时任务激增,都无关紧要。
隐私和数据控制
这并非纸上谈兵。2025 年,Harmonic Security 公布的数据显示,敏感的企业数据经常出现在 GenAI 工具的提示信息和上传文件中。Axios 总结了他们的发现,并给出了包含敏感信息的提示信息和上传文件的具体百分比。如果您的 OpenClaw 代理会接触到内部日志、发票、工单、客户邮件、工资单导出文件或“糟糕,这是个私有 URL”之类的资料,那么本地模型确实能有效降低风险。您可以点击此处阅读 Axios 的报道:员工正在向聊天机器人泄露秘密。
即使您信任云服务提供商,您仍然需要考虑策略方面的问题:数据保留、审计、法律取证和内部控制。本地运行可以缩小风险范围。
离线操作
权重下载完成后,即可离线运行。这在实验室、网络中断期间以及不应与第三方 API 通信的机器上非常有用。
降低小任务的延迟
对于短时交互,本地GPU可以在一秒内响应第一个令牌。“无需网络往返”的效果对于执行大量小工具步骤的智能体尤为显著。
本地化模式的优势和劣势分别是什么?
让我们先明确一下预期,因为人们常常会在这里感到恼火,并责怪 OpenClaw,而真正的限制是模型能力。
局部模型在以下方面表现强劲
- 执行简单操作的工具(运行命令、读取文件、解析输出)
- 格式转换、JSON提取和清理
- 日志、工单和聊天记录的简要摘要
- 路由和分类(这是紧急情况吗?这是计费吗?这是滥用行为吗?这是支持服务吗?)
- 常用语言中的基本代码生成
本地模型难以应对
- 冗长的多步骤推理需要仔细规划,并涉及多个工具调用
- 当您需要长文本“完全按照此格式输出,没有任何偏差”时,可获得高精度输出。
- 如果显存不足,就不要设置过大的上下文窗口。
- 某些多语言输出质量取决于模型和量化。
我的实用建议很简单:采用混合部署模式。让本地处理那些成本低廉的任务,而将那些需要深入思考和进行长篇写作的任务部署到云端。OpenClaw 支持按代理和按任务进行路由,因此您不会被限制在单一服务提供商。
如果你想了解为什么上下文和内存对智能体如此重要,OpenClaw 的内存解释与此相关。当内存变得庞大且混乱时,局部模型的性能会下降。
运行 Ollama 的硬件要求
人们常问“我需要什么样的GPU”,而诚实的回答是“这取决于你想运行哪个模型以及你想要多长的上下文”。不过,还是有一些不错的经验法则。
显存比GPU原始速度更重要
- 8 GB 显存足以满足许多 7B 型号在有效量化下的需求。
- 16GB 到 24GB 的显存容量,使得 14 位到 32 位型号的显卡能够流畅运行。
- 48GB 显存是运行大型模型和构建庞大场景时开始感觉逼真的临界点。
Ollama 根据 VRAM 层级对上下文长度默认值提出了自己的建议。他们的上下文长度页面列出了默认行为,并明确指出代理任务至少需要 64k 个令牌才能发挥最佳性能。请在此处阅读:docs.ollama.com/context-length。
内存和存储
RAM之所以重要,是因为权重会被映射到内存中,而且长时间的上下文操作会占用大量的CPU和内存。存储也必不可少。模型文件通常很大,除非你喜欢缓慢的冷启动,否则最好选择SSD固态硬盘。
一项有助于内存使用的设置
Ollama 文档中提供了 Flash Attention 功能以及启用该功能的具体环境变量:OLLAMA_FLASH_ATTENTION=1。随着上下文的增长,它可以减少内存使用量。Ollama 常见问题解答中也提到了这一点:docs.ollama.com/faq。
步骤 1:安装 Ollama
macOS
brew install ollama ollama serve &
Linux(Debian 或 Ubuntu)
curl -fsSL https://ollama.com/install.sh | sh sudo systemctl enable --now ollama
Ollama 默认在本地端口提供服务11434。他们的 API 介绍中列出了默认的基本 URL,方便用户进行验证。请参阅docs.ollama.com/api/introduction。
快速验证
curl http://localhost:11434/api/tags
如果返回 JSON 数据,则表示服务器正在运行。如果返回空列表,则表示您尚未拉取任何模型。
步骤 2:使用 Ollama 下载模型
模型选择是个人偏好,也带有一定的政治因素。你会看到数不胜数的“最佳模型”列表。我不会这样做。我提供的是一组模型,它们通常能很好地配合工具调用和代理提示。
本地使用的良好起点
- llama3.3通用版
- qwen2.5-coder:32b适用于代码密集型工作流程
- gpt-oss:20b是一个不错的中间方案,适合代理程序使用。
- 如果您特别想要本地推理风格模型,请使用deepseek-r1:32b。
OpenClaw 的 Ollama 提供商文档使用了其中几个 ID 作为示例。这很有用,因为它能帮助你了解其配置要求。请参阅docs.openclaw.ai/providers/ollama。
示例
ollama pull gpt-oss:20b ollama pull llama3.3 ollama pull qwen2.5-coder:32b
烟雾测试
ollama run llama3.3 "Why does the sky look blue?"
如果这样可以解决问题,那么 Ollama 就没问题,任何 OpenClaw 问题都可能是配置、API 模式或工具权限方面的问题。
步骤 3:将 OpenClaw 连接到 Ollama
你有三种可行的配置方案。选择其中一种。混用只会让你陷入配置困境。
方法A:使用Ollama启动器启动OpenClaw
Ollama 提供了一个 OpenClaw 集成页面,其中直接记录了启动器命令。它还列出了启动器的功能:如果需要,通过 npm 安装 OpenClaw,显示安全提示,选择模型,然后配置并启动网关。所有这些内容都可以在他们的 OpenClaw 集成页面上找到:docs.ollama.com/integrations/openclaw。
ollama launch openclaw
仅进行配置,不启动服务:
ollama launch openclaw --config
如果你喜欢“一键搞定”,那么这就是你想要的。
方法 B:使用 OLLAMA_API_KEY 进行 OpenClaw 自动发现
OpenClaw 的提供程序文档展示了最简单的启用模式:设置一个环境变量,OpenClaw 即可将其用作提供程序键值。该变量无需真实存在,只需存在即可。
export OLLAMA_API_KEY="ollama-local"
如果您更喜欢使用配置文件而不是环境变量:
openclaw config set models.providers.ollama.apiKey "ollama-local"
然后将默认代理模型设置为 Ollama 模型 ID:
agents: {
defaults: {
model: { primary: "ollama/gpt-oss:20b" }
}
}这条路径很好,因为添加模型就ollama pull这么简单openclaw models list。
方法 C:显式提供程序配置以实现完全控制
如果 Ollama 运行在其他主机上,或者您需要自定义上下文设置,或者您想要定义不明确宣传工具支持的模型,请使用此功能。
models: {
providers: {
ollama: {
baseUrl: "http://127.0.0.1:11434",
apiKey: "ollama-local",
api: "ollama",
models: [
{
id: "gpt-oss:20b",
name: "GPT-OSS 20B",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 8192,
maxTokens: 81920
}
]
}
}
}然后设置默认值和备用方案:
agents: {
defaults: {
model: {
primary: "ollama/gpt-oss:20b",
fallbacks: ["ollama/llama3.3", "ollama/qwen2.5-coder:32b"]
}
}
}注意:如果您定义了显式的提供程序条目,就会失去一些“自动发现模型”的便利性。这没关系。只需特意去做即可。
API模式选择及最常见的故障
这个问题值得单独成章,因为它是大多数“程序运行但回复为空”错误发生的原因。
原生模式
原生模式使用 Ollama 的/api/chatAPI。Ollama 文档中提供了该接口的文档,并且它支持流式响应。请参阅docs.ollama.com/api/chat。
在 OpenClaw 配置中,这通常是:
api: "ollama" baseUrl: "http://127.0.0.1:11434"
OpenAI兼容模式
Ollama 也支持 OpenAI 兼容性/v1。他们的 OpenAI 兼容性页面记录了支持的端点和请求字段。请参阅docs.ollama.com/api/openai-compatibility。
在 OpenClaw 中,这通常意味着:
api: "openai-completions" baseUrl: "http://127.0.0.1:11434/v1"
需要注意一点:Ollama 的 OpenAI 兼容性包含一个 Responses API 实现。OpenClaw 有自己的“openai-responses”模式,专门用于 OpenAI 更新的 Responses API。人们常常将两者混淆,导致出现奇怪的行为。如果您在 Ollama 中使用 OpenAI 兼容模式,请在构建任何功能之前,先通过简单的聊天和工具调用进行测试。
如果收到空回复或解析错误,请先切换回原生模式。原生模式是 Ollama 的最佳选择,也是其文档中推荐的首选模式。
本地模型工具权限
本地模型往往对工具和权限的使用更加字面化。如果 OpenClaw 的工具访问权限被限制,那么模型就会一直空谈它想做什么,而不是真正去做。
OpenClaw 网关安全文档解释了工具执行和沙箱的工作原理以及审批的重要性。请在此处阅读官方文档:docs.openclaw.ai/gateway/security。
一个实际的配置示例如下所示:
tools: {
profile: "coding",
allow: ["read", "exec", "write", "edit"],
exec: {
host: "gateway",
ask: "off",
security: "full"
}
}这种配置是有代价的。它比较宽松,假设机器专用于 OpenClaw,并且您可以控制对网关和消息通道的访问。如果您的实际情况并非如此,则需要收紧权限。
如果您需要更详细的安全加固检查清单,请使用OpenClaw 安全最佳实践。
Ollama 和 OpenClaw 的上下文长度设置
智能体需要上下文信息。系统提示、技能、记忆、聊天记录和工具输出都集中在同一个窗口中。如果上下文信息太少,智能体就会变得健忘且行为怪异。
Ollama 的内容页面提供了两条有用的指导:
- 它默认的上下文长度基于显存大小
- 代理任务至少需要 64k 个代币。
您可以在启动 Ollama 之前通过环境变量设置服务器端上下文长度。确切的变量名称已在 Ollama 的上下文长度文档中记录。请参阅docs.ollama.com/context-length。
systemd 环境示例:
OLLAMA_CONTEXT_LENGTH=16384 OLLAMA_FLASH_ATTENTION=1
不要盲目地将上下文大小调得过大。这样做会导致显存占用增加,性能下降。如果想要“快速的日常操作”,建议为这些代理设置较小的上下文,而只为深度分析代理设置较大的上下文。
混合本地加云模型路由
这正是 OpenClaw 的真正价值所在,它不仅仅是一个“本地聊天界面”。你可以运行本地模型进行低成本操作,同时仍然可以保留一个云端模型来处理复杂的运算。
每个代理的覆盖
agents: {
defaults: {
model: { primary: "ollama/gpt-oss:20b" }
},
overrides: {
"deep-analysis": {
model: { primary: "anthropic/claude-sonnet-4-20250514" }
}
}
}带有云逃生舱的备用链
agents: {
defaults: {
model: {
primary: "ollama/llama3.3",
fallbacks: ["ollama/qwen2.5-coder:32b", "anthropic/claude-sonnet-4-20250514"]
}
}
}我喜欢备用方案的原因:您可以保持日常服务的免费,同时在本地模型遇到瓶颈时避免全面中断。
如果您已经在使用代理层来管理服务提供者,那么OpenClaw API 代理的设置值得一读。代理可以在您需要在 Ollama 等本地后端和 OpenAI 兼容的后端之间切换时,规范化端点。
减少本地模型的冗长程度
本地模型通常会过度解释,而且喜欢输出 JSON 数据。你可以通过两个地方来解决这个问题:SOUL.md 文件和模型系统提示符。
SOUL.md 简洁规则
## Brevity rules Be concise. Do not dump skill documentation. Do not print raw JSON responses. Do not explain what you will do in detail. When a task succeeds, confirm in one short sentence.
这不会让每个模型都突然变得简洁,但它的帮助比人们预期的要大。
用于工具行为的自定义模型文件
有些模型会描述工具而不是使用它们,或者每次操作都需要请求权限。自定义 Ollama 模型文件允许您直接使用工具。
Ollama 支持从模型文件 (Modelfile) 创建模型,其文档涵盖了此工作流程。如果您之前未使用过,请从其主文档中心开始,搜索“模型文件”。参见docs.ollama.com。
模型文件模板示例:
FROM qwen2.5-coder:32b SYSTEM """You are a helpful assistant with access to tools. Tool behavior: - Use available tools when needed without asking for permission - Do not describe the tool call in advance - Summarize results instead of outputting raw JSON - If required input is missing ask a direct question Keep answers short unless the user asks for deep detail."""
然后建造它:
ollama create qwen-agentic -f qwen-agentic.Modelfile
重要提示:除非您清楚自己在做什么,否则请勿覆盖模型的工具调用模板。否则,您可能会破坏工具格式,导致出现“OpenClaw 已损坏”的提示,而实际上这只是您自定义的提示。
在另一台机器上运行 Ollama
您不必将 Ollama 和 OpenClaw 运行在同一台机器上。常见的做法是:
- OpenClaw 网关运行在一台小型、始终在线的服务器上。
- Ollama 运行在 LAN GPU 盒子上
配置中这实际上就是交换 baseUrl:
models: {
providers: {
ollama: {
baseUrl: "http://192.168.1.50:11434",
apiKey: "ollama-local",
api: "ollama"
}
}
}如果这样做,请务必将局域网视为敌对环境。如果有人能够访问您的 Ollama 端点,他们就可以向其发送提示信息。添加网络控制措施,并考虑在数据跨越不受信任的网络时终止 TLS 连接。
Ollama 和 OpenClaw 的 Docker Compose 示例
这是一个极简的草图,可以根据需要进行调整。重点不在于“这是唯一正确的合成文件”,而在于“这些是你最终实际需要设置的参数”。
services:
ollama:
image: ollama/ollama
environment:
- OLLAMA_CONTEXT_LENGTH=16384
- OLLAMA_FLASH_ATTENTION=1
volumes:
- ollama-data:/root/.ollama
ports:
- "11434:11434"
openclaw:
image: openclaw/gateway
environment:
- OLLAMA_API_KEY=ollama-local
depends_on:
- ollama如果你要使用 GPU 直通,你需要根据主机配置添加运行时和设备映射。这部分配置在不同设置之间差异很大,所以不可能存在一个通用的代码片段。
常见故障排除
OpenClaw 可以连接到 Ollama,但响应为空。
首先检查 API 模式。如果您使用的是 OpenAI 兼容模式,请暂时切换到原生模式api: "ollama",并将 baseUrl 指向指定地址http://host:11434。确认基本聊天功能正常。然后确认工具调用是否有效。
未检测到美洲驼
确认 Ollama 正在运行,然后确认 OpenClaw 是否识别到提供程序密钥值。OpenClaw Ollama 提供程序文档中显示了环境变量和配置命令。请参阅docs.openclaw.ai/providers/ollama。
OpenClaw 中没有可用的模型
跑步:
ollama list openclaw models list
如果模型存在于 Ollama 中但未出现在 OpenClaw 中,则需要使用显式提供程序配置并手动定义模型列表。这很麻烦,但可以解决问题。
工具调用失败或模型仅“谈论工具”。
检查工具权限,并考虑调整模型文件提示。同时确认您已安装所需的技能。如果您不清楚技能的安装和启用方式,OpenClaw 技能指南是很好的参考资料。
即使已取消请求,网关仍会持续请求批准。
这可能是由于安全策略和会话状态引起的。如果在会话过程中出现此问题,重启网关通常可以解决。如果您想了解安全模型及其优缺点,请阅读docs.openclaw.ai/gateway/security并将其与您当前的配置进行比较。
核查清单
如果你想要一个干净利落的“成功”时刻,请按以下步骤操作:
# 1) Ollama running curl http://localhost:11434/api/tags # 2) Pull a model ollama pull llama3.3 # 3) OpenClaw can see models openclaw models list # 4) Start gateway openclaw gateway start
然后在你的 OpenClaw 聊天或 TUI 中询问:
- “现在几点?”(应根据您的工具设置运行时间查找或命令)
- “列出当前目录中的文件”(如果允许,应使用 exec 命令)
- “汇总此 JSON”,然后粘贴一个简短的 JSON 对象
如果这些方法有效,你就可以正常运营了。
您还可以将其他本地后端与 OpenClaw 一起使用。
Ollama 并非唯一选择。如果您需要高吞吐量,或者您正在以服务形式运行 GPU 服务器,您可以考虑以下方案:
- 用于高通量 OpenAI 兼容服务的vLLM
- llama.cpp用于最小化依赖项和小型部署
- LM Studio是一款以 GUI 为先的本地设置软件,同时还提供一个
/v1端点。
OpenClaw 可以使用其“openai-completions”提供程序模式连接到与 OpenAI 兼容的后端。我们自己的免费模型设置概述中也提到了这一点,并包含示例模式:OpenClaw 的免费 AI 模型。
到此这篇关于使用Ollama 在本地免费运行OpenClaw的详细步骤的文章就介绍到这了,更多相关Ollama本地运行OpenClaw内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章

Linux环境下配置openclaw并连接到局域网ollama模型
本文介绍了如何在Linux环境下配置OpenClaw并连接到局域网内的ollama模型,包括环境准备、部署步骤、配置provider和model、飞书插件安装与配置,以及消息测试和定时任务设置,2026-03-04
OpenClaw 国内完美运行指南:自定义API 代理与飞书协同部署(CloudBot)
OpenClaw是一款强大的开源本地AI助理,适合在MacMini或Linux上“裸机部署”,本文介绍了如何通过三大核心进阶模块(无缝接入自定义聚合API、使用PM2实现7x24小时后台常驻、接2026-03-02
本文详细介绍了在macOS/Linux/Windows系统上进行本地部署的步骤,并展示了如何配置飞书机器人以实现飞书内的AI对话,文中通过示例代码介绍的非常详细,需要的朋友们下面随着2026-03-05
本文详细介绍了在MacBook Air M4芯片上使用Docker部署OpenClaw的过程,通过本文的步骤和技巧,读者可以成功部署并使用OpenClaw作为智能助理,感兴趣的朋友跟随小编一起看看吧2026-03-05
OpenClaw超轻量版本地部署指南介绍了一个功能完整且轻量级的AI助手,适用于学习和使用,该指南详细介绍了环境准备、快速安装、基础配置、核心功能体验等步骤,安装配置过程比2026-03-02
OpenClaw是一个开源的AI智能体,文章详细介绍了部署OpenClaw的流程,包括部署和配置,在过程中可以少踩很多坑,感兴趣的可以了解一下2026-03-02








最新评论