将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效
目录
文章目录
前言
OpenClaw 很酷,大家都应该用起来。对于小白用户,建议使用云主机方式进行使用,月费几十块钱即可,环境隔离很安全。但对于程序员、IT 工程师而言,因为生产资料都在主力机上,所以建议直接在主力机器上使用,以求效率最大化。前提是我们能够完全控制它。这篇文章讲得就是如何在主力机上安全的使用 OpenClaw。

常规安装
OpenClaw 支持常规安装到设备上,也支持 Docker Compose 容器化安装。如果你的环境是 Linux,那么建议容器安装以获得最好的安全性。如果你的环境是 MacOS,那么建议常规安装到宿主机上,能够使用尽可能多的 MacOS Skills。
本章节先介绍常规安装方式。
前置工作
NOTE:建议使用 macOS,因为很多 Skills 都是围绕 macOS 展开的,另外建议使用最新的 macOS 操作系统版本,否则有很多 Skills&Tools 安装不了。
NOTE:如果你是要云服务器,服务器内存至少买 4G 以上,推荐直接上 8G 或 16G。运行内存太小会直接卡死。跑浏览器需要至少 4G 内存才能正常运行。
更新 brew 版本:
# 临时配置 Homebrew 国内镜像(仅当前终端会话有效)exportHOMEBREW_BREW_GIT_REMOTE="https://mirrors.ustc.edu.cn/brew.git"exportHOMEBREW_CORE_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-core.git"exportHOMEBREW_CASK_GIT_REMOTE="https://mirrors.ustc.edu.cn/homebrew-cask.git"# 重置并强制更新 Homebrew $ brew update-reset && brew update 安装 Node.js 22+:它是基于 Chrome V8 引擎的 JavaScript 运行环境,让 JS 程序可在服务器端执行。
$ brew install node@22 $ node--version使用国内 npm(Node Package Manager)源:npm 是随 Node.js 一起安装的包管理工具,用于依赖安装与管理。而 npx 是 npm 5.2+ 自带的包执行工具,用于执行无需永久安装的 CLI 工具,避免全局污染。
$ npm config set registry https://registry.npmmirror.com $ npm config get registry 后续安装特定的 skill 的时候,可能会使用 bun 或者 go。
安装 Bun(可选的):Bun 是一个现代、极其快速的 JavaScript/TypeScript 一站式工具箱。它的设计目标是取代传统的 Node.js 及其周边的庞杂生态(如 npm、Webpack、Babel、Jest 等),通过将运行时、包管理器、打包器和测试器整合进一个单一的可执行文件中,极大地提升开发效率。
$ curl-fsSL https://bun.com/install |bash $ bun --version# Output: 1.x.y安装 go(可选的)。
开始安装
一键安装:
$ curl-fsSL https://openclaw.ai/install.sh |bash(可选的)重新进入安装流程:
$ openclaw onboard --install-daemon 风险声明
首先是风险提示,了解选 yes。

大模型接入
然后是选大模型厂商,这里选用国内的 Zhipu。有钱可以选择 Claude Opus 4.6 或 GPT-5.3 Codex。

只需要填写 API key 和选择模型型号。

远程控制信道
选择和 Claw 进行远程控制的 Channel,选择国内的飞书。

但是安装失败了,后来了解到官方的飞书插件刚上线不久,还有一些坑。所以后面会考虑使用第三方的稳定插件。

Skills
开始选择需要安装的 Skills。
推荐安装以下 Skills,但有些对 MacOS 版本有要求,按需选择。
- apple-notes:集成 macOS 的 memo 命令行工具,自动化管理苹果备忘录,支持创建、查看、编辑、删除、搜索、移动等操作。
- apple-reminders:集成 macOS 的 remindctl 命令行工具,自动化管理苹果提醒事项,支持列清单、添加、编辑、标记完成、删除等操作。
- things-mac:集成 macOS 待办应用 Things 的 CLI 工具,管理 Things 任务,支持创建、标记完成、分类、规划等操作。
- clawhub:集成 ClawHub 命令行工具,是 OpenClaw 的 “插件市场”,支持搜索、安装、更新、发布 OpenClaw Skills 插件。
- obsidian:集成 Obsidian 笔记应用的 CLI 工具,管理 Obsidian 库,支持创建笔记、搜索、链接等操作。
- nano-pdf:轻量级 PDF 处理 CLI 工具,支持自动化拆分、合并、转换 PDF,提取文本或图片等操作。
- summarize:文本摘要 CLI 工具,支持自动生成长文本的摘要、提取关键信息等操作。
- github:集成 GitHub 官方的 gh CLI 工具,与 GitHub 交互,支持管理 Issues、PR、工作流、调用 API 等操作。
- model-usage:AI 模型用量监控工具,统计 OpenAI/Gemini 等模型的调用次数、消耗额度等。
- peekaboo:监控工具,自动化监控文件、进程、服务,实时查看状态。
- blogwatcher:Blog、RSS、Atom 订阅监控,24 小时自动追踪指定资讯源的更新,当有新文章发布时自动触发系列操作,包括生成摘要、推送通知、归档等,帮你高效管理信息输入,避免错过关键内容。
- mcporter:文件、数据迁移 CLI 工具,支持跨存储、跨平台传输文件、配置等。

Skills 的安装过程中有些因为个重要原因没成功,这些都不着急,后面再解决。
下面是一些 Skills 需要的配置,没有安装对应 Skills 的话直接 NO 即可。

系统 Hooks 配置
这些 Hooks(钩子)是 OpenClaw Gateway 在特定运行阶段会触发的钩子功能,用来定制、监控、增强 OpenClaw 的基础行为。
- boot-md 启动初始化钩子:Gateway 启动时,自动执行 BOOT.md 文件中的指令。相当于 OpenClaw 的 “开机自启脚本”,可用来初始化环境、加载自定义参数、启动依赖服务(比如自动连接飞书)、设置默认 Skills 等。
- command-logger 命令日志钩子:全程记录 Gateway 执行的所有操作,包括 Skills 的 CLI 命令、用户输入、返回结果、错误信息等,并按规则输出到日志文件中。核心用途是审计操作记录、排查自动化故障、复盘执行流程。
- session-memory 会话记忆钩子:持久化保存 Gateway 的会话状态,比如已执行的操作步骤、Skills 调用上下文、用户临时参数等。使得 Gateway 重启后也能恢复之前的会话上下文,不用重新执行前置操作,适合长流程自动化。
建议全部安装。

启动 Gateway Service 守护进程
OpenClaw Gateway 是唯一中央控制平面守护进程,非常重要。
- 配置文件:~/.openclaw/openclaw.json
日志文件:/Users/fanguiju/.openclaw/logs/gateway.log

跨设备功能扩展
Optional apps 是 OpenClaw 提供的跨设备功能扩展选项,所谓的 nodes (节点)其实是 OpenClaw 的跨设备功能模块,包括 macOS、iOS、Android 这三种类型。每个 app node 对应一个设备,添加 nodes 后能让 OpenClaw 和这些设备进行联动操作,解锁额外的跨设备功能。
macOS 模块侧重系统集成和通知,iOS/Androi 则侧重相机和画布调用:
- macOS app (system + notifications):添加后,OpenClaw 能深度联动 MacOS,包括调用系统级权限、触发 MacOS 原生通知,例如博客更新时直接在 MacOS 通知栏进行提醒、调用 MacOS 系统命令等。
- iOS app (camera/canvas):添加后,OpenClaw 能联动 iPhone/iPad,调用设备的相机,例如自动拍照并传给 OpenClaw 处理;调用设备的 canvas(画布),例如在 iOS 画布上标注内容后同步给 OpenClaw 分析。
- Android app (camera/canvas):和 iOS 类似。
建议都安装,给与 OpenClaw 合适的操作权限,使其成为全能助手。

macOS 开启后,会接受到系统的安全提示通知 Background Items Added,名为 node 的程序被添加为了 “后台运行项”。macOS 出于安全考虑,会对所有新增的后台运行程序弹出这个提示,避免未经授权的程序偷偷后台运行。我们可以在 “登录项设置” 里管理它的后台运行权限。

如果想确认或调整权限,按以下步骤操作:
- 打开 macOS “系统设置”;
- 左侧菜单栏下滑,找到 “通用”,点击 “登录项”;
- 在 “Background Items” 列表里,能看到 node 相关条目;
- 点击条目右侧的开关,即可开启或关闭 node 的后台运行权限。
推荐开启:保留 node 的后台运行权限,这样 OpenClaw 的自动化功能(比如定时监控博客、自动推送通知)才能正常工作;

Token 身份鉴权

Token(令牌)是外部访问 OpenClaw Gateway API 和 Web UI 的身份凭证。持有 Token 后才能访问我的 OpenClaw,防止别人未授权使用。
保存 Token 的位置有 2 个:
- ~/.openclaw/openclaw.json 中的 gateway.auth.token;
- 也可以通过系统环境变量 OPENCLAW_GATEWAY_TOKEN 来指定,优先级更高。
查看 Token 的指令:
$ openclaw config get gateway.auth.token 重新生成 Token 的指令:
$ openclaw doctor --generate-gateway-token WebUI 登陆

启动 Web UI:
$ openclaw dashboard 第一次登陆 WebUI 会需要输入 Token,也可以直接粘贴带有 Token 的 WebUI URL。第一次登录后,浏览器会把令牌副本存在 localStorage,Key 为 openclaw.control.settings.v1,下次打开 Web UI 不用重复输入 Token 了。

TUI 登陆
TUI(Terminal User Interface)是类似 Claude Code、Gemini CLI 风格的操作界面,更适合程序员。

重新进入 TUI 界面:
$ openclaw tui 值得注意的是,TUI 目前只会直接给出结果而没有过程,但你可以在 WebUI 中看见执行过程。例如:
WebUI 有过程和结果

TUI 只有结果

机器人角色塑造
选择使用 TUI 之后就开始输入第一个 Prompt 了 “Wake up, my friend!”,有回复后就进入了 OpenClaw 机器人的 “调教” 阶段。这个是机器人 Cosplay 的核心配置环节,非常重要,不要着急,提供给机器人的信息越多,那么你以后得到的体验就越好。

上述对机器人的配置会被保存在下列文件中,后续也可以继续修改:
~/.openclaw/workspace/USER.md # 主人角色定义 ~/.openclaw/workspace/IDENTITY.md # 机器人角色定义 ~/.openclaw/workspace/SOUL.md # 机器人灵魂定义参考样例:https://mp.weixin.qq.com/s/Sogu-nKXqhHrge-oyuu9Dw
进程和端口
安装成功后的进程和端口如下,核心的守护进程是 openclaw-gateway,默认端口为 TCP 18789。
进程:
$ ps-ef|grep openclaw 50171488101:17PM ?? 0:18.09 openclaw-gateway 5015753650334012:33PM ttys000 0:00.35 openclaw 5015778657536012:33PM ttys000 0:22.74 openclaw-onboard 端口:
$ lsof-i-P|grep-inode|grep-vgrep COMMAND PID FD TYPE DEVICE SIZE/OFF NODE NAME node57786 11u IPv4 0x8d34e56895853e31 0t0 TCP localhost:53041->localhost:18789 (ESTABLISHED)node71488 15u IPv4 0x8d34e5689612d451 0t0 TCP localhost:18789 (LISTEN)node71488 16u IPv6 0x8d34e55efeb3ee29 0t0 TCP localhost:18789 (LISTEN)node71488 18u IPv4 0x8d34e56896e4d6b1 0t0 TCP localhost:18792 (LISTEN)node71488 19u IPv4 0x8d34e56d640946e9 0t0 UDP *:5353 node71488 21u IPv4 0x8d34e56d64b5bae9 0t0 UDP *:5353 node71488 22u IPv4 0x8d34e56895c2be31 0t0 TCP localhost:18789->localhost:53041 (ESTABLISHED)node71488 29u IPv4 0x8d34e56896497321 0t0 TCP localhost:18789->localhost:61026 (ESTABLISHED)node71488 31u IPv4 0x8d34e56896d9f581 0t0 TCP localhost:18789->localhost:61003 (ESTABLISHED)node71488 33u IPv4 0x8d34e56895cedf61 0t0 TCP localhost:18789->localhost:63268 (ESTABLISHED)Docker Compose 部署(可选的)
在 Linux 生产环境中推荐使用 Docker Compose,因为 MacOS Skills 肯定用不了了,容器化能带来更好的安全隔离。
克隆仓库:
git clone https://github.com/openclaw/openclaw.git cd openclaw git checkout v2026.2.9 git switch -c v2026.2.9 查看原始 docker-compose.yml:
services: openclaw-gateway: image: ${OPENCLAW_IMAGE:-openclaw:local} environment: HOME: /home/node TERM: xterm-256color OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY} CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY} CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE} volumes: - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace ports: - "${OPENCLAW_GATEWAY_PORT:-18789}:18789" - "${OPENCLAW_BRIDGE_PORT:-18790}:18790" init: true restart: unless-stopped command: ["node", "dist/index.js", "gateway", "--bind", "${OPENCLAW_GATEWAY_BIND:-lan}", "--port", "18789", ] openclaw-cli: image: ${OPENCLAW_IMAGE:-openclaw:local} environment: HOME: /home/node TERM: xterm-256color OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} BROWSER: echo CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY} CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY} CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE} volumes: - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace stdin_open: true tty: true init: true entrypoint: ["node", "dist/index.js"]手动部署:
# 1. 构建镜像docker build -t openclaw:local -f Dockerfile .# 2. 运行配置向导docker compose run --rm openclaw-cli onboard # 3. 启动 Gatewaydocker compose up -d openclaw-gateway # 4. 获取控制面板链接docker compose run --rm openclaw-cli dashboard --no-open # 5. 查看并授权设备docker compose run --rm openclaw-cli devices list docker compose run --rm openclaw-cli devices approve <requestId>(可选的)也可以一键自动完成部署:
# 额外挂载目录exportOPENCLAW_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro"# 持久化 home 目录exportOPENCLAW_HOME_VOLUME="openclaw_home"# 一键部署 ./docker-setup.sh 脚本 docker-setup.sh 会自动完成:
- 构建 Gateway 镜像
- 运行 Onboarding
- 启动 Docker Compose
- 生成认证 Token
Gateway 将运行在 http://127.0.0.1:18789/
对接飞书
创建飞书机器人应用
登录飞书开放平台:https://open.feishu.cn/
创建自建应用,命名为 OpenClaw。

给应用添加一个机器人,这个机器人在飞书上可以和他聊天,这个机器人后面要对接到真正的 OpenClaw。

为应用 OpenClaw 开通所有 IM(即时通信)权限,首先要创建机器人。例如:
- im:message:发送和接收消息
- im:message.p2p_msg:readonly:读取私聊消息
- im:message.group_at_msg:readonly:接收群内 @ 消息
- im:message:send_as_bot:机器人身份发送消息
- im:resource:上传/下载图片和文件
等等

安装飞书通道插件
在 OpenClaw 上安装 feishu Channels 插件。使用比较稳定的第三方插件:https://github.com/m1heng/Clawdbot-feishu
openclaw plugins install @m1heng-clawd/feishu 配置 feishu 插件使用刚刚创建的 OpenClaw 应用,填写 AppID 和 AppSecret。这样 OpenClaw 就可以和飞书建立 Channel 了。
openclaw config set channels.feishu.appId "cli_xxxxx" openclaw config set channels.feishu.appSecret "your_app_secret" openclaw config set channels.feishu.enabled true
配置飞书消息事件回调
配置飞书消息事件回调,使得 OpenClaw 应用可以接收到 OpenClaw 机器人发过来的消息,然后再转发给飞书聊条框。
注意使用长连接接收事件,这样 OpenClaw 可以随时通知你。

添加一个接收到消息就触发回调的事件。


为 OpenClaw 应用开启获取通讯录基本信息的权限。

配置好后发布 OpenClaw 应用的版本。

聊天测试
重启 OpenClaw Gateway 可以看见飞书开放平台上的 OpenClaw 应用作为 WebSocket Client 已经 Ready 了。

使用飞书开始和 OpenClaw 聊天。

每次通信都会有日志记录。

常用指令
基本指令
# 重新进入配置向导 openclaw onboard # 快速状态概览 openclaw status # 完整诊断(包括深度检查) openclaw status --all--verbose# 带使用量的状态 openclaw status --usage# 网关健康检查 openclaw gateway health # 网关状态(含 RPC 探测) openclaw gateway status --probe# 打开控制面板 openclaw dashboard # 健康检查 openclaw health # 更新到最新版本 openclaw update # 诊断问题 openclaw doctor # 卸载 OpenClaw openclaw uninstall # 实时日志 openclaw logs --follow# 查看最近 200 行 openclaw logs --limit200# JSON 格式输出(用于脚本) openclaw logs --json# 基础安全检查 openclaw security audit # 深度审计(探测网关) openclaw security audit --deep# 自动修复常见问题 openclaw security audit --fixGateway
# 启动 openclaw gateway install# 停止 openclaw gateway stop # 重启 openclaw gateway restart Plugins
openclaw plugins list Skills
ClawdHub 技能市场:https://clawdhub.com
# 列出所有技能 openclaw skills list # 安装 openclaw skill install${name}# 关闭 openclaw skill disable ${name}# 列出可用的技能(依赖已满足) openclaw skills list --eligible# 查看技能详细信息 openclaw skills info browser # 检查技能依赖 openclaw skills check Sandbox
# 清理全部沙箱容器 openclaw sandbox recreate --allNodes
openclaw nodeadd${name} openclaw nodeadd macos-app Hooks
openclaw hooks list openclaw hooks enable${name} openclaw hooks disable ${name}Channels
# 查看已配置的渠道 openclaw channels list # 健康检查 openclaw channels status --probe# 查看渠道日志 openclaw channels logs --channel telegram --lines50发送消息到任意平台:
# 发送到 Telegram openclaw message send \--channel telegram \--target"@your_bot"\--message"Hello from OpenClaw!"# 发送到 WhatsApp openclaw message send \--channel whatsapp \--target"+8613800138000"\--message"测试消息"# 发送到 Discord 频道 openclaw message send \--channel discord \--target"channel:1234567890"\--message"@here 重要通知"# 创建投票 openclaw message poll \--channel discord \--target"channel:1234567890"\ --poll-question "这周五聚餐吃什么?"\ --poll-option "火锅"\ --poll-option "烧烤"\ --poll-option "西餐"Agents
Multi-Agent 场景中:
- 隔离环境:不同代理使用不同的工作目录和配置
- 权限控制:某些代理只能访问特定的工具和文件
# 添加一个专门处理前端开发的代理 openclaw agents add\--workspace ~/.openclaw/workspace/fe-dev \--model claude-sonnet-4-2 \--bind telegram:work # 添加一个专门处理后端开发的代理 openclaw agents add\--workspace ~/.openclaw/workspace/be-dev \--model claude-sonnet-4-2 \--bind slack:backend # 列出所有代理 openclaw agents list # 删除代理 openclaw agents delete frontend-dev --forceHeartbeat
创建 ~/.openclaw/workspace/HEARTBEAT.md:
# 心跳检查清单 每次心跳时执行: - [] 检查邮件 - [] 检查日历 - [] 检查待办事项 - [] 更新记忆文件 控制心跳:
# 查看最后一次心跳 openclaw system heartbeat last # 启用心跳系统 openclaw system heartbeat enable# 禁用心跳系统 openclaw system heartbeat disable Cron
OpenClaw 内置了强大的定时任务系统,你可以设置定时提醒、自动发送消息、定期执行任务等。
支持 3 种任务类型:
- system-event:在主会话中触发系统事件。
- agent-turn:在隔离会话中运行 AI 代理任务。
- message:直接发送消息到指定频道。
# 添加每天早上 9 点的提醒 openclaw cronadd\--name"晨间提醒"\--cron"0 9 * * *"\ --system-event "记得喝咖啡 ☕️"# 添加每周一早上的周报提醒 openclaw cronadd\--name"周报提醒"\--cron"0 9 * * 1"\ --system-event "提交周报的日子到了!"Memory
OpenClaw 支持通过 CLI 来索引和搜索你的 MEMORY.md 文件,让它记住重要信息。
# 查看记忆状态 openclaw memory status # 重新索引记忆文件 openclaw memory index # 搜索记忆内容 openclaw memory search "项目进度"# 搜索需要密码的内容 openclaw memory search "SSH 凭证"记忆存储结构设计:
~/.openclaw/workspace/ ├── MEMORY.md # 核心长期记忆 └── memory/ ├── 2026-02-17.md # 每日聊天日志 ├── 2026-02-18.md └── ... - MEMORY.md:存放重要决策、项目配置、用户偏好
- memory/YYYY-MM-DD.md:存放原始对话记录
- 定期整理:每周将重要信息从日志提取到主记忆
可以修改 ~/.openclaw/openclaw.json 添加额外搜索路径:
{"memorySearch":{"extraPaths":["/root/.openclaw/workspace/projects"]}}Clawhub
clawhub search "模糊匹配"# 安装技能 clawdhub install${skill_name} clawhub update --all# 同步已安装技能到最新版本 npx clawhub sync# 发布技能 npx clawhub publish 斜杠命令
OpenClaw 有一套斜杠命令系统,在聊天里直接输入 / 开头的指令就能使用。

- /status 查看当前状态。
- /stop 停止某个任务。
- /compact 压缩上下文。
- /new 开启新会话,聊完一个话题想换下一个时用,避免上下文污染。
- /model <名字> 切换模型。
- /think <级别> 调整思考深度。日常闲聊用 off 就行,复杂问题开 high。
相关资源
- 官网:https://openclaw.ai/
- 安装手册:https://docs.openclaw.ai/start/getting-started
- Github:https://github.com/openclaw/openclaw
- 技能合集:https://github.com/VoltAgent/awesome-openclaw-skills
- 一键部署工具:https://github.com/miaoxworld/OpenClawInstaller
- 汉化版:https://github.com/1186258278/OpenClawChineseTranslation
- 飞书独立桥接器:https://github.com/AlexAnys/feishu-openclaw
参考文档
https://zhuanlan.zhihu.com/p/2004187601276540473
https://zhuanlan.zhihu.com/p/2000850539936765122?share_code=oLdaKBm7VP8u&utm_psn=2004305687010877600
https://zhuanlan.zhihu.com/p/2004187601276540473
https://cloud.tencent.com/developer/article/2626160
https://yage.ai/openclaw.html