AI创想

标题: 将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效 [打印本页]

作者: 米落枫    时间: 昨天 22:47
标题: 将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效
作者:范桂飓
目录

文章目录


前言

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


常规安装

OpenClaw 支持常规安装到设备上,也支持 Docker Compose 容器化安装。如果你的环境是 Linux,那么建议容器安装以获得最好的安全性。如果你的环境是 MacOS,那么建议常规安装到宿主机上,能够使用尽可能多的 MacOS Skills。
本章节先介绍常规安装方式。
前置工作

NOTE:建议使用 macOS,因为很多 Skills 都是围绕 macOS 展开的,另外建议使用最新的 macOS 操作系统版本,否则有很多 Skills&Tools 安装不了。
NOTE:如果你是要云服务器,服务器内存至少买 4G 以上,推荐直接上 8G 或 16G。运行内存太小会直接卡死。跑浏览器需要至少 4G 内存才能正常运行。
更新 brew 版本:
  1. # 临时配置 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
  2. $ brew update-reset && brew update
复制代码
安装 Node.js 22+:它是基于 Chrome V8 引擎的 JavaScript 运行环境,让 JS 程序可在服务器端执行。
  1. $ brew install node@22
  2. $ node --version
复制代码
使用国内 npm(Node Package Manager)源:npm 是随 Node.js 一起安装的包管理工具,用于依赖安装与管理。而 npx 是 npm 5.2+ 自带的包执行工具,用于执行无需永久安装的 CLI 工具,避免全局污染。
  1. $ npm config set registry https://registry.npmmirror.com
  2. $ npm config get registry
复制代码
后续安装特定的 skill 的时候,可能会使用 bun 或者 go。
安装 Bun(可选的):Bun 是一个现代、极其快速的 JavaScript/TypeScript 一站式工具箱。它的设计目标是取代传统的 Node.js 及其周边的庞杂生态(如 npm、Webpack、Babel、Jest 等),通过将运行时、包管理器、打包器和测试器整合进一个单一的可执行文件中,极大地提升开发效率。
  1. $ curl -fsSL https://bun.com/install |bash
  2. $ bun --version # Output: 1.x.y
复制代码
安装 go(可选的)。
开始安装

一键安装:
  1. $ curl -fsSL https://openclaw.ai/install.sh |bash
复制代码
(可选的)重新进入安装流程:
  1. $ openclaw onboard --install-daemon
复制代码
风险声明

首先是风险提示,了解选 yes。

(, 下载次数: 0)


大模型接入

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

(, 下载次数: 0)

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

(, 下载次数: 0)


远程控制信道

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

(, 下载次数: 0)

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


Skills

开始选择需要安装的 Skills。
推荐安装以下 Skills,但有些对 MacOS 版本有要求,按需选择。
(, 下载次数: 0)


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

(, 下载次数: 0)


系统 Hooks 配置

这些 Hooks(钩子)是 OpenClaw Gateway 在特定运行阶段会触发的钩子功能,用来定制、监控、增强 OpenClaw 的基础行为。
建议全部安装。

(, 下载次数: 0)


启动 Gateway Service 守护进程

OpenClaw Gateway 是唯一中央控制平面守护进程,非常重要。
跨设备功能扩展

Optional apps 是 OpenClaw 提供的跨设备功能扩展选项,所谓的 nodes (节点)其实是 OpenClaw 的跨设备功能模块,包括 macOS、iOS、Android 这三种类型。每个 app node 对应一个设备,添加 nodes 后能让 OpenClaw 和这些设备进行联动操作,解锁额外的跨设备功能。
macOS 模块侧重系统集成和通知,iOS/Androi 则侧重相机和画布调用:

建议都安装,给与 OpenClaw 合适的操作权限,使其成为全能助手。

(, 下载次数: 0)

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


如果想确认或调整权限,按以下步骤操作:
推荐开启:保留 node 的后台运行权限,这样 OpenClaw 的自动化功能(比如定时监控博客、自动推送通知)才能正常工作;
(, 下载次数: 0)


Token 身份鉴权

(, 下载次数: 0)


Token(令牌)是外部访问 OpenClaw Gateway API 和 Web UI 的身份凭证。持有 Token 后才能访问我的 OpenClaw,防止别人未授权使用。
保存 Token 的位置有 2 个:
查看 Token 的指令:
  1. $ openclaw config get gateway.auth.token
复制代码
重新生成 Token 的指令:
  1. $ openclaw doctor --generate-gateway-token
复制代码
WebUI 登陆

(, 下载次数: 0)


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


TUI 登陆

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

(, 下载次数: 0)


重新进入 TUI 界面:
  1. $ openclaw tui
复制代码
值得注意的是,TUI 目前只会直接给出结果而没有过程,但你可以在 WebUI 中看见执行过程。例如:
机器人角色塑造

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


上述对机器人的配置会被保存在下列文件中,后续也可以继续修改:
  1. ~/.openclaw/workspace/USER.md     # 主人角色定义
  2. ~/.openclaw/workspace/IDENTITY.md # 机器人角色定义
  3. ~/.openclaw/workspace/SOUL.md     # 机器人灵魂定义
复制代码
参考样例:https://mp.weixin.qq.com/s/Sogu-nKXqhHrge-oyuu9Dw
进程和端口

安装成功后的进程和端口如下,核心的守护进程是 openclaw-gateway,默认端口为 TCP 18789。
进程:
  1. $ ps -ef |grep openclaw
  2.   50171488101:17PM ??         0:18.09 openclaw-gateway
  3.   5015753650334012:33PM ttys000    0:00.35 openclaw
  4.   5015778657536012:33PM ttys000    0:22.74 openclaw-onboard
复制代码
端口:
  1. $ lsof -i -P |grep -i node|grep -v grep
  2. COMMAND     PID        FD   TYPE             DEVICE SIZE/OFF NODE NAME
  3. 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
  4. node71488    21u  IPv4 0x8d34e56d64b5bae9      0t0  UDP *:5353
  5. 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 肯定用不了了,容器化能带来更好的安全隔离。
克隆仓库:
  1. git clone https://github.com/openclaw/openclaw.git
  2. cd openclaw
  3. git checkout v2026.2.9
  4. git switch -c v2026.2.9
复制代码
查看原始 docker-compose.yml:
  1. services:
  2.   openclaw-gateway:
  3.     image: ${OPENCLAW_IMAGE:-openclaw:local}
  4.     environment:
  5.       HOME: /home/node
  6.       TERM: xterm-256color
  7.       OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
  8.       CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
  9.       CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
  10.       CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
  11.     volumes:
  12.       - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
  13.       - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
  14.     ports:
  15.       - "${OPENCLAW_GATEWAY_PORT:-18789}:18789"
  16.       - "${OPENCLAW_BRIDGE_PORT:-18790}:18790"
  17.     init: true
  18.     restart: unless-stopped
  19.     command:
  20.       ["node",
  21.         "dist/index.js",
  22.         "gateway",
  23.         "--bind",
  24.         "${OPENCLAW_GATEWAY_BIND:-lan}",
  25.         "--port",
  26.         "18789",
  27.       ]
  28.   openclaw-cli:
  29.     image: ${OPENCLAW_IMAGE:-openclaw:local}
  30.     environment:
  31.       HOME: /home/node
  32.       TERM: xterm-256color
  33.       OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
  34.       BROWSER: echo
  35.       CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
  36.       CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
  37.       CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
  38.     volumes:
  39.       - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
  40.       - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace
  41.     stdin_open: true
  42.     tty: true
  43.     init: true
  44.     entrypoint: ["node", "dist/index.js"]
复制代码
手动部署:
  1. # 1. 构建镜像docker build -t openclaw:local -f Dockerfile .# 2. 运行配置向导docker compose run --rm openclaw-cli onboard
  2. # 3. 启动 Gatewaydocker compose up -d openclaw-gateway
  3. # 4. 获取控制面板链接docker compose run --rm openclaw-cli dashboard --no-open
  4. # 5. 查看并授权设备docker compose run --rm openclaw-cli devices list
  5. docker compose run --rm openclaw-cli devices approve <requestId>
复制代码
(可选的)也可以一键自动完成部署:
  1. # 额外挂载目录exportOPENCLAW_EXTRA_MOUNTS="$HOME/.codex:/home/node/.codex:ro"# 持久化 home 目录exportOPENCLAW_HOME_VOLUME="openclaw_home"# 一键部署
  2. ./docker-setup.sh
复制代码
脚本 docker-setup.sh 会自动完成:
Gateway 将运行在 http://127.0.0.1:18789/
对接飞书

创建飞书机器人应用

登录飞书开放平台:https://open.feishu.cn/
创建自建应用,命名为 OpenClaw。

(, 下载次数: 0)

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

(, 下载次数: 0)

为应用 OpenClaw 开通所有 IM(即时通信)权限,首先要创建机器人。例如:
安装飞书通道插件

在 OpenClaw 上安装 feishu Channels 插件。使用比较稳定的第三方插件:https://github.com/m1heng/Clawdbot-feishu
  1. openclaw plugins install @m1heng-clawd/feishu
复制代码
配置 feishu 插件使用刚刚创建的 OpenClaw 应用,填写 AppID 和 AppSecret。这样 OpenClaw 就可以和飞书建立 Channel 了。
  1. openclaw config set channels.feishu.appId "cli_xxxxx"
  2. openclaw config set channels.feishu.appSecret "your_app_secret"
  3. openclaw config set channels.feishu.enabled true
复制代码
(, 下载次数: 0)


配置飞书消息事件回调

配置飞书消息事件回调,使得 OpenClaw 应用可以接收到 OpenClaw 机器人发过来的消息,然后再转发给飞书聊条框。
注意使用长连接接收事件,这样 OpenClaw 可以随时通知你。

(, 下载次数: 0)

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

(, 下载次数: 0)


(, 下载次数: 0)

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

(, 下载次数: 0)

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

(, 下载次数: 0)


聊天测试

重启 OpenClaw Gateway 可以看见飞书开放平台上的 OpenClaw 应用作为 WebSocket Client 已经 Ready 了。
(, 下载次数: 0)

使用飞书开始和 OpenClaw 聊天。

(, 下载次数: 0)


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

(, 下载次数: 0)


浏览器自动化推荐

浏览器自动化,即:OpenClaw 可以像人一样自动地操作浏览器,并且根据自动化程序分为 4 个等级:
如果你采用云主机部署,默认就是没有桌面环境的,所以 L2 和 L3 需要先装一个 Linux 桌面服务。
Brave Search(联网搜索)

OpenClaw 官方内置的联网搜索功能由 Brave Search 提供,注册账户后,每个月有 2000 次免费搜索额度,日常够用了。注意,要先注册 Brave 账号,然后绑一张海外 Visa 卡。或者上闲鱼搜 Brave Search API,花几十块买一个。
装了之后 OpenClaw 能上网查资料、搜新闻、找答案。前提是需要申请一个免费的 Brave Search API key。到 brave.com/search/api 申请 key,选 Data for Search 计划。
  1. clawhub install brave-search
复制代码
浏览器操作

Agent Browser 项目也可以让 OpenClaw 打开浏览器、登录后台、抓网页信息、填表单、截图、导 PDF。
  1. clawhub install browser
复制代码
网页抓取

jina.ai Reader 用于联网搜索到结果之后,还能打开链接、读取网页内容。并且它不用打开浏览器,用法极其简单:在任何网址前面加上 https://r.jina.ai/ 这个前缀就行。
比如想抓取 https://example.com/article 的内容,只需要访问 https://r.jina.ai/https://example.com/article,它就会返回干净的 AI 友好的 Markdown 格式内容。
KasmVNC 远程桌面

OpenClaw 在操作浏览器的时候,经常会遇到验证码、二维码、滑块验证等验证。如果你采用云主机,这种时候你就需要远程桌面来进行人机协同。
KasmVNC 就是一个通过 VNC 协议的、基于网页的远程桌面服务,装上之后,你可以通过自己电脑的浏览器远程连接到云主机的桌面,直接看到 OpenClaw 正在操作的浏览器画面。需要的时候接管鼠标键盘,帮它过验证码,过完之后把控制权还给它,它继续干活。
browser CLI

OpenClaw 内置了浏览器控制能力,AI 可以像人类一样操作网页。
  1. # 查看浏览器状态
  2. openclaw browser status
  3. # 启动浏览器
  4. openclaw browser start
  5. # 打开网页
  6. openclaw browser open https://example.com
  7. # 截图
  8. openclaw browser screenshot
  9. # 获取页面快照(用于 AI 理解页面结构)
  10. openclaw browser snapshot --format aria
  11. # 创建多个浏览器配置
  12. openclaw browser create-profile --name "work" --color "#3b82f6"
  13. openclaw browser create-profile --name "personal" --color "#10b981"# 切换使用不同的配置文件
  14. openclaw browser start --browser-profile "work"
复制代码
架构分析

(, 下载次数: 0)


(, 下载次数: 0)


Gateway 中央控制平面

(, 下载次数: 0)


OpenClaw Gateway 是一个长期运行的守护进程,基于 Node.js 构建,采用 WebSocket 通信技术。主要做以下件事:
实际上 Gateway 最大的亮点之一就是 “统一性”:WhatsApp、Telegram、微信、钉钉、Discord 等等消息平台本质上是“多个互不兼容的通信系统”:
7. 协议不同:HTTP、WebSocket、长连接、私有协议。
8. 消息模型不同:文本、富媒体、引用/回复、线程、频道、群组、@ 的语义。
9. 鉴权不同:token、扫码登录、回调签名、权限分级。
10. 限流策略不同:有的平台按用户限,有的按机器人限,有的按接口限。
OpenClaw Gateway 解决了这个根本问题,作为长期运行的单进程控制平面(Control Plane),负责让整个系统有一套统一的接入方式。它带来几个工程化的好处:
WebSocket

在 WebSocket 消息传输层面,Gateway 的核心就是 3 件事情:
WebSocket endpoint ws://127.0.0.1:18789,通信过程:
(, 下载次数: 0)


网络模式

ModeBind AddressAuth RequiredUse Case
loopback127.0.0.1Optional (recommended)Local-only access, SSH tunnels
lan0.0.0.0 (all interfaces)Yes(token or password)Direct LAN/WAN access without VPN
tailnetTailscale IP (100.64.0.0/10)Yes (token or password)Tailscale mesh network
autoFalls back through loopback → tailnet → lanIf non-loopbackAutomatic best-effort
customgateway.host valueYes (token or password)Specific IP binding

Channels 通道

OpenClaw Channels 负责将多个消息平台接入到中央的 Gateway,以 WebSocket 协议进行消息的收发通信,并翻译为 Gateway 的统一标准格式。
OpenClaw Channels 采用了 Plugin 插件化的架构设计,所有的消息平台都是 Channel 插件。只负责“接入层”的事情,包括:登录、收发消息、协议适配(把平台事件转换成标准事件)。而负责的事情则交由 Gateway 负责,包括:状态管理、业务决策、业务决策、权限与调度策略等。可见 Channel 是轻量化的、驱动层化的,接入一个新的消息平台,只是多一个插件。
插件工作流程其实很朴素,但很有效:
WhatsApp 配置示例:
  1. {"channels":{"whatsapp":{"allowFrom":["+15555550123"],"groups":{"*":{"requireMention":true}}}},"messages":{"groupChat":{"mentionPatterns":["@clawd"]}}}
复制代码
Agents 智能体

OpenClaw 支持 Multi-Agent 模式,可以互不干扰,或者相互协作。每个 Agent 有自己的工作区,放置专属配置与记忆。
Pi Agent 是其中的 Core Agent,是一个精简高效的编程智能体。采用 Agent Loop(智能体循环)模式,处理用户消息、执行工具调用、将结果反馈给 LLM,循环直到模型生成无工具调用的响应。
智能体运行器(Agent Runner):在调用 LLM 之前,运行器会进行外科手术式的准备:
准备好提示词之后,Agent Runner 会调用 LLM 大模型服务,返回的结果交由下一层来处理。在这里,token 的用量优化成为重要的考量,采用了 Skills 的架构,动态加载和技能相关的描述和细节。
智能体处理循环(Agentic Loop),每个 Loop 主要包含 4 个核心阶段:
  1. 提问 → 思考 → 规划 → 行动 → 观察 → 思考 → 行动 → 等待 → 检查  → 纠错  ... → 完成
复制代码
OpenClaw Agent 也支持 Multi-LLM,并支持模型故障转移。
  1. // Anthropic Claude
  2. {"agent":{"model":"anthropic/claude-opus-4-5"}}
  3. // GLM zai
  4. {"agent":{"model":"zai/GLM-4.7"}}
  5. // Ollama 本地模型
  6. {"models":{"providers":{"ollama":{"baseUrl":"http://127.0.0.1:11434/v1"}}}}
  7. // LM Studio 本地
  8. {"models":{"providers":{"lmstudio":{"baseUrl":"http://localhost:1234/v1",
  9.         "apiKey":"LMSTUDIO_KEY",
  10.         "api":"openai-completions",
  11.         "models":[{"id":"minimax-m2.1-gs32",
  12.           "name":"MiniMax M2.1",
  13.           "contextWindow":200000}]}}}}
复制代码
Skills 技能集

OpenClaw Skills 是 Agent 执行任务或者使用工具的关键指引,也是 OpenClaw 能力边界的的核心扩展机制,遵循 Anthropic 定义的 AgentSkills 开放标准。
SKILL.md 格式示例:
  1. ---
  2. name: nano-banana-pro
  3. description: 通过 Gemini 3 Pro 生成或编辑图像
  4. homepage: https://example.com
  5. user-invocable: true
  6. disable-model-invocation: false
  7. command-dispatch: tool
  8. command-tool: image-gen
  9. command-arg-mode: raw
  10. metadata: {"openClawt":{"requires":{"bins":["uv"],"env":["GEMINI_API_KEY"],"config":["browser.enabled"]},"primaryEnv":"GEMINI_API_KEY"}}
  11. ---
复制代码
OpenClaw 内置了大量的 Skills(49+ 个):
除了内置的 Skills 之外,也可以安装第三方的 Skills。这些 Skills 的加载优先级(从高到低):
Skills 存在一个量变到质变的飞跃,因为 Skills 之间可以组合。例如:接 Slack Skill 能管下达指令,状态汇报,接图像生成能画图,接 PPT Skill 服务能出稿,接 DeepResearch Skill 能调研。这些凑在一起,就可以组合进化出很多完整的业务能力和应用场景。
Nodes 终端

Nodes 的本质是硬件终端设备的一种抽象,是接入到 Gateway 上的子设备,包括:iOS、Android、macOS 等等。使得 OpenClaw 可以操纵这些设备的摄像头、屏幕录制、系统控制、屏幕共享、显示可交互式的 UI 界面等等。Nodes 工作的前提是需要再这些子设备上安装一个小型智能体,或者称之为 Node Client App。
目前支持的 Nodes 类型包括:
Nodes 和 Gateway 之间的通信协议包括:
如果 Gateway 跑在 Linux 服务器上,但你想用 Mac 的摄像头拍照。
  1. // 列出已连接的节点
  2. {"tool":"nodes", "action":"status"}
  3. // 在 Mac 节点上执行命令
  4. {"tool":"nodes", "action":"run", "node":"office-mac", "command":["echo", "Hello"]}
  5. // 拍照
  6. {"tool":"nodes", "action":"camera_snap", "node":"iphone-1"}
  7. // 屏幕录制
  8. {"tool":"nodes", "action":"screen_record", "node":"office-mac", "duration":"10s"}
  9. // 获取位置
  10. {"tool":"nodes", "action":"location_get", "node":"iphone-1"}
复制代码
Memory 记忆系统

(, 下载次数: 0)


和 Claude Code、Cursor 等使用 Project 来隔离上下文的设计不同,OpenClaw 将所有对话的上下文都混合在同一个地方。这样才能够实现:你上午在 Telegram 里让它帮你整理邮件,下午在 Slack 里让它写个报告,晚上在 WhatsApp 里让它安排明天的日程,它全都记得。给人的感觉就是它特别聪明,好像真的认识你。但坏处是特别消耗 token,它会将所有上下文一股脑的输入到 LLM 中。
所以,OpenClaw 设计了一个非常巧妙的持久化化记忆系统,非常简单明了,基于单纯的 Markdown 文件:
它通过一个自我维护机制,每隔一段时间(heartbeat)自动 review 最近的原始日志,把有价值的信息提炼到 MEMORY.md 里,顺便清理过时的条目。这个自我维护机制就把记忆给分层了,原始日志是短期记忆,每天的 MEMORY.md 是中期记忆,提炼出来的个性和喜好是长期记忆。整个过程不需要用户干预。
智能体工作空间 ~/.openclaw/workspace 是 Agent 存储记忆的地方。记忆文件结构:
  1. ~/.openclaw/workspace
  2. ├── AGENTS.md          # 智能体的描述和提示词
  3. ├── HEARTBEAT.md       # 系统健康检查清单
  4. ├── IDENTITY.md        # OpenClaw 智能体的身份和人设
  5. ├── SOUL.md            # 智能体个性定义
  6. ├── TOOLS.md           # 可用工具参考
  7. ├── USER.md            # 用户偏好/上下文
  8. ├── MEMORY.md          # 长期策划记忆(可选)
  9. ├── memory/            # 持久化记忆目录
  10. │   ├── 2026-01-28.md  # 每日笔记
  11. │   └── 2026-01-29.md
复制代码
OpenClaw 记忆的本质是一个持久化的文件系统,只会 “记住” 写入磁盘的内容。这不是临时缓存,这是永久记忆。这些文件在重启、服务器迁移和模型更改后仍然存在。当我们又有基于磁盘的记忆,又能够对文件进行直接操纵时,那么我们就可以构建灵活分层的记忆系统了。
SOUL.md

个性很重要,具有明确身份的专业智能体能产生专注、高质量的输出。SOUL 文件中包含姓名和角色。例如:
  1. 姓名:Petra
  2. 角色:SEO和关键词研究专家
  3. ## 个性
  4. 数据驱动的SEO专家。痴迷于搜索意图和用户行为。
  5. 用关键词、搜索量和排名难度思考。
  6. 从不推荐没有数据支持的目标关键词。
  7. 始终考虑从认知到转化的完整客户旅程。
  8. ## 你擅长什么
  9. - 关键词研究和搜索意图分析
  10. - 竞争对手内容差距分析
  11. - 页面SEO优化和技术SEO审计
  12. - 内部链接策略和网站架构
  13. - 跟踪排名和识别优化机会
  14. ## 你在乎什么
  15. - 搜索可见性和有机流量增长
  16. - 将内容与实际用户搜索行为匹配
  17. - 通过内容集群建立主题权威
  18. - 数据支持的决策而非直觉
复制代码
AGENTS.md

SOUL.md 定义你是谁,AGENTS.md 定义如何操作。Agent 启动时都会读取 AGENTS.md。它涵盖了:
没有 AGENTS.md,那 Agent 的表现无法保持一致。
memory

目录 memory 下面长期存储的是每日记忆,每天 OpenClaw 都会总结一次工作内容,以便于以后需要回忆起来。例如:一个月后,OpenClaw 依旧知道你当时做过什么。
Chat Dashboard

OpenClaw 选用大家天天都用的聊天软件作为交互入口,而不是像 Cursor、Manus 那般,需要在电脑上安装客户端软件。这样可以复用更广泛的使用习惯和渠道,让用这个工具的心智负担特别低。另一方面,因为大家本身就非常熟悉这些软件的使用,所以学习成本也几乎压到了零。拿起手机就能用,打开 Dashboard 就能聊,这是它能出圈的基础。
但实际上,这有深层次的考虑。
而 OpenClaw 对自身的定位做了清晰的定义,即:“他要开发一个他妈妈也能正常使用的智能体”。所以这里面存在很明显的选择和妥协(trade-off),也是一种智慧。
设计哲学

这三个设计之间也不是简单的加法,而是互相促进的。记忆加上统一的上下文池,会带来数据复利。因为有持久化记忆,对话可以跨会话积累;因为有统一入口,所有来源的数据汇进同一个记忆池。你在Slack里讨论的工作内容、在 Telegram 里安排的日程、在 WhatsApp 里的个人对话,全部混在一起,形成了对你越来越完整的理解,以后完成任务也会越来越贴心。
Memory 加上 Skills,带来了自我进化的能力。今天学到的用法明天还在,能力会累积。AI 自己能写新的skill并且记住它的存在和用法,这就进入了正循环。因为 OpenClaw 自己能写代码,所以遇到没有现成skill可用的时候,它就可以当场造一个。这个新 Skill 会被保存下来,下次遇到类似场景直接复用。这就形成了自我进化的闭环。
而这些能力和界面的易用性加在一起,又带来了使用频率。入口越顺滑,调用越频繁,飞轮越转越快,能力越来越强。
安全加固

OpenClaw 功能强大但安全形势非常严峻,一旦 OpenClaw 被入侵,它会以极高的权限和极大的主动性完全接管你的 IT 环境。
所以在主力机上部署首先要考虑的就是安全加固,包括:使用最新版本、启用 Token 认证、启用 Docker 沙箱、在大模型供应商侧设置硬性的 API 支出限制并定期运行安全审计等等。
沙箱安全

(, 下载次数: 0)


Docker 沙箱模式提供一个执行 Skills&Tools 的隔离环境,即使 AI “失控”,影响范围也有限。同时,容器沙箱能够杜绝在宿主机上执行高风险的工具,例如:
支持 3 种镜像构建脚本,推荐包含浏览器的镜像,让 OpenClaw 能够容器内使用浏览器。
  1. cd openclaw
  2. scripts/sandbox-setup.sh              # 基础镜像
  3. scripts/sandbox-common-setup.sh       # 含 Node, Go, Rust 等
  4. scripts/sandbox-browser-setup.sh      # 含 Chromium CDP 浏览器
复制代码
查看构建成功后的镜像:
  1. $ docker images
  2. IMAGE                                    ID             DISK USAGE   CONTENT SIZE   EXTRA
  3. openclaw-sandbox-browser:bookworm-slim   613fc30c7055       1.05GB             0B
复制代码
高安全系数沙箱配置:
  1. {"agents":{"defaults":{"sandbox":{"mode":"all",
  2.         "scope":"session",
  3.         "workspaceAccess":"none",
  4.         "docker":{"image":"openclaw-sandbox-browser:bookworm-slim",
  5.           "workdir":"/workspace",
  6.           "readOnlyRoot": true,
  7.           "network":"bridge",
  8.           "memory":"2g",
  9.           "cpus":2,
  10.           "pidsLimit":256,
  11.           "user":"501:20",
  12.           "capDrop":["ALL"]}},
复制代码
值得注意,启用沙箱模式,并不一定所有的操作都在沙箱里执行,这取决于 “会话类型”:
mode(沙箱模式)
scope(隔离范围)
workspaceAccess(智能体工作区访问):OpenClaw 默认的智能体工作区是 ~/.openclaw/workspace,配置文件 ~/.openclaw/openclaw.json 可以修改。
容器安全加固
值得注意的是,沙箱容器是延迟启动的,例如有用户在群 @OpenClaw “帮我查一下天气”,然后 OpenClaw 会检测到是非主会话,然后查看是否有该 agent 的容器,如果没有则自动创建并启动容器。
  1. $ dockerps
  2. CONTAINER ID   IMAGE                                    COMMAND            CREATED         STATUS         PORTS                          NAMES
  3. 90f17adc4928   openclaw-sandbox-browser:bookworm-slim   "sleep infinity"9 seconds ago   Up 8 seconds   5900/tcp, 6080/tcp, 9222/tcp   openclaw-sbx-agent-main-0d71ad7a
复制代码
这个容器本质上只是提供了隔离的执行环境,里面没有实际的程序:
  1. $ dockerexec -it -u root 90f17adc4928 bash
  2. root@90f17adc4928:/workspace# ps -efUID        PID  PPID  C STIME TTY          TIME CMD
  3. 50110012:56 ?        00:00:00 sleep infinity
  4. root         70012:57 pts/0    00:00:00 bash
  5. root        137012:57 pts/0    00:00:00 ps -ef
复制代码
让 OpenClaw 在容器里执行命令,例如创建一个测试文件:

(, 下载次数: 0)

  1. root@90f17adc4928:/workspace# pwd
  2. /workspace
  3. root@90f17adc4928:/workspace# ls
  4. AGENTS.md  HEARTBEAT.md  IDENTITY.md  SOUL.md  TOOLS.md  USER.md  skills  test01
复制代码
上述为 Docker 沙箱给与了最高的安全性,但也牺牲了灵活性。可以按需调整,但 OpenClaw 目前支持的 Docker 配置有限,例如 volumes 就不支持。
如果希望在沙箱容器中能够灵活的安装各类软件包,可以考虑下列配置,但请时刻注意安全风险问题。
  1. {"messages":{"ackReactionScope":"group-mentions"},
  2.   "agents":{"defaults":{"sandbox":{"mode":"all",
  3.         "scope":"agent",
  4.         "workspaceAccess":"rw",
  5.         "docker":{"image":"openclaw-sandbox-browser:bookworm-slim",
  6.           "workdir":"/workspace",
  7.           "readOnlyRoot": false,                                     # 可以 apt-get 安全软件版"network":"bridge",
  8.           "memory":"2g",
  9.           "cpus":2,
  10.           "pidsLimit":256,
  11.           "capDrop":[],                                             # 不限制 Linux Caps"binds":["/Users/fanguiju/devworkspace:/devworkspace:rw"]# 挂载开发工作目录}},
复制代码
网络安全

  1. $ vim ~/.openclaw/openclaw.json
  2. {"gateway":{"bind":"loopback", # 默认 Socket 只绑定到本地 lo 接口"port":18987,      # 修改为新的端口号# 重启
  3. $ openclaw gateway stop
  4. $ openclaw gateway install
复制代码
如果你希望自己设备的公网 IP 可以访问 Gateway,那么务必在 MacOS 上设置公网 IP 防火墙规则。
通信安全

添加通信渠道安全配置。
  1. {"channels":{"whatsapp":{"allowFrom":["+8613800138000","+8613800138001"],"groups":{"*":{"requireMention":true}}},"discord":{"allowFrom":["work","personal"]}},"messages":{"groupChat":{"mentionPatterns":["@openclaw","@bot"]}}}
复制代码
系统安全

如果你让 OpenClaw 运行在主力机上,那你不得不时刻关心系统安全问题。
启用沙箱环境是在 “隔离” 的基础上也连带的进行了 “降权”,例如:OpenClaw 在 docker.ts 中已经硬编码了 --security-opt no-new-privileges,此外还在 openclaw.conf 中添加了 readOnlyRoot True、user 1000:1000、capDrop ALL 等配置。所以启用沙箱环境非常重要。
应用安全

  1. $ openclaw --version
  2. 2026.2.9
复制代码
  1. $ chmod400 /root/.openclaw/openclaw.json
复制代码
数据安全

这里指的是 OpenClaw 应用本身的数据安全。OpenClaw 是一个持续 “进化” 的机器人,因为它具有 “Memory” 记忆系统,记录了所有关于你的事情。时间长了之后,它会越来越懂你。反之,如果外泄了,那么攻击者就得到了你的一份心理画像。
所以数据安全的核心就是保护 OpenClaw Memory 的安全,以避免被篡改和删除。具体的,我们只需要定时备份 OpenClaw 的主目录即可,里面包含了配置文件和聊天记录。
  1. $ ll ~/.openclaw
复制代码
设置定时备份:
  1. $ crontab -e
  2. 00 * * * zip -r ~/openclaw_backup_$(date +%Y%m%d).zip ~/.openclaw
复制代码
身份认证安全

见上文 Token 章节。目前最新的版本已经引入了 token 身份鉴权,所以要及时进行 OpenClaw 的更新,目前社区在加紧安全防护的开发。
Token 成本安全

为了保护你的 Token,一定记得要设置 Token Quota,避免烧完。
OpenClaw Token 消耗的六大来源:

(, 下载次数: 0)


Skills 安全

现在 Clawhub 等 Skills 市场对安全审查并不严格,你很可能会从其中安装到一个进行 “Prompt 注入” 的 Skill。对此的解决办法是我们不要直接从市场上安装第三方 Skill,而是先下载安装包,然后先让 AI 审查源码、理解逻辑,然后重写一个干净的版本。在 AI 编程的今天这个过程通常只要几分钟,但可以极大降低供应链攻击的风险。
常用指令

基本指令
  1. # 重新进入配置向导
  2. openclaw onboard
  3. # 快速状态概览
  4. openclaw status
  5. # 完整诊断(包括深度检查)
  6. openclaw status --all --verbose
  7. # 带使用量的状态
  8. openclaw status --usage
  9. # 网关健康检查
  10. openclaw gateway health
  11. # 网关状态(含 RPC 探测)
  12. openclaw gateway status --probe
  13. # 打开控制面板
  14. openclaw dashboard
  15. # 健康检查
  16. openclaw health
  17. # 更新到最新版本
  18. openclaw update
  19. # 诊断问题
  20. openclaw doctor
  21. # 卸载 OpenClaw
  22. openclaw uninstall
  23. # 实时日志
  24. openclaw logs --follow
  25. # 查看最近 200 行
  26. openclaw logs --limit 200# JSON 格式输出(用于脚本)
  27. openclaw logs --json
  28. # 基础安全检查
  29. openclaw security audit
  30. # 深度审计(探测网关)
  31. openclaw security audit --deep
  32. # 自动修复常见问题
  33. openclaw security audit --fix
复制代码
Gateway
  1. # 启动
  2. openclaw gateway install# 停止
  3. openclaw gateway stop
  4. # 重启
  5. openclaw gateway restart
复制代码
Plugins
  1. openclaw plugins list
复制代码
Skills

ClawdHub 技能市场:https://clawdhub.com
  1. # 列出所有技能
  2. openclaw skills list
  3. # 安装
  4. openclaw skill install${name}# 关闭
  5. openclaw skill disable ${name}# 列出可用的技能(依赖已满足)
  6. openclaw skills list --eligible
  7. # 查看技能详细信息
  8. openclaw skills info browser
  9. # 检查技能依赖
  10. openclaw skills check
复制代码
Sandbox
  1. # 清理全部沙箱容器
  2. openclaw sandbox recreate --all
复制代码
Nodes
  1. openclaw nodeadd${name}
  2. openclaw nodeadd macos-app
复制代码
Hooks
  1. openclaw hooks list
  2. openclaw hooks enable${name}
  3. openclaw hooks disable ${name}
复制代码
Channels
  1. # 查看已配置的渠道
  2. openclaw channels list
  3. # 健康检查
  4. openclaw channels status --probe
  5. # 查看渠道日志
  6. openclaw channels logs --channel telegram --lines 50
复制代码
发送消息到任意平台:
  1. # 发送到 Telegram
  2. openclaw message send \
  3.   --channel telegram \
  4.   --target "@your_bot"\
  5.   --message "Hello from OpenClaw!"# 发送到 WhatsApp
  6. openclaw message send \
  7.   --channel whatsapp \
  8.   --target "+8613800138000"\
  9.   --message "测试消息"# 发送到 Discord 频道
  10. openclaw message send \
  11.   --channel discord \
  12.   --target "channel:1234567890"\
  13.   --message "@here 重要通知"# 创建投票
  14. openclaw message poll \
  15.   --channel discord \
  16.   --target "channel:1234567890"\
  17.   --poll-question "这周五聚餐吃什么?"\
  18.   --poll-option "火锅"\
  19.   --poll-option "烧烤"\
  20.   --poll-option "西餐"
复制代码
Agents

Multi-Agent 场景中:
  1. # 添加一个专门处理前端开发的代理
  2. openclaw agents add\
  3.   --workspace ~/.openclaw/workspace/fe-dev \
  4.   --model claude-sonnet-4-2 \
  5.   --bind telegram:work
  6. # 添加一个专门处理后端开发的代理
  7. openclaw agents add\
  8.   --workspace ~/.openclaw/workspace/be-dev \
  9.   --model claude-sonnet-4-2 \
  10.   --bind slack:backend
  11. # 列出所有代理
  12. openclaw agents list
  13. # 删除代理
  14. openclaw agents delete frontend-dev --force
复制代码
Heartbeat

创建 ~/.openclaw/workspace/HEARTBEAT.md:
  1. # 心跳检查清单
  2. 每次心跳时执行:
  3. - [] 检查邮件
  4. - [] 检查日历
  5. - [] 检查待办事项
  6. - [] 更新记忆文件
复制代码
控制心跳:
  1. # 查看最后一次心跳
  2. openclaw system heartbeat last
  3. # 启用心跳系统
  4. openclaw system heartbeat enable# 禁用心跳系统
  5. openclaw system heartbeat disable
复制代码
Cron

OpenClaw 内置了强大的定时任务系统,你可以设置定时提醒、自动发送消息、定期执行任务等。
支持 3 种任务类型:
  1. # 添加每天早上 9 点的提醒
  2. openclaw cronadd\
  3.   --name "晨间提醒"\
  4.   --cron "0 9 * * *"\
  5.   --system-event "记得喝咖啡 ☕️"# 添加每周一早上的周报提醒
  6. openclaw cronadd\
  7.   --name "周报提醒"\
  8.   --cron "0 9 * * 1"\
  9.   --system-event "提交周报的日子到了!"
复制代码
Memory

OpenClaw 支持通过 CLI 来索引和搜索你的 MEMORY.md 文件,让它记住重要信息。
  1. # 查看记忆状态
  2. openclaw memory status
  3. # 重新索引记忆文件
  4. openclaw memory index
  5. # 搜索记忆内容
  6. openclaw memory search "项目进度"# 搜索需要密码的内容
  7. openclaw memory search "SSH 凭证"
复制代码
记忆存储结构设计:
  1. ~/.openclaw/workspace/
  2. ├── MEMORY.md          # 核心长期记忆
  3. └── memory/
  4.     ├── 2026-02-17.md  # 每日聊天日志
  5.     ├── 2026-02-18.md
  6.     └── ...
复制代码
可以修改 ~/.openclaw/openclaw.json 添加额外搜索路径:
  1. {"memorySearch":{"extraPaths":["/root/.openclaw/workspace/projects"]}}
复制代码
Clawhub
  1. clawhub search "模糊匹配"# 安装技能
  2. clawdhub install${skill_name}
  3. clawhub update --all
  4. # 同步已安装技能到最新版本
  5. npx clawhub sync# 发布技能
  6. npx clawhub publish
复制代码
斜杠命令

OpenClaw 有一套斜杠命令系统,在聊天里直接输入 / 开头的指令就能使用。

(, 下载次数: 0)


应用技巧

使用 Claude Code 对 OpenClaw 进行运维

OpenClaw 做业务工作,Claude Code 做 OpenClaw 的安全运维操作。这两个工具是互补的,避免 OpenClaw 把自己摧毁。
手机上安装 HappyCoder 就可以让你通过手机连接到云主机上的 Claude Code。
对 OpenClaw 进行入职培训

针对个人需求,如果有一些人性化强文本物料的话,可以把这些文本物料喂给 OpenClaw,使其根据这些物料来更新 SOUL.md,让 OpenClaw 更懂你的性格、需求和工作模式。
开启 steer 模式

默认情况下,AI 在处理当前消息时,你发的新消息会排队等着,等它回复完了再处理。这就导致一个问题:如果它正在执行一个很长的任务(比如搜索十个网页),你中途想让它换个方向,只能干等它做完。
改成 steer 模式后,你发的新消息会实时注入到 AI 正在处理的任务中,它会立刻调整方向,不用干等。
  1. {"messages":{"queue":{"mode":"steer"}}}
复制代码
相关资源

参考文档

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

原文地址:https://blog.csdn.net/Jmilk/article/details/157909468




欢迎光临 AI创想 (https://llms-ai.com/) Powered by Discuz! X3.4