很多想折腾 OpenClaw 的朋友,十有八九在第一步就被卡住了。OpenClaw 是腾讯开源的那个 Agent 智能体框架,类似 Manus 的开源替代品,本地部署好之后,相当于给了你一个能真干活儿的 AI 助理,查资料、写代码、操作文件、调用各种工具都可以试着让它来。
麻烦的是,它的安装文档面向的是全球用户,直接照搬到国内 macOS 上来跑,要么 npm 拉包慢到怀疑人生,要么装完了不知道去哪配模型 Key,要么在 Intel 和 Apple Silicon 芯片的 Mac 上跑出完全不一样的结果。我这篇就把 "国内 + 苹果系统 + OpenClaw" 这个组合从头到尾写透,覆盖两种安装方式、模型接入、启动验证、日常升级卸载,以及我实际踩过的坑。适合想在 Mac 上部署 OpenClaw 的开发者,也适合不熟 Node.js 但想本地跑一个 Agent 试试手的朋友。
1. 出发之前:先把 OpenClaw 和 macOS 环境这两件事捋清楚
在真正敲命令之前,我建议花三分钟搞清楚 OpenClaw 到底是什么、依赖什么、macOS 相比 Linux 到底特殊在哪。很多人装到一半失败,根源就是没搞明白它这套运行逻辑,遇到报错只能瞎试。
1.1 OpenClaw 到底是个什么东西
OpenClaw 本质上是一个本地运行的个人 AI 智能体跑腿框架。它不是一个简单的聊天机器人,而是把大模型当"大脑",再给它接上工具集——比如读写文件、执行 Shell 命令、调用 HTTP 接口、操作浏览器——让它能根据你的指令拆解任务、规划步骤、逐步执行,最后把结果反馈给你。
类比一下你就懂了:ChatGPT 这类产品像是你雇了一个只动嘴的顾问,OpenClaw 则更像你雇了一个能动手的实习生。这个实习生平时住你电脑里,你给它配好模型大脑,它就能按你的要求去执行具体任务。
它基于 Node.js 生态开发,所以核心依赖就是 Node、npm(或者 pnpm)这两个东西。安装的本质,说白了就是把 OpenClaw 的源码和依赖包拉到你电脑上,然后用 Node 去跑起来。理解了这一点,后面所有步骤都是在跟"包管理"和"运行环境"打交道,思路就会清晰很多。
1.2 为什么 macOS 上装它比 Linux 多出几个步骤
macOS 确实比 Windows 更接近 Linux,因为它本身是 Unix 内核,终端环境、文件权限、Shell 命令都比较友好。但你别以为这样就万事大吉了,它有几个坑是 Linux 上没有的。
第一,macOS 不自带包管理器。Linux 发行版基本都有 apt 或 yum,macOS 你得先装 Homebrew,不然连 Node.js 都不好装(虽然你也可以去官网下 pkg 安装包,但后续升级管理远不如 Homebrew 方便)。
第二,芯片架构不同,软件兼容性有差异。Intel 芯片是老 x86_64 架构,Apple Silicon(M1/M2/M3/M4)是 arm64 架构。虽然 Node.js 两种架构都有官方支持,但依赖原生模块编译时偶尔会出现二进制不匹配或者编译器环境问题。
第三,macOS 的 Gatekeeper 和权限机制比较严格。从网上下载的工具、编译产物、未签名脚本,系统可能会拦截。第一次运行某些命令时,可能还会弹权限授权窗口,这些都是 Linux 上不会遇到的。
把这些前置认知准备好,再往下走,你就知道每一步到底是在干什么了,而不是复制粘贴命令完事。
2. 安装前准备:10 分钟搞定基础环境
在 macOS 上装 OpenClaw 之前,必须把基础环境搭好。这一步相当于盖房子打地基,地基不稳,后面盖再漂亮都是白搭。
2.1 先确认你的 Mac 是什么芯片、什么系统版本
老规矩,先确认硬件信息。点击屏幕左上角苹果图标,选"关于本机",就能看到两个关键信息:一个是芯片型号,比如"Apple M3 Pro"或者"Intel Core i7";另一个是 macOS 版本号,比如 13.6 或 14.5。
为什么要先看这两个?
第一,芯片架构决定了你装 Homebrew 时目录会出现在哪,后面配置 PATH 环境变量时会用到。Apple Silicon 的 Mac,Homebrew 默认装在/opt/homebrew;Intel 芯片的 Mac,默认装在/usr/local。这个差异很关键,配置错了命令会提示找不到。
第二,OpenClaw 基于 Node.js 生态,较老的 macOS 版本可能无法运行新版本的 Node.js。比如 macOS 10.15(Catalina)对最新 Node 20/22 的支持就很吃力。我的建议是,至少在 macOS 12 以上再折腾,如果你是 Intel 老机器且系统止步在老版本,安装 Node 时选 18 系列会更稳。
2.2 装 Homebrew:macOS 上最好用的包管理器
如果你已经装过 Homebrew 而且平时在用它,直接跳过这一步。没装过的,打开终端(Terminal),粘贴这一行:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"这会从 GitHub 拉取 Homebrew 的安装脚本并执行。国内网络环境下这一步确实有可能很慢,如果卡住,可以把下载源替换为国内镜像站,比如中科大或者清华的 Homebrew 镜像。具体做法很简单,把上面的地址里的raw.githubusercontent.com换成对应镜像地址,然后重新执行。
安装完成后,注意终端输出末尾的提示:如果它告诉你需要把 Homebrew 加到 PATH 里,就照着它给的两行命令执行。Apple Silicon 芯片的机器,通常需要执行:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)"然后验证一下:
brew --version能输出版本号,说明 Homebrew 装好了。你用 macOS 13 或更高版本,大概率用的是 zsh,配置要写在~/.zprofile里,而不是老的~/.bash_profile。
2.3 装 Node.js:版本选不对,后面全是坑
OpenClaw 要求 Node.js 版本至少 18,我实际体验下来,20 和 22 的 LTS 版本最省心。别装最新的奇数版本,那通常是非 LTS 的,可能不稳定。
用 Homebrew 装 Node.js 最省事:
brew install node@20注意,Homebrew 会把 node@20 安装为 keg-only 的软件包,意思是它不会被默认链接到系统 PATH 中,怕跟系统自带的 node 冲突。所以装完还需要手动把它加进 PATH,执行:
echo 'export PATH="/opt/homebrew/opt/node@20/bin:$PATH"' >> ~/.zprofile source ~/.zprofile如果你是 Intel 芯片,路径里的/opt/homebrew换成/usr/local即可。
装完验证两个东西:
node -v npm -v分别显示v20.x.x和10.x.x之类的版本号就对了。注意,这一步千万别偷懒跳过,我见过太多人后面 OpenClaw 装不上,回头一查是 node 都没装好。
2.4 给 npm 配国内镜像,别把时间浪费在等待上
这一步算是"国内"关键词里最有含金量的一个建议。npm 默认官方源在国外,直接执行npx openclaw@latest或者npm install,有可能慢到一分钟才蹦几百 KB,严重的时候直接超时中断。
解决办法是换成国内镜像源,比如淘宝的镜像:
npm config set registry https://registry.npmmirror.com设置完可以验证:
npm config get registry输出了https://registry.npmmirror.com就说明生效了。这个改动是全局的,以后你所有 npm 项目都会从这个镜像拉包,国内使用体验提升非常明显,实测下来能把安装时间缩短一个数量级。
还有一个坑要提醒你:很多 OpenClaw 相关的依赖包会附带 postinstall 脚本,这些脚本有可能要去 GitHub 下载二进制文件,镜像源管不到这一层。如果遇到这类问题,一般需要单独配置环境变量或者给对应工具设置代理,这个我们在后面问题排查部分再说。
3. 正式安装 OpenClaw:两条路可以走
基础环境准备好之后,就开始重头戏了。OpenClaw 官方提供两种主流的安装思路,一种是 npx 快速路线,适合大多数用户;另一种是从 GitHub main 分支直接检出的源码路线,适合想追新或者要改源码的开发者。
3.1 快速路线:npx 一条命令直接驱动
最直接的安装方式,其实不需要"安装"——用 npx 直接运行最新版本。
打开终端,执行:
npx openclaw@latest init这条命令会自动下载 OpenClaw 最新包,并在当前目录生成一个项目文件夹。如果你希望项目放到指定目录,可以给这个命令加上文件夹名:
npx openclaw@latest init my-claw执行过程中,它会问你几个问题,包括:用什么包管理器(npm 还是 pnpm)、要不要安装一些推荐的 skill(技能包)、是否初始化 Git 仓库等。这些选项没有绝对的对错,新手建议直接按默认回车。
等它跑完,你会得到一个名为my-claw的目录,里面已经有项目骨架了。进入目录:
cd my-claw然后启动:
npx openclaw start第一次启动会自动安装项目依赖并初始化一些本地资源。如果你更习惯全局安装,也可以执行:
npm install -g openclaw之后在任何目录都能直接用openclaw start启动了,不用每次敲npx。
3.2 源码路线:用 Git 从 main 分支检出并自行安装
另一条路线是直接拉官方 GitHub 仓库的 main 分支源码。适用场景是你想参与开发、修改内部逻辑,或者官方最新代码修复了一个你急需的 bug,但还没发布到 npm。
操作方式很常规,先克隆仓库:
git clone https://github.com/openclaw/你的仓库地址.git cd openclaw注意,OpenClaw 的实际仓库地址以官方文档标注的为准,GitHub 上搜索结果可能会有很多同名仓库,别认错。克隆完成后,安装依赖并构建:
npm install npm run build构建完成之后,用npm start或者node 入口文件启动。源码方式装的,如果 main 分支更新了,你需要手动git pull重新构建;而用 npm/npx 方式装的,升级时就简单很多,后面我会讲。
不管哪条路线,装完之后目录里核心的东西是一个配置文件,名字一般是openclaw.config.json或者openclaw.config.ts,以及存放技能包的skills/目录。
3.3 初始化后目录里到底有什么
我见过不少同学,项目初始化成功了,但面对一堆文件一脸懵。这里简单解构一下:
package.json:Node 项目的元信息文件,记录了项目依赖、脚本命令等。openclaw.config.json:OpenClaw 的核心配置文件,模型的 Provider、API Key、默认参数都写在这里。skills/:技能包目录。OpenClaw 支持通过安装 Skill 扩展能力,就像给 AI 助理添加新的"工具包",比如文件处理、网页抓取、定时任务等。logs/或.openclaw/:运行时产生的日志、缓存、凭据存储等,不用管它,但排查问题时会用到。
搞清楚这些文件是干嘛的,后面配模型、装技能、查日志时就知道该去哪找。
4. 模型接入:让 OpenClaw 有大脑能干活
OpenClaw 本体只是一副骨架,真正让它发挥作用的是大模型。你需要给它配置一个模型服务商和 API Key,它才能完成"理解指令、规划步骤、执行任务"这个循环。
4.1 OpenClaw 支持哪几类模型服务商
OpenClaw 在模型接入层面兼容性做得比较广,主要分三类。
第一类是官方大模型服务,比如 OpenAI 的 GPT 系列、Anthropic 的 Claude 系列,配置时直接填官方 API 地址和 Key 就行。这些服务国内直连通常有难度,所以我一般不太建议作为国内用户的首选。
第二类是国内大模型厂商,包括阿里通义千问(DashScope)、智谱 AI、DeepSeek 等。它们很多都提供 OpenAI 兼容接口,也就是说你可以像调用 OpenAI 一样调用它们,只要把 baseUrl 换掉、把模型名换成对应的型号。这个方案对国内用户最友好,延迟低、支付方便、注册快捷。
第三类是本地模型,比如 Ollama 这类工具在本地跑开源模型,再把 OpenClaw 指向本地接口。好处是数据不出本机、免费可控,坏处是模型能力上限低,还要看你 Mac 的显存和内存扛不扛得住。
4.2 配置文件写法与 API Key 设置
配置模型的核心动作就是编辑配置文件。找到openclaw.config.json,如果你是用 npx 方式初始化的,第一次启动 OpenClaw 时它通常会引导你进行交互式配置,会把模型服务商、Key 等写进去。如果没走这个流程,你也可以手动创建或修改配置文件。
以阿里云百炼(DashScope)的通义千问为例,配置文件大致长这样:
{ "model": { "provider": "openai-compatible", "apiKey": "sk-你的API-Key", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "model": "qwen-max", "options": { "temperature": 0.7 } } }再举个 DeepSeek 的例子:
{ "model": { "provider": "openai-compatible", "apiKey": "sk-你的DeepSeek-Key", "baseUrl": "https://api.deepseek.com/v1", "model": "deepseek-chat" } }如果你有 OpenAI 官方 Key,配置就是 baseUrl 用默认的https://api.openai.com/v1。有些用户通过国内中转服务商获取 OpenAI 兼容能力,原理一样,只要把 baseUrl 换成中转服务商给你的地址就行。
4.3 国内用户怎么选模型和配置接口更稳
根据我这段时间的体验,国内用户在配置 OpenClaw 模型时,有一个清晰的优先级参考:
首选国产大模型的 OpenAI 兼容接口。原因很简单:法律合规稳妥、网络延迟低、无需额外技术改造。比如通义千问的 qwen-max、DeepSeek 的 deepseek-chat,在多数 Agent 任务上表现都够用。
其次,如果任务对推理能力要求比较高,可以选择中转服务商提供的 OpenAI 或 Claude 兼容接口,但要注意选有信誉的服务商,避免 Key 泄露和接口不稳定。
最后,纯本地跑可以选 Ollama 加载 Qwen2.5 这类开源模型。不过要做好心理准备:7B 级别的模型在复杂任务上的效果跟云端大模型差距还是很明显的,适合做隐私敏感的基础任务,不适合做高难度推理。
这里有一个很多新手会遇到的坑:修改配置文件后,必须重启 OpenClaw 才能生效。如果你改了配置但没重启,它照样用旧配置跑。其次,配置文件里如果同时存在环境变量和 config 文件里的 Key,优先级要看官方文档说明,一般环境变量优先级更高。排查问题时先确认到底是谁在生效,别瞎猜。
5. 启动 OpenClaw 并跑通第一个任务
安装和配置都完成,接下来就是把服务跑起来,实际验证一下它能不能正常工作。这一步也是最容易暴露问题的环节,我尽量把可能出现的情况都说到。
5.1 启动服务与交互入口
在项目目录下执行:
npx openclaw start启动成功后,终端会显示一些日志信息,包括监听端口、加载的 Skill 数量、当前使用的模型等。通常情况下,OpenClaw 会提供一个终端交互界面和本地 API 服务,日志里会给出访问地址。
如果你在浏览器里看到http://localhost:3000之类的地址,说明有网页端界面;如果只有终端交互,也没关系,直接在终端里输入指令就行。两种入口本质一样,选自己喜欢的方式即可。
5.2 三个验证安装是否正常的小测试
装完别急着跑复杂任务,先做三个简单测试,确认环境真的正常。
第一个测试,纯对话。直接问它"你好,你是谁,用一句话介绍你的能力"。如果它正常回复,说明模型接入和基础通信链路没问题。
第二个测试,让它执行一个简单命令。比如问"帮我查看当前目录下的文件列表"。OpenClaw 如果接入了 Shell 工具或内置了文件操作能力,它应该能通过工具执行命令并返回结果。这个测试是为了验证 Agent 的工具调用链路是否正常。
第三个测试,让它处理一个小文件。比如在项目目录放一个test.txt,内容是几句中文,然后让它"总结一下这个文件的内容"。这能验证文件读写和上下文理解能力。
这三个测试都过了,说明你的 OpenClaw 基本能正常干活了。如果第二步第三步失败,大概率是 Skill 没装或者工具权限没开,回到配置文件检查skills和permissions相关配置。
5.3 常用命令速查:启动、停止、查看日志、升级
日常使用中你会频繁用到下面这些命令,我整理成一张速查表,建议直接收藏:
| 功能 | 命令 |
|---|---|
| 启动服务 | npx openclaw start |
| 初始化项目 | npx openclaw@latest init |
| 停止服务 | 终端按Ctrl+C |
| 查看版本 | npx openclaw --version |
| 升级到最新版 | npm install -g openclaw@latest(全局)或重跑npx openclaw@latest |
| 查看技能列表 | openclaw skill list(具体子命令以官方说明为准) |
| 查看运行日志 | 日志一般在.openclaw/logs/目录下,用tail -f跟踪 |
升级这件事要提醒一句:如果用全局 npm 包方式,升级命令很简单;但如果你用的是项目目录方式,升级要在项目目录里执行npx openclaw@latest update或者删掉重新 init(注意备份配置)。手动改过配置文件的,升级前一定先备份openclaw.config.json。
6. 安装过程中最常见的 6 个问题与排查方法
这一部分是我实际踩坑最多的地方,也是全文含金量最高的一部分。我把常见问题整理成速查表,配合解决方法,你遇到问题直接对照着查就行。
6.1 Node.js 版本不兼容
现象:安装 OpenClaw 时报语法错误、依赖模块编译失败,或者启动时直接提示 "You are running Node.js x.x.x"。
原因:Node.js 版本低于 18,或者装了奇数版非 LTS 版本。
解决:用node -v查版本,如果低于 18,用 Homebrew 升级:
brew install node@20然后把 PATH 设置到新版 Node,保证node -v输出的是v20.x。升级完再重新安装 OpenClaw。这个问题的隐蔽之处在于,macOS 可能自带一个旧版 Node(尤其是通过某些安装包装的),你装了新版但 PATH 顺序不对,系统还在用旧版。
我的排查技巧:先which node,看它指向哪,大概率会指向/usr/local/bin/node或/opt/homebrew/bin/node。确认自己的预期路径和实际一致。
6.2 npm install 速度慢或者直接超时
现象:npx openclaw@latest init卡在类似Downloading的状态,长时间不动,或者报 ETIMEDOUT、ESOCKETTIMEDOUT 之类的错误。
原因:npm 默认源在境外,网络质量不稳定。
解决:先设置镜像再重试:
npm config set registry https://registry.npmmirror.com如果还不行,可以考虑用 pnpm 代替 npm,它的硬链接机制在重复安装多包时明显更快。方式是安装 pnpm 后用corepack enable pnpm启用,OpenClaw init 时选择 pnpm 作为包管理器。
6.3 macOS 提示无权限 / 文件无法打开
现象:安装过程中提示EACCES: permission denied,或者启动时 macOS 弹窗提示"无法打开,因为无法验证开发者"。
原因:这有两种情况。一是安装路径无写权限,二是 macOS 的安全策略拦截未签名文件。
解决:如果是路径无权限,优先用sudo执行安装命令,但更推荐检查目录所有权,用chown -R $(whoami) ~/.npm把 npm 全局目录归属改回当前用户。如果是安全策略拦截,前往"系统设置 → 隐私与安全性",在"允许从以下位置下载的 App"里选择"仍要打开";或者在终端运行xattr -d com.apple.quarantine /path/to/程序手动移除隔离属性。
特别提醒:sudo npm install -g的用法虽然能绕开权限问题,但可能引起后续文件归属混乱,不建议作为首选。
6.4 端口被占用导致启动失败
现象:启动 OpenClaw 时提示端口或地址已被占用(EADDRINUSE)。
原因:上一次运行没有完全退出,或者系统上其他服务占了默认端口。
解决:先用lsof -i :3000(换成日志里提示的端口)查占用进程,然后用kill -9 PID结束进程,再重新启动。如果 OpenClaw 支持自定义端口,也可以在配置里把端口改掉,避免冲突。
6.5 模型连接报错、收不到回复
现象:OpenClaw 能启动,但你发消息后它一直转圈,或者报401 Unauthorized、Connection Error。
原因:这类问题十有八九出在模型配置环节,分别是 API Key 错误、baseUrl 填错(比如把官网首页地址当成接口地址填进去了)、模型名填错(比如服务商实际没有这个模型)。
解决:先回到配置文件,逐一核对这些字段。如果用的是openai-compatible,baseUrl 必须以/v1结尾——这是最容易犯的错,很多人把https://dashscope.aliyuncs.com填进去就完事了,漏了/compatible-mode/v1。其次是确认服务商后台的 Key 是启用状态、余额充足。
我的独家技巧:验证模型配置是否正确,不必先启动 OpenClaw,直接用 curl 测试接口就行:
curl https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \ -H "Authorization: Bearer sk-你的Key" \ -H "Content-Type: application/json" \ -d '{"model":"qwen-max","messages":[{"role":"user","content":"你好"}]}'如果返回正常的 JSON 回复,说明模型这块没问题,问题出在 OpenClaw 配置;如果返回错误,对照错误码去服务商后台查原因。这一步能帮你快速定位到底是 OpenClaw 问题还是模型服务问题。
6.6 升级、卸载和重装怎么干净执行
OpenClaw 迭代速度很快,新版本经常带来新功能。升级本身不复杂,但我看到过很多人在升级后遇到各种诡异问题,核心原因是升级不干净。
如果你是用全局 npm 包的方式安装,干净升级的命令是:
npm uninstall -g openclaw npm install -g openclaw@latest先卸载再装,能避免旧文件干扰。如果你原来是用 npx 方式在项目目录里跑的,升级路径是:
npx openclaw@latest init --force这个命令会根据最新模板重建项目结构,但会保留你的配置。不过保险起见,执行前先备份openclaw.config.json和skills/目录。
彻底卸载要做的三件事:删除全局包(npm uninstall -g openclaw)、删除项目目录、删除隐藏在用户目录下的数据目录(~/.openclaw或~/.openclawrc,以实际路径为准)。不删数据目录的话,即使重新安装,旧配置和日志仍可能干扰新版本。
写在最后的一些体会
我在自己的 MacBook Pro 上折腾 OpenClaw 前后花了两三天,踩过最快的捷径就是先把 Node 环境和 npm 镜像搞定,再谈安装。
说实话,OpenClaw 在 macOS 上的安装并不算复杂,毕竟核心就是一个 Node.js 应用。但如果你把它当作一个普通的 npm 包来处理,不关心配置、不关心模型接入、不关心权限,那每一步都可能暗藏惊喜。一个小的建议是,安装过程中遇到报错,先别急着复制粘贴去搜索,认真读一遍终端输出的报错信息,往往答案就在里面。
最后提一个和安装无关但很重要的点:OpenClaw 装上之后就像一个刚入职的实习生,它能干什么、干到什么程度,完全取决于你给它装了什么 Skill、配了什么模型、给了什么权限。建议安装完成之后,花点时间研究一下它的 Skill 机制,把常用的能力补上。这个项目迭代速度极快,保持跟进官方更新,你会看到它越来越顺手。