很多人私信问我,OpenClaw 到底值不值得长期跑,为什么我后来能把成本从每个月 600 美元直接砍到 20 美元。我寻思了下,干脆把整套省钱思路和部署细节都整理出来。先说结论:OpenClaw 是一个开源智能体编排平台,能把各种模型、工具和自定义技能串成自动化工作流,适合折腾 AI 自动化的人、独立开发者、以及想用较低成本跑个人 AI 助理的小团队。这篇文章不是给你讲概念,而是给你一套我从踩坑里总结出来的“穷鬼版”OpenClaw 运行方案,从成本拆解到 Windows 下的完整搭建,再到模型关联和日常省钱策略,全部可复制。
如果你现在还在用纯云端托管、商业大模型 API 一路跑到底,那你大概率和我最开始一样,月底看到账单就肉疼。我现在的方案是本地部署 + 廉价开源模型 + 按需唤醒,稳定运行几个月,月成本稳定在 20 美元以内。下面我把所有细节摊开讲,包括为什么这么干、具体怎么操作、哪些地方容易翻车。
1. 成本拆解:为什么 OpenClaw 能花掉 600 美元?
1.1 费用都花在哪了
很多人以为 OpenClaw 只是一个小工具,跑几个自动化任务能费多少钱?真相是,当你真正把 OpenClaw 接入日常工作时,它就像一个永不停机的“数字员工”:要调模型推理、要访问知识库、要同步文件、要跑定时任务,还可能挂着多路 agent 同时处理对话和工具调用。我之前犯的最大的错误,就是把它当成一个“装好就能忘”的服务,结果费用从三块五块一路涨到了 600 美元。
我粗略复盘过那段时间的账单,主要开销分四块:
| 开支类别 | 具体原因 | 月均费用 |
|---|---|---|
| 云端推理 API | 每天数千次调用,长上下文对话和工具调用轮次特别烧 token | 约 300 美元 |
| 云主机/容器托管 | 为保证响应速度,使用常驻的 GPU/高性能实例 | 约 150 美元 |
| 向量数据库与存储 | 知识库、历史会话、日志索引增长很快 | 约 80 美元 |
| 配套服务与集成 | Webhook、邮件推送、监控告警、第三方服务订阅等 | 约 70 美元 |
最讽刺的是,其中大量费用是“空转”造成的:凌晨三点没有任务,模型调用照跑;一个简单的定时任务因为上下文过长,每次都把完整历史塞进请求里;日志和向量库疯狂膨胀,存储费用叠加上去。这些问题单看都不大,合在一起就成了 600 美元。
1.2 为什么把目标定在 20 美元
20 美元不是拍脑袋定出来的,而是我算完“本地推理 + 按需调度 + 精简存储”的可行性之后得出的值。2026 年开源模型已经非常能打了,一台普通桌面电脑或者笔记本的 CPU/内存就能跑 3B 级别的小模型,做日常助理和工具调度完全够用。真正必须调用云端模型的高难度推理场景不多,偶尔用一次廉价长尾 API 就行。这样下来固定成本只剩下:电费摊销、极少量对象存储、偶尔的 API 调用费,20 美元是合理的预算上限。
这个目标也倒逼我做了三件事:第一,把常驻云端实例全部砍掉,改成本地 WSL2 环境;第二,把高频推理切成本地的小参数模型,比如 Qwen2.5-3B;第三,给所有 skill 和工作流加上“休眠/唤醒”机制,不让它在没事干的时候傻跑。这三件事做完,账单曲线直接断崖式下跌。
2. 省钱重构:本地 WSL2 + 开源模型,核心思路是什么
2.1 核心原则:能本地推理的,绝不云端跑
OpenClaw 这类智能体框架的核心消耗点是模型调用,所以省钱的第一原则就是把模型调用分层。我在实操中把任务分成三个层级:
- 高频、短上下文、确定性强的任务,比如定时抓取信息、格式化数据、触发脚本,交给本地小模型,用 Qwen2.5-3B 这类 3B 参数模型就够了,速度快、成本几乎为零;
- 中频、需要一定推理能力但允许稍慢的任务,比如生成摘要、整理会议记录,可以用本地 7B/14B 模型,或者选择按次计费的低价 API;
- 低频、高难度任务,比如复杂代码生成、长文档理解、多轮工具调用规划,才考虑强模型,但一天基本不超过几十次,费用可控。
这么一分,600 美元里的大头就被削掉了。我实测下来,OpenClaw 日常 80% 以上的任务不需要强模型,用本地 Qwen 就能跑得很顺。
2.2 环境选型:为什么是 Windows + WSL2,而不是直接上 Linux 服务器
如果你手头有闲置的 Linux 服务器,那当然好。但大多数人的日常开发机是 Windows,专门为跑 OpenClaw 买一台 Linux 云主机,那成本又上去了,完全违背省钱初衷。所以我的建议是:在本地 Windows 上用 WSL2 跑一个 Ubuntu 环境,OpenClaw 的 Linux 部署模式直接复用。
WSL2 相比传统虚拟机有优势:启动快、内存动态分配、和 Windows 文件系统互通。OpenClaw 在 WSL2 Ubuntu 里跑,你日常还是用 Windows 桌面端操作,Windows Companion 负责桥接系统通知、剪贴板、文件访问这些能力,体验非常接近原生应用。
有人担心 WSL2 的网络和性能会不会拖后腿。我实际测下来,跑 Qwen2.5-3B 这种小模型,主要瓶颈反而不是 WSL2 的性能开销,而是内存和内存带宽。只要你不是用上古电脑,基本没问题。后来官方也一直在优化 Windows 下的支持,相关配置越来越顺。
2.3 模型选型:为什么是 Qwen2.5-3B,而不是更大更强的模型
很多人的直觉是“模型越大越聪明”,但省钱实战里,模型选型的第一指标是“能不能用最少的资源完成目标”。Qwen2.5-3B 这个档位在 OpenClaw 场景下非常均衡:量化后模型文件大概 2GB 左右,内存占用 4-6GB,现代电脑都能跑;工具调用能力虽然不如大模型,但应付“读取参数、调函数、返回结构化结果”这类 OpenClaw skill 任务已经够用;中文指令跟随也很稳定。
关联 OpenClaw 时,我用的是 Ollama 加载 Qwen2.5-3B,再通过 OpenAI 兼容接口暴露给 OpenClaw。这样 OpenClaw 只需要配置一个 base_url 指向本地的 Ollama 服务,就能像调用商业 API 一样调用本地模型。如果你以后想升级 7B 模型,也只需要改配置里的模型名,不用动 OpenClaw 的结构。
注意:3B 模型不是万能的。如果你的 OpenClaw 工作流里有很多复杂工具调用,建议给本地模型配上“降级策略”,也就是本地模型不自信时自动转云端强模型。这个我在后面第 4 章会详细讲。
3. 实操部署:Windows 下 OpenClaw 完整搭建(含 WSL2、Node.js、Windows Companion)
3.1 前置检查:WSL2 环境与版本验证
在 Windows 上部署 OpenClaw,第一步不是装 OpenClaw,而是把 WSL2 环境整干净。很多人在这一步就翻车,最常见的问题就是弹出“无法安全验证 WSL2 环境”之类的提示,或者在 PowerShell 里执行wsl --status发现根本没有可用的 Linux 发行版。
我先说标准流程:
- 以管理员身份打开 PowerShell;
- 启用 WSL 功能:
wsl --install; - 重启电脑;
- 安装 Ubuntu 发行版:
wsl --install -d Ubuntu; - 验证环境:
wsl --status,正常会显示默认版本为 WSL2,内核版本和发行版状态正常。
如果你运行wsl --status时提示“未安装用于 Linux 的 Windows 子系统”,大概率是没正确启用虚拟机平台,或者系统版本太老。2026 年的 Windows 11 基本都预装支持,Windows 10 则需要手动确认“适用于 Linux 的 Windows 子系统”和“虚拟机平台”两项功能是否开启。
我在实际部署时遇到过wsl --status显示正常,但启动 Ubuntu 时直接报错的情况。后来发现是 BIOS 里虚拟化被关了,进 BIOS 开启 Intel VT-x 或 AMD-V 才解决。这类问题通常不会在 OpenClaw 文档里写,但十有八九会遇到。
3.2 安装 Node.js 与 OpenClaw
OpenClaw 的底层跑在 Node.js 上,所以你需要装一个可用的 Node.js 环境。这里我强烈建议去 Node.js 官网下载 LTS 版本,而不是用系统自带的老旧版本。我在测试时用过系统包管理器装的 Node 18,结果 OpenClaw 的 skill 加载模块时报了一堆兼容性错误,换成官网最新的 LTS 20+ 后一切正常。
安装顺序:
- 打开 Node.js 官网下载 Windows 安装包;
- 一路默认安装,注意勾选“自动安装必要的工具”;
- 重启终端,验证
node -v和npm -v; - 进入 WSL2 Ubuntu 环境,用 npm 全局安装 OpenClaw CLI:
npm install -g openclaw; - 运行
openclaw init初始化配置目录。
如果你希望 OpenClaw 跑在 Windows 侧而不是 WSL 侧,也可以直接在 Windows 的 Node 环境里安装。但我个人更推荐 WSL2 里装,因为 OpenClaw 的许多依赖和 skill 脚本默认按 Linux 路径设计,Windows 侧容易遇到路径分隔符、权限模型不一致的坑。Windows Companion 组件会帮你处理跨环境的通信,所以不用太担心两边隔离。
提示:安装完
openclaw后,第一次运行前务必先执行openclaw doctor检查环境依赖,它会直接告诉你缺什么,比你自己瞎猜快得多。
3.3 Windows Companion 的配置与作用
OpenClaw 的 Windows Companion 主要承担“本地系统集成”的功能:把 OpenClaw 和 Windows 的通知中心、剪贴板、文件资源管理器、电源计划等打通。比如你在 OpenClaw 里写一个 skill,“当收到关键词提醒时,往 Windows 通知中心弹一条提醒”,就是靠 Companion 实现的。
配置 Windows Companion 分几步:
- 下载并安装 Windows Companion 客户端;
- 确保它和 WSL2 里的 OpenClaw 处于同一个用户会话中;
- 在 OpenClaw 的配置文件里启用 companion 插件,填入本地通信端口;
- 重启 OpenClaw,在配套的 dashboard 里检查连接状态。
配置完成后,你可以在 OpenClaw 的 skill 里调用companion.notify、companion.clipboard、companion.file这类方法。我刚开始配置时,因为没开 Windows 防火墙的入站规则,一直连不上,后来在 Windows 安全中心给 Node.js 放行了专用网络的访问权限才正常。这个问题在官方 issue 里也常见,值得提前注意。
3.4 把 Qwen2.5-3B 关联进 OpenClaw
关联本地模型是整个省钱方案的重中之重。我的做法是:
- 在 WSL2 Ubuntu 里安装 Ollama:
curl -fsSL https://ollama.com/install.sh | sh; - 拉取 Qwen2.5-3B 模型:
ollama pull qwen2.5:3b; - 让 Ollama 监听外部连接:默认 Ollama 只监听 127.0.0.1,我把它改成
0.0.0.0,并设置环境变量OLLAMA_HOST=0.0.0.0:11434; - 在 OpenClaw 的配置文件里,把模型 provider 指向
http://localhost:11434/v1,模型名填qwen2.5:3b; - 设置
OPENAI_API_KEY为任意占位值(比如ollama),因为 Ollama 的 OpenAI 兼容接口不校验 key。
这样 OpenClaw 就把本地 Ollama 当成了一个“假的 OpenAI API”来用,所有工具调用和对话请求都走本地模型。我实测在 WSL2 里拉取量化版 Qwen2.5-3B 后,单次推理的响应时间在几十到几百毫秒,日常够用。
如果你想进一步提升速度,可以给 Ollama 设置OLLAMA_NUM_PARALLEL和OLLAMA_KEEP_ALIVE,控制并发数和模型在内存中的保活时间。我一般设置OLLAMA_KEEP_ALIVE=30m,避免模型常驻内存浪费资源。
3.5 Skill 裁剪与工作流优化
OpenClaw 的 skill 是它的灵魂,也是成本黑洞。默认安装会带一堆示例 skill:网页抓取、时间管理、邮件发送、日历同步、代码执行……这些 skill 平时不用也会加载,占了内存不说,还可能因为配置了外部 API 而偷偷产生费用。
我建议按这个顺序做裁剪:
- 删除你根本用不到的 skill 目录;
- 把依赖外部服务的 skill(比如云同步、付费 API 查询)统一禁用,除非你真的需要;
- 给保留的 skill 设置清晰的触发条件,减少模型误调用;
- 把常用 skill 的输入输出写死为 JSON 结构,减少模型自由发挥导致的多轮调用。
关联 Qwen2.5-3B 之后,skill 的复杂度更要控制,因为小模型的工具调用能力有限。我把一个复杂的“自动生成周报”的 skill 拆成三步:先本地模型提取要点,再用脚本排序,最后把文本发给邮件接口。这样每一步都简单明确,小模型不会卡壳。
4. 成本控制与日常运行:从 600 到 20 的关键策略
4.1 云端调用降级为本地推理,怎么设计降级链
本地模型再强也有短板,所以省钱的另一个关键是“动态降级链”。我的配置里,本地 Qwen 作为主模型,但每个任务会根据预估复杂度打一个标签。OpenClaw 的自定义逻辑可以选择:简单任务只走本地模型,复杂任务才调用云 API。
降级链不一定要写在 OpenClaw 配置里,也可以在 skill 内部实现。比如我在某个 skill 里定义一个函数:先用本地模型生成答案,如果置信度分数低于阈值,或者本地模型返回报错,就直接发请求到一个便宜的云端 API。用这种方式,我把强模型的调用量从每天几千次降到了每天十几次,费用自然就下来了。
4.2 无任务时的休眠与唤醒机制
OpenClaw 默认跑起来之后,模型服务、定时器、WebSocket 监听都会一直待命。如果常年开着,哪怕不干活,CPU 和内存也有固定开销。想省钱省电,就要学会“睡觉”。
我在 WSL2 里跑了两个组件:Ollama 模型服务和 OpenClaw 主进程。Ollama 有OLLAMA_KEEP_ALIVE控制模型保活,但主进程没有内置的休眠选项。我的解决办法是写一个简单的脚本,检测 OpenClaw 的事件队列是否为空、最近 15 分钟有没有请求,如果没有就暂停整个 WSL 子系统:
wsl --shutdown需要用时再启动 WSL,拉起 OpenClaw。配合 Windows 计划任务,每天早上自动启动,晚上 11 点自动关闭,完全能满足个人助理的需求,电费和资源占用都降下来了。
注意:
wsl --shutdown会把所有 WSL 里的进程都停掉,记得设计好定时任务的重启逻辑,否则第二天可能会遇到“OpenClaw 没起来,错过了定时任务”的情况。我会在 WSL 启动时执行一个startup.sh,把 Ollama 和 OpenClaw 一起拉起。
4.3 日志、存储与监控的精简
日志和向量库是隐藏的钱坑。OpenClaw 默认会记录大量调试日志,时间长了占用好几个 GB 的磁盘,如果同步到云存储,费用更高。我的做法是:
- 日志级别设为
info,只保留错误和关键事件; - 日志轮转周期设为 7 天,过期自动清理;
- 向量库只存真正需要长期检索的文档摘要,不把所有历史会话都塞进去;
- 定时任务每周清空一次临时目录。
这些操作看似琐碎,但加起来能减少 90% 以上的存储用量。之前 80 美元的存储费用,现在几乎可以忽略不计。
4.4 每月账单复盘,固定成本是怎么控制在 20 美元的
我把账单复盘成一个表格,每月底对着看:
| 项目 | 优化前 | 优化后 |
|---|---|---|
| 推理 API | 300 美元 | 5 美元 |
| 云实例 | 150 美元 | 0 美元 |
| 存储/向量库 | 80 美元 | 2 美元 |
| 配套服务 | 70 美元 | 13 美元 |
| 合计 | 600 美元 | 20 美元 |
其中配套服务里的 13 美元主要是域名、邮件转发和少量云函数,这些很难完全去掉,但有降价空间。20 美元的背后是“能本地就不上云、能不常驻就不常驻、能清掉就清掉”三个原则,不是单纯把某个云产品退订就行的。
5. 踩坑实录:OpenClaw 部署中的常见问题与排查
5.1 “wsl --status”显示环境异常,可能卡在哪
很多人在 PowerShell 里执行wsl --status后,看到“默认版本: 1”“没有已安装的分发”或者“正在进行首次安装”,第一反应就是装错了。其实这几个状态代表完全不同的原因:
- “默认版本: 1”说明 WSL2 内核可能没装,执行
wsl --update更新内核; - “没有已安装的分发”说明你没装 Linux 发行版,执行
wsl --install -d Ubuntu; - “正在进行首次安装”说明系统还在初始化,等一会再执行。
如果状态正常但 OpenClaw 还是连不上,可以试试wsl --shutdown然后重启 WSL,有时候是 WSL 的网络代理残留导致端口不通。
5.2 “无法安全验证”的弹窗,到底怎么解决
在 Windows 的某些版本上,启动 WSL2 或安装 Ubuntu 时会弹出“无法安全验证此二进制文件”之类的提示。这个问题通常和 Windows 的安全中心对未签名应用的拦截有关,尤其是从命令行手动下载的 WSL 内核包。
我的解决顺序是:
- 检查系统更新,把 Windows 补丁打全;
- 从官方渠道下载并安装最新的 WSL2 内核;
- 如果弹窗仍然出现,尝试用管理员 PowerShell 执行
wsl --update --web-install强制走在线安装; - 确认杀毒软件没有拦截 wsl 相关进程。
只要 WSL 版本是新的,这个问题基本是环境问题,不是 OpenClaw 的问题。别一看到弹窗就跑去重装系统,先按这个顺序排查。
5.3 Node.js 版本引发的 skill 加载失败
我遇到过两次 skill 加载失败,一次是 Node 版本太旧,一次是 Node 版本太新(版号是奇数,属于非 LTS)。OpenClaw 对 Node 版本的要求比较保守,强烈建议使用 LTS 版本,并且不要在系统里同时装多个互相冲突的 Node。
验证版本很简单:
node -v npm -v如果在 WSL2 里安装,最好用nvm管理 Node 版本,这样升级和回退都方便。我的经验是,把 Node 固定在 LTS 的偶数版本,比如 20.x,基本能避开绝大多数兼容性问题。
5.4 内存与 CPU 占用飙升,小模型也不该这么吃
有时候你会看到 OpenClaw 进程内存占用狂涨,这往往是三个原因:
- 日志缓冲没有及时刷盘;
- 向量数据库把整个索引加载进内存;
- 某个 skill 在死循环里反复调用工具。
我的排查方法是:先执行openclaw doctor看运行状态,再用top或 Windows 任务管理器找到占用最高的进程,最后打开 OpenClaw 的 dashboard 查看最近任务队列。问题多出在 skill 的递归反馈上,也就是模型调用工具,工具返回结果又触发模型继续调用,形成了无限循环。给 skill 加上最大工具调用轮次限制,比如 5 轮,能有效防止这个问题。
6. 写在最后的体会:省钱不是目的,好用才是
把 600 美元降到 20 美元,最大的感受不是“省了钱”,而是我终于敢让 OpenClaw 一直跑着了。以前每跑一个任务都在心里算钱,很多实验因为怕烧钱不敢做;现在本地模型让我随意折腾,需要更强的推理时再临时调云 API,整个使用心态完全不一样。
如果你正在被 OpenClaw 的账单吓到,我建议你先从小处改造:第一步,把能迁移到本地的模型迁到本地;第二步,把不需要的 skill 关掉;第三步,给 WSL2 设置定时休眠。这三步做完,账单大概率能降 80% 以上。剩下的精调,边跑边看。
我个人还有一个习惯:每次改完配置,都会记账本上写“改了啥、为什么改、效果如何”。不要小看这个习惯,因为 OpenClaw 的配置项很多,几个月后你再回头看,一定会感谢当初那个写备注的自己。最后再说个小技巧,OpenClaw 的配置文件和 skill 脚本记得用 Git 管理,每次改动前先提交一个版本,出了问题一条命令就能回滚。这是我在多次“改完就崩、崩完不知道改了什么”的惨痛经历后的血的教训。