OpenClaw 部署指南
写在前面
OpenClaw 是一个很棒的开源 AI Agent 框架,但它的安装部署过程对新手来说并不友好。我花了一周时间踩完所有的坑,把完整的部署经验整理成这篇文章。
先说结论:如果你用的是 macOS,且网络环境正常,强烈建议走快速安装路线。官方脚本已经做了很多优化,大部分情况下开箱即用。手动安装是给那些喜欢折腾的人准备的——当然,你也可能是被迫的。
快速安装(推荐)
一条命令搞定,省时省力:
|
|
脚本会自动检测环境、安装依赖、配置路径。如果你的网络环境比较"特殊",建议先配好代理,速度会快很多。
如果安装脚本报错了,别急着放弃。可以先装个 opencode 排查问题——它自带免费模型,能帮你定位是网络问题还是环境问题:
|
|
手动安装
如果自动脚本在你机器上跑不通,那就动手吧。手动安装的好处是每一步都清楚自己在做什么,出问题也更容易定位。
安装 Node.js(≥ 22)
Node.js 版本管理器我推荐 nvm。直接装 Node.js 容易遇到权限问题,用 nvm 管理会清爽很多。
第一步:装 nvm
|
|
装完之后,关闭终端重新打开,或者执行:
|
|
这一步很多人会忘,然后奇怪为什么 nvm 命令找不到。
第二步:装 Node.js 22
|
|
第三步:验证
|
|
看到 v22.x.x 就对了。
配置 GitHub SSH 密钥
这是个隐藏坑。OpenClaw 依赖的 libsignal-node 包在安装时会通过 SSH 协议从 GitHub 拉取代码。如果你没配 SSH 密钥,npm install 会直接报错。
安装 Git
用 Homebrew 装,方便管理:
|
|
生成 SSH 密钥
把下面的邮箱换成你自己的 GitHub 注册邮箱:
|
|
执行后会问两个问题:
- 保存路径:直接回车,用默认的
~/.ssh/id_ed25519 - 密码:直接回车两次,留空! 这点很重要,如果你设了密码,OpenClaw 安装时会卡住让你输入,但那个时候你根本没法输入。
看到 Your identification has been saved 就说明生成成功了。
添加密钥到 SSH Agent
|
|
看到 Identity added 就行。
把公钥添加到 GitHub
|
|
这行命令会把公钥复制到剪贴板。然后去 GitHub:
右上角头像 → Settings → SSH and GPG keys → New SSH key
- Title:随便填,比如 “My Mac”
- Key type:选 Authentication
- Key:粘贴剪贴板里的内容
- 点击 Add SSH key
验证一下:
|
|
看到 Hi username! You've successfully authenticated... 就配好了。
安装 OpenClaw
全局安装 CLI:
|
|
然后运行安装向导:
|
|
这个命令会安装网关守护进程(launchd 用户服务),让 OpenClaw 能在后台持续运行。向导会引导你配置 AI 模型(Anthropic/Claude 或 OpenAI)和工作区路径。如果你暂时没有 API 密钥,可以先跳过,后面再配。
对接飞书
飞书集成是 OpenClaw 的核心功能之一,但配置起来有几个坑。
插件配置
权限配置
飞书开放平台的权限配置很繁琐,需要手动勾选大量权限。可以直接用下面的 JSON 批量导入:
安装飞书插件
直接装可能会报错:Failed to install @openclaw/feishu: npm install failed。
这是个已知问题,需要手动修复一下依赖路径:
|
|
编辑 package.json,把 "devDependencies": { "openclaw": "workspace:*" } 改成 "devDependencies": { "openclaw": "../../" }。
然后手动装依赖:
|
|
重新加载插件:
|
|
如果输出 feishu | loaded 就成功了。没成功的话看日志:
|
|
最后重启网关,再跑一次配置向导:
|
|
事件回调
配置好飞书的 App ID 和 App Secret 后,执行 openclaw gateway restart 让配置生效。
在飞书开放平台配置事件订阅时,选择"长连接"模式。添加事件时把"消息与群组"下面的全部勾上。
聊天配置
飞书插件装好了,接下来让机器人能和你聊天:
|
|
在飞书里找到你的机器人,发一条消息。机器人会回复一个配对码,回到终端批准它:
|
|
批准后就能正常对话了。
查看已配对用户:
|
|
每条记录是一个 ou_ 开头的飞书用户 ID。
一个常见报错:如果打开终端提示
compdef: command not found,是 Zsh 补全系统没初始化。在~/.zshrc开头加上:
1 2autoload -Uz compinit compinit然后
source ~/.zshrc或重开终端即可。
文件结构
了解 OpenClaw 的文件结构,出问题时能快速定位。
关键路径
~/.openclaw/
├── openclaw.json # 主配置文件(JSON5 格式)
├── credentials/ # API 密钥/OAuth(权限建议设为 600)
├── workspace/ # Agent 核心文件(建议用 Git 备份)
│ ├── AGENTS.md # 运维规则
│ ├── SOUL.md # 人格/伦理设定
│ ├── IDENTITY.md # 命名/角色/Emoji
│ ├── USER.md # 用户画像/偏好
│ ├── TOOLS.md # 工具说明
│ ├── MEMORY.md # 长期记忆(仅私聊)
│ ├── HEARTBEAT.md # 周期性检查逻辑
│ ├── scripts/ # 自定义脚本
│ ├── software/ # 软件包
│ ├── memory/ # 记忆文件
│ └── skills/ # 自定义技能
├── agents/<id>/sessions/ # 聊天记录
└── skills/加载优先级:Rules > Soul > User > Memory > Tools
备份机制
你会看到 openclaw.json.bak、openclaw.json.bak.1 这样的文件。这是 OpenClaw 的自动备份,每次 openclaw config set 修改配置时都会自动创建,最多保留 5 个版本。
恢复配置:
|
|
清理旧备份:
|
|
建议不要手动改备份文件,交给系统自动管理。如果有特别重要的配置版本,用 openclaw config export 导出,或者纳入 Git 版本控制。
Chrome 浏览器集成
OpenClaw 可以控制 Chrome 浏览器执行自动化任务。有两种模式可选。
托管模式(推荐)
托管模式让 OpenClaw 完全管理一个独立的 Chrome 配置文件,稳定性最好:
|
|
完成设备配对:
|
|
注意:使用托管模式时,记得关闭 Chrome 扩展程序,否则流量会走扩展的通道,可能出问题。
Chrome 扩展模式
这个模式比较繁琐,每次打开新标签页都要点击扩展图标确认 ON 状态。只建议在托管模式无法工作时使用。
|
|
然后在 Chrome 中启用"开发者模式",点击"加载已解压的扩展程序",选择上面输出的目录。
获取 Token:
- 命令行:
openclaw config get gateway.auth.token - 配置文件:
openclaw.json→auth→token
进阶使用
OpenClaw 的强大之处在于可以自定义 Skill,让 AI 具备各种专业能力。下面介绍一些实用的 Skill 及其配置方法。
🎯 实用 Skill 清单
| Skill 名称 | 作者 | 功能描述 |
|---|---|---|
| Humanizer-zh | - | 去除文本中的 AI 生成痕迹,让内容读起来更自然 |
| Proactive Agent | halthelobster | 将 AI 智能体从任务执行者转变为能预见需求、持续优化的主动伙伴 |
| Find Skills | JimLiuxinghai | 帮助用户发现并安装 skills |
| self-improving-agent | pskoett | 记录学习心得、错误与修正,推动持续改进 |
| Ontology | oswalpalash | 为结构化智能体记忆与可组合技能构建的类型化知识图谱 |
| Auto-Updater Skill | maximeprades | 每天自动更新 openclaw 和 skill |
| Peekaboo Skill | Peter Steinberger | macOS UI 自动化 CLI,捕获/检查屏幕、定位 UI 元素、驱动输入 |
| Using Superpowers | zlc000190 | 强制 Agent 先搞清楚自己有哪些高级能力、在什么场景下用哪一项,而不是凭感觉瞎试,相当于优化器 |
| capability-evolver | - | AI 代理的自我进化引擎。它分析运行时历史记录来识别改进点,并应用协议约束的进化机制 |
| cognitive-memory | - | 智能多存储器记忆系统,具有类似人类的编码、巩固、衰减和回忆功能 |
| awspace | Pdf 读取、处理和内容提取 |
📖 jina-reader
作者:ericsantos
功能:通过 Jina AI Reader API 提取网页内容,支持三种模式:
- 读取:URL 转 Markdown
- 搜索:网页搜索 + 全文提取
- 核实:事实核查
配置方法:
|
|
🖼️ aliyun-image-skill
项目地址:https://github.com/StanleyChanH/aliyun-image-skill
支持的模型:
| 类型 | 模型名称 | 特点 |
|---|---|---|
| 文生图 | qwen-image-max | 高质量,真实感强 |
| 文生图 | qwen-image-plus | 性价比高,多样化风格 |
| 文生图 | qwen-image | 基础版 |
| 图像编辑 | qwen-image-edit-max | 高质量编辑 |
| 图像编辑 | qwen-image-edit-plus | 性价比高 |
| 图像编辑 | qwen-image-edit | 基础版 |
| 图像翻译 | qwen-mt-image | 图像文字翻译,保留排版 |
配置方法:
|
|
⚠️ 常见问题:即使已在
~/.zshrc中设置环境变量,OpenClaw 通过exec执行命令时不会自动加载。推荐使用全局.env文件解决此问题。
推荐配置方式:
在 ~/.openclaw/.env 文件中添加:
|
|
环境变量加载优先级(从高到低):
- 进程环境(当前 shell 中已设置的环境变量)
- 当前工作目录的
.env文件 - 全局
.env文件(~/.openclaw/.env) - 配置
env块(openclaw.json中) - Shell 环境导入
🔍 Tavily Web Search
作者:arun-8687
功能:联网搜索能力,需要 Tavily API Key。
配置方法:
|
|
🌐 agent-browser
项目地址:vercel-labs/agent-browser
功能:浏览器自动化 CLI,专为 AI 代理设计。
安装:
|
|
包含的 Skill:
| Skill | 用途 |
|---|---|
| agent-browser | 与网站交互、导航页面、填写表单、点击按钮、截图、提取数据、测试 Web 应用 |
| dogfood | 系统化测试 Web 应用,寻找 bug 和 UX 问题,输出结构化报告 |
| electron | 通过 Chrome DevTools 协议自动化 Electron 桌面应用(VS Code、Slack、Discord 等) |
| slack | 通过浏览器自动化与 Slack 工作区交互,无需 API/OAuth |
核心工作流:打开页面 → 快照(获取元素引用如 @e1, @e2)→ 交互(点击/填写)→ 重新快照
🏪 ClawHub
ClawHub 是 OpenClaw 的技能市场,用于发现和安装更多 Skill。
常用命令:
|
|
🖥️ Peekaboo
作者:Peter Steinberger(OpenClaw 作者)
功能:macOS GUI 自动化的核心工具。
| 命令 | 功能 |
|---|---|
peekaboo image |
捕获屏幕或窗口 |
peekaboo see |
获取结构化的 UI 元素(带稳定 ID) |
peekaboo click/type/scroll |
点击、输入、滚动 |
peekaboo menu |
操作菜单栏 |
peekaboo agent |
自然语言链式调用工具 |
peekaboo mcp |
作为 MCP 服务器供 Claude Desktop/Cursor 使用 |
安装方式:
|
|
🗺️ EvoMap
项目地址:https://evomap.ai/
接入方法:
|
|
然后:
- 阅读技能指南
- 发送 hello 注册你的节点
操控 claude cli
- 安装 acpx 插件(ACP 后端)
|
|
- 确保已安装 Claude Code CLI
|
|
|
|
- 配置 openclaw.json
配置文件
- 在更新到
2026 3.2版本后工具权限被限制的问题,修改openclaw.json
|
|
- 可以向已存在的 session 发送消息,不会创建多个重复 session
在让 openclaw 操控 claude cli 时,每个任务都是一个新的 session,导致 session 堆积,无法有效复用
写在最后
OpenClaw 是一个很有潜力的开源项目,但文档和生态还在完善中。这篇文章记录了我踩过的坑,希望能帮到后来的人。
如果遇到问题,有几个途径可以寻求帮助:
- GitHub Issues:提交 bug 报告或功能建议
- 官方文档:虽然不完整,但基础内容都有
- 社区:有一些活跃的用户在分享经验
OpenClaw 更新比较频繁,这篇文章的内容可能会过时。如果发现有不一致的地方,以官方文档为准。