开启左侧

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效

[复制链接]
米落枫 发表于 昨天 22:47 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
作者:范桂飓
目录

文章目录

    目录前言常规安装
      前置工作开始安装风险声明大模型接入远程控制信道Skills系统 Hooks 配置启动 Gateway Service 守护进程跨设备功能扩展Token 身份鉴权WebUI 登陆TUI 登陆机器人角色塑造进程和端口
    Docker Compose 部署(可选的)对接飞书
      创建飞书机器人应用安装飞书通道插件配置飞书消息事件回调聊天测试
    浏览器自动化推荐
      Brave Search(联网搜索)浏览器操作网页抓取KasmVNC 远程桌面browser CLI
    架构分析
      Gateway 中央控制平面
        WebSocket网络模式
      Channels 通道Agents 智能体Skills 技能集Nodes 终端Memory 记忆系统
        SOUL.mdAGENTS.mdmemory
      Chat Dashboard设计哲学
    安全加固
      沙箱安全网络安全通信安全系统安全应用安全数据安全身份认证安全Token 成本安全Skills 安全
    常用指令
      基本指令GatewayPluginsSkillsSandboxNodesHooksChannelsAgentsHeartbeatCronMemoryClawhub
    斜杠命令应用技巧
      使用 Claude Code 对 OpenClaw 进行运维对 OpenClaw 进行入职培训开启 steer 模式
    相关资源参考文档

前言

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


常规安装

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。

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-2.png


大模型接入

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-3.png

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-4.png


远程控制信道

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-5.png

但是安装失败了,后来了解到官方的飞书插件刚上线不久,还有一些坑。所以后面会考虑使用第三方的稳定插件。
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-6.png


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 工具,支持跨存储、跨平台传输文件、配置等。
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-7.png


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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-8.png


系统 Hooks 配置

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-9.png


启动 Gateway Service 守护进程

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

    将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-10.png

跨设备功能扩展

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 合适的操作权限,使其成为全能助手。

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-11.png

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


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


Token 身份鉴权

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-14.png


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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-15.png


启动 Web UI:
  1. $ openclaw dashboard
复制代码
第一次登陆 WebUI 会需要输入 Token,也可以直接粘贴带有 Token 的 WebUI URL。第一次登录后,浏览器会把令牌副本存在 localStorage,Key 为 openclaw.control.settings.v1,下次打开 Web UI 不用重复输入 Token 了。
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-16.png


TUI 登陆

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-17.png


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

    将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-18.png

    WebUI 有过程和结果

    将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-19.png

机器人角色塑造

选择使用 TUI 之后就开始输入第一个 Prompt 了 “Wake up, my friend!”,有回复后就进入了 OpenClaw 机器人的 “调教” 阶段。这个是机器人 Cosplay 的核心配置环节,非常重要,不要着急,提供给机器人的信息越多,那么你以后得到的体验就越好。
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-20.png


上述对机器人的配置会被保存在下列文件中,后续也可以继续修改:
  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 镜像运行 Onboarding启动 Docker Compose生成认证 Token
Gateway 将运行在 http://127.0.0.1:18789/
对接飞书

创建飞书机器人应用

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-21.png

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-22.png

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

    将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-23.png

安装飞书通道插件

在 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
复制代码
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-24.png


配置飞书消息事件回调

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-25.png

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-26.png


将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-27.png

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-28.png

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-29.png


聊天测试

重启 OpenClaw Gateway 可以看见飞书开放平台上的 OpenClaw 应用作为 WebSocket Client 已经 Ready 了。
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-30.png

使用飞书开始和 OpenClaw 聊天。

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-31.png


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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-32.png


浏览器自动化推荐

浏览器自动化,即:OpenClaw 可以像人一样自动地操作浏览器,并且根据自动化程序分为 4 个等级:
    L0:搜索 + 抓取。用 Brave Search 搜索,用 jina.ai 抓取页面内容,完全不需要浏览器。日常 80% 的信息获取靠这一层就够了。L1:无头浏览器(Headless Chrome)。Headless 的意思是没有界面,浏览器在后台默默运行。适合那些需要加载 JavaScript 才能显示内容的页面。比如有些网站用 React 或 Vue 写的,不运行 JS 就是一片空白,这时候 L0 的抓取就失效了,需要 L1 来处理。L2:有头浏览器 + DOM 操作。跟人类平时打开浏览器一样,有完整的界面。AI 通过获取网页上的 DOM 元素(DOM 就是网页的结构,按钮、输入框、链接这些都是 DOM 元素)来点击、输入、操作。适合需要登录、填表单、点按钮的场景。比如让 OpenClaw 登录某个网站,它会找到用户名输入框、密码输入框,依次填入,然后点击登录按钮。L3:截图 + 视觉识别。有些信息只存在于图片里,比如商品图、参数表、图表,DOM 里根本拿不到这些信息。这时候让 AI 截图,然后用大模型的视觉能力识别图片内容。这是最后一层兜底方案,速度最慢,但能处理 L2 搞不定的情况。
如果你采用云主机部署,默认就是没有桌面环境的,所以 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 格式内容。
    返回的内容是干净的 Markdown 格式,AI 读起来很舒服免费,不需要 API key,直接用
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"
复制代码
架构分析

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-33.png


    Channels(通道):连接各种消息平台,提供统一消息接口。支持:飞书、钉钉、WhatsApp、Telegram、Discord、Slack、SMS 等,让 AI 与用户的日常通信无缝对接。Gateway(大门):基于 WebSocket 的中央控制平面,运行在 localhost:18789 之上的一个 Node.js 守护进程,管理会话、路由请求、身份鉴权、消息通道、工具和事件。所有消息经由此路由、管理认证和会话。Agent(大脑):连接 LLM(Claude、GPT、Ollama 等),有专门的人设,负责理解上下文意图、制定分步计划、决定要调用哪些工具或技能。Skills(手脚):使用 SKILL.md 进行定义的一系列 Skills&Tools,是 Agent 和现实世界互动的手脚,支持文件操作、浏览器控制、API 调用等。Nodes(传感器/终端):运行在用户端设备(手机、笔记本、Raspberry Pi,台式机)的小智能体,可以提供摄像头、地理位置或系统通知等本地能力。
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-34.png


Gateway 中央控制平面

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-35.png


OpenClaw Gateway 是一个长期运行的守护进程,基于 Node.js 构建,采用 WebSocket 通信技术。主要做以下件事:
    连接管理与 Channel 适配:协议翻译官,Gateway 需要维护和不同消息平台之间的连接方式。消息规范化与 Session 路由:智能分拣员,各消息平台的消息格式不一样,Gateway 会把外部消息统一成标准内部事件/消息模型,然后按三要素路由:用户是谁、属于哪个工作区、当前会话上下文是什么。车道队列(Lane Queue):这是一个并发控制层。当你同时在三个群里指挥 AI 时,它确保每个对话的状态独立维护,避免竞态条件。鉴权与权限控制:安全守门人,Gateway 集中做 ACL(访问控制)。队列调度与并发控制:交通指挥官,Gateway 做队列化、限流、优先级、熔断,让系统在压力下仍然可用,也让成本不会失控到无法解释。解决群聊瞬间几十条、机器人被 @ 疯狂点名、外部平台重试导致重复投递、LLM 调用成本随着并发直线上升等等问题。会话生命周期管理:记忆管家,Gateway 会话生命周期管理包括 Session 的创建/维护/回收、上下文缓存与对话状态、何时截断、何时归档、何时重建等等。
实际上 Gateway 最大的亮点之一就是 “统一性”:WhatsApp、Telegram、微信、钉钉、Discord 等等消息平台本质上是“多个互不兼容的通信系统”:
7. 协议不同:HTTP、WebSocket、长连接、私有协议。
8. 消息模型不同:文本、富媒体、引用/回复、线程、频道、群组、@ 的语义。
9. 鉴权不同:token、扫码登录、回调签名、权限分级。
10. 限流策略不同:有的平台按用户限,有的按机器人限,有的按接口限。
OpenClaw Gateway 解决了这个根本问题,作为长期运行的单进程控制平面(Control Plane),负责让整个系统有一套统一的接入方式。它带来几个工程化的好处:
    状态不再分裂:不再各平台各存一份。会话天然连续:跨平台也能保持一致的上下文。行为可预测:所有决策逻辑集中在一个地方。可审计、可回放:出了问题能定位故障。
WebSocket

在 WebSocket 消息传输层面,Gateway 的核心就是 3 件事情:
    接收消息:从各个 Channels 或 CLI 接受消息(用户指令)。路由分发:决定这条消息应该交给哪个 Agent 处理,一个 Gateway 可以托管多个独立的 Agent。回复投递:把 Agent 的回复返回。

    将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-36.png

WebSocket endpoint ws://127.0.0.1:18789,通信过程:
    传输层:WebSocket Message,JSON 格式。请求格式:{type:“req”, id, method, params}响应格式:{type:“res”, id, ok, payload|error}事件格式:{type:“event”, event, payload, seq?, stateVersion?}支持事件类型:agent、chat、presence、health、heartbeat、cron、tick、shutdown首帧必须为 connect
将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-37.png


网络模式

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

    loopback 模式:Auth 是可选的,但推荐使用,默认情况下,Onboarding 会生成一个 token。non-loopback 模式:lan/tailnet/custom 强制使用 Auth,未设置 gateway.auth.token 或者 gateway.auth.password 的话,Gateway 会拒绝启动。
Channels 通道

OpenClaw Channels 负责将多个消息平台接入到中央的 Gateway,以 WebSocket 协议进行消息的收发通信,并翻译为 Gateway 的统一标准格式。
OpenClaw Channels 采用了 Plugin 插件化的架构设计,所有的消息平台都是 Channel 插件。只负责“接入层”的事情,包括:登录、收发消息、协议适配(把平台事件转换成标准事件)。而负责的事情则交由 Gateway 负责,包括:状态管理、业务决策、业务决策、权限与调度策略等。可见 Channel 是轻量化的、驱动层化的,接入一个新的消息平台,只是多一个插件。
插件工作流程其实很朴素,但很有效:
    插件接收外部事件转换为标准事件提交给 GatewayGateway 处理并生成响应插件把响应转回平台格式发出去
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 之前,运行器会进行外科手术式的准备:
    模型解析器:动态选择最适合当前任务的模型(如 Claude 或 GPT)。系统提示词构建器:根据当前启用的“技能”(如浏览器自动化、文件访问等)动态组装提示词。这种按需加载的设计,避免了为不用的功能浪费宝贵的 Token 空间。会话历史加载器:从本地存储中调取持续性的对话上下文。上下文窗口卫士:当对话历史逼近 Token 限制时,它会自动压缩历史记录,确保对话不中断。
准备好提示词之后,Agent Runner 会调用 LLM 大模型服务,返回的结果交由下一层来处理。在这里,token 的用量优化成为重要的考量,采用了 Skills 的架构,动态加载和技能相关的描述和细节。
智能体处理循环(Agentic Loop),每个 Loop 主要包含 4 个核心阶段:
    上下文组装(Context Assembly)模型推理(Model Inference)工具执行(Tool Execution)回复分发(Reply Dispatch)
  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 格式示例:
    requires.bins:必需的 PATH 二进制文件列表requires.env:必需的环境变量requires.config:必需的配置路径primaryEnv:主要环境变量
  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+ 个):
    Apple 生态:Notes、Reminders、Things 3、Bear Notes 等。Google Workspace:Gmail、Calendar、Drive、Docs、Sheets(通过 gog CLI)等。通信工具:Slack、iMessage、Twitter/X、Discord 等。智能家居:Philips Hue、Sonos、Eight Sleep 等。开发工具:GitHub CLI、Claude Code 子进程、Whisper 转录等。
除了内置的 Skills 之外,也可以安装第三方的 Skills。这些 Skills 的加载优先级(从高到低):
    Workspace skills:<当前目录>/.claude/skills/,项目级别,只在该项目生效。User skills:~/.openclaw/skills,用户级别,所有项目共享。Bundled skills:内置技能,随 OpenClaw 安装包分发。
Skills 存在一个量变到质变的飞跃,因为 Skills 之间可以组合。例如:接 Slack Skill 能管下达指令,状态汇报,接图像生成能画图,接 PPT Skill 服务能出稿,接 DeepResearch Skill 能调研。这些凑在一起,就可以组合进化出很多完整的业务能力和应用场景。
Nodes 终端

Nodes 的本质是硬件终端设备的一种抽象,是接入到 Gateway 上的子设备,包括:iOS、Android、macOS 等等。使得 OpenClaw 可以操纵这些设备的摄像头、屏幕录制、系统控制、屏幕共享、显示可交互式的 UI 界面等等。Nodes 工作的前提是需要再这些子设备上安装一个小型智能体,或者称之为 Node Client App。
目前支持的 Nodes 类型包括:
    macOS Node:system.run(执行命令)、system.notify(通知)、Canvas/摄像头。iOS Node:Canvas、语音唤醒、摄像头拍照/录像、屏幕录制、语音触发。Android Node:Canvas、语音交互、摄像头、屏幕截图、短信集成(可选)。
Nodes 和 Gateway 之间的通信协议包括:
    传输:Gateway WebSocket(LAN/Tailscale/SSH 隧道)发现:node.list / node.describe 枚举能力执行:node.invoke 运行设备本地操作命令:camera.snap/camera.clip(拍照/录像)、screen.record、location.get、notifications
如果 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 记忆系统

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-38.png


和 Claude Code、Cursor 等使用 Project 来隔离上下文的设计不同,OpenClaw 将所有对话的上下文都混合在同一个地方。这样才能够实现:你上午在 Telegram 里让它帮你整理邮件,下午在 Slack 里让它写个报告,晚上在 WhatsApp 里让它安排明天的日程,它全都记得。给人的感觉就是它特别聪明,好像真的认识你。但坏处是特别消耗 token,它会将所有上下文一股脑的输入到 LLM 中。
所以,OpenClaw 设计了一个非常巧妙的持久化化记忆系统,非常简单明了,基于单纯的 Markdown 文件:
    SOUL.md 定义了 AI 的核心人格和行为准则USER.md 保存了对用户的画像MEMORY.md 储存长期记忆memory 目录下是每日的原始日志
它通过一个自我维护机制,每隔一段时间(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 就能聊,这是它能出圈的基础。
但实际上,这有深层次的考虑。
    线性对话:聊天窗口要求对话是线性的,一条条消息往下排。但是深度的知识工作往往不是线性的。比如你需要引用另外一个 thread 的内容,需要把两个方向的探索 merge 在一起,需要在某个会话中 fork 出去。所以 Cursor 都有专门的 IDE UI 来进行专业化的支出。这是聊天窗口所不具备的。信息密度:聊天窗口的信息密度肯定是低的,但凡要做更复杂一点的分析和思考就捉襟见肘了。比如图文混排的分析报告、复杂的表格、带格式的长文,这些在聊天里面看还都蛮痛苦的。可观测性:聊天窗口基本上只能看见结果,而没有过程,尤其是对要分好几步才能完成的任务。这些在 Cursor 等等工具里会有自然的呈现,但 OpenClaw 会在长久的等待之后只返回一个结果。
而 OpenClaw 对自身的定位做了清晰的定义,即:“他要开发一个他妈妈也能正常使用的智能体”。所以这里面存在很明显的选择和妥协(trade-off),也是一种智慧。
设计哲学

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

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

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-39.png


Docker 沙箱模式提供一个执行 Skills&Tools 的隔离环境,即使 AI “失控”,影响范围也有限。同时,容器沙箱能够杜绝在宿主机上执行高风险的工具,例如:
    允许:exec(运行命令)、read/write/edit(文件)禁止:browser(浏览器控制)、canvas、nodes(设备控制)、cron(定时任务)
支持 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"]}},
复制代码
值得注意,启用沙箱模式,并不一定所有的操作都在沙箱里执行,这取决于 “会话类型”:
    主会话(信任区):只和你进行的私密对话。推荐在主机上直接运行,拥有完全的访问权限。非主会话(隔离区):公共场合的对话(群聊、频道),可能存在陌生人 @OpenClaw 的情况,所以需要沙箱保护,防止搞破坏。
mode(沙箱模式)
    “none”:所有会话都直接在主机上运行。“non-main”(默认):主会话在主机,非主会话在沙箱。“all”:所有会话都在沙箱里。
scope(隔离范围)
    “agent”(默认):每智能体一个容器。“session”:更严格的每会话一个容器。“shared”:单容器共享(安全性较低)。
workspaceAccess(智能体工作区访问):OpenClaw 默认的智能体工作区是 ~/.openclaw/workspace,配置文件 ~/.openclaw/openclaw.json 可以修改。
    “none”(默认):容器内不可访问智能体工作区。“ro”:将智能体工作区只读挂载到容器内的 /agent“rw”:将智能体工作区读写挂载到容器内 /workspace
容器安全加固
    “workdir”: “/workspace” — 将智能体工作区 ~/.openclaw/workspace 挂载到容器 /workspace 内。readOnlyRoot: true — 容器内只读根文件系统,所以无法在容器内安装系统包(比如 apt-get install 会失败)、无法修改 /usr, /bin, /etc 等系统目录、无法删改系统文件。绝对的安全,但也欠缺灵活性。“user”: “501:20” — 容器以非 root 用户运行,id -u 和 id -g 查看 macOS 用户的 UID 和 GID,否则容器内无法访问智能体工作区 ~/.openclaw/workspace。pidsLimit: 256 — 进程数量限制。memory: “1g” / memorySwap: “2g” — 内存限制“cpus”: 2 — CPU 限制network: “bridge” — 使用桥接网络,如果没有网络需求可以配置为 none。“capDrop”: [“ALL”] — 移除所有的 Linux capabilities。
值得注意的是,沙箱容器是延迟启动的,例如有用户在群 @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 在容器里执行命令,例如创建一个测试文件:

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-40.png

  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"]# 挂载开发工作目录}},
复制代码
网络安全

    端口暴露最小化:OpenClaw 服务器最多只会用到 3 个端口:1)SSH 22;2)Gateway 默认的 18789 端口号;3)消息平台随机端口,比如 Telegram 用 443 端口。最小化的只开放上述端口,并上述端口号都应该被修改,降低暴露风险。尤其是 SSH 应该采用密钥认证和禁止 Root 登陆。
    网络访问控制:限制外网可访问 OpenClaw 的 18987 端口,设置仅允许本地访问。
  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 运行在主力机上,那你不得不时刻关心系统安全问题。
    非 Root 降权:OS/Kernel 层面的安全,首要考虑对 OpenClaw 进程进行降权操作。以非 Root 用户运行,权限最小化,避免 OpenClaw 操作高风险的系统调用。
启用沙箱环境是在 “隔离” 的基础上也连带的进行了 “降权”,例如:OpenClaw 在 docker.ts 中已经硬编码了 --security-opt no-new-privileges,此外还在 openclaw.conf 中添加了 readOnlyRoot True、user 1000:1000、capDrop ALL 等配置。所以启用沙箱环境非常重要。
    “人在回路” 授权:除了 “降权” 之外,还需要人类参与充分的 action 授权,以至于能够充分的掌握 OpenClaw 所做的一切。
应用安全

    对于 OpenClaw 本身的安全考虑,首先就是要定时更新版本,跟踪并及时修复开源漏洞。查看 OpenClaw 的版本:
  1. $ openclaw --version
  2. 2026.2.9
复制代码
    加固 OpenClaw 配置文件,将 openclaw.json 设置为只读,避免配置文件中的安全策略被修改。
  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 消耗的六大来源:

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-41.png


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 种任务类型:
    system-event:在主会话中触发系统事件。agent-turn:在隔离会话中运行 AI 代理任务。message:直接发送消息到指定频道。
  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.     └── ...
复制代码
    MEMORY.md:存放重要决策、项目配置、用户偏好memory/YYYY-MM-DD.md:存放原始对话记录定期整理:每周将重要信息从日志提取到主记忆
可以修改 ~/.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 有一套斜杠命令系统,在聊天里直接输入 / 开头的指令就能使用。

将 OpenClaw 安全的运行在 MacOS 主力机上最大化提效-42.png


    /status 查看当前状态。/stop 停止某个任务。/compact 压缩上下文。/new 开启新会话,聊完一个话题想换下一个时用,避免上下文污染。/model <名字> 切换模型。/think <级别> 调整思考深度。日常闲聊用 off 就行,复杂问题开 high。
应用技巧

使用 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://openclaw.ai/安装手册:https://docs.openclaw.ai/start/getting-startedGithub: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

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )