引言
OpenClaw 是开源 AI 智能体框架,能将大语言模型的推理能力转化为真实的系统操作力:管理文件、执行终端指令、调用本地应用、连接多种通信渠道。
Mac Mini 凭借极致能效、静音运行、统一内存架构等特质,成为运行 OpenClaw 的理想宿主。本文将介绍将 Mac Mini 打造为全天候在线 AI 数字管家的步骤,包括安全加固、性能优化与生产级部署的最佳实践。
介绍如何在 Mac Mini 上部署 OpenClaw 开源 AI 智能体框架。内容包括环境准备(系统优化、工具安装)、核心配置(API 密钥、模型选择)、安全加固(沙箱隔离、权限控制)、消息渠道集成(Telegram/iMessage)及生产级运维监控。通过本地优先执行策略,实现文件管理、终端指令执行及应用控制的自动化,保障数据隐私与系统安全。
OpenClaw 是开源 AI 智能体框架,能将大语言模型的推理能力转化为真实的系统操作力:管理文件、执行终端指令、调用本地应用、连接多种通信渠道。
Mac Mini 凭借极致能效、静音运行、统一内存架构等特质,成为运行 OpenClaw 的理想宿主。本文将介绍将 Mac Mini 打造为全天候在线 AI 数字管家的步骤,包括安全加固、性能优化与生产级部署的最佳实践。
OpenClaw 是一个具备系统级权限的自主执行框架:
其核心设计哲学是本地优先执行,兼顾隐私保护与低延迟。
| 配置项 | 最低要求 | 推荐配置 | 说明 |
|---|---|---|---|
| 芯片 | M1 | M4/M4 Pro | 神经网络引擎提升本地推理能力 |
| 内存 | 16GB | 32GB/64GB | 64GB 可运行大型本地模型 |
| 存储 | 256GB | 512GB/1TB | 本地模型需额外空间 |
| 网络 | Wi-Fi | 有线以太网 | 保证稳定性 |
提示:如果仅使用云端 API,16GB M4 足够;如需运行本地模型,建议 64GB。
在开始安装前,需要对 Mac Mini 进行服务器化配置:
① 禁用休眠
# 查看当前休眠设置
pmset -g
# 禁用休眠(7×24 运行必需)
pmset -asleep0
pmset -a disksleep 0
pmset -a displaysleep 30
# 仅关闭显示器
② 启用 SSH 远程管理
系统设置 → 通用 → 共享③ 创建独立用户账户
为 OpenClaw 创建专用的标准用户(非管理员),实现权限隔离:
系统设置 → 用户与群组 → 添加账户④ 安装必要工具
# 安装 Homebrew(包管理器)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装 Node.js 22+(OpenClaw 核心依赖)
brew install node@22
echo 'export PATH="/usr/local/opt/node@22/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# 验证安装
node --version
npm --version
# 安装 Git(可选)
brew install git
# 安装 Docker Desktop(强烈推荐用于沙箱隔离)
brew install --cask docker
为何需要 Docker?OpenClaw 官方安全指南建议将高风险指令隔离在容器内运行,防止 AI 误操作损害宿主机。
24×7 运行的 OpenClaw 需要连接多种外设。Mac Mini 有限的端口很快会成为瓶颈。
推荐配置:USB-C 扩展坞
外置存储优势:将 OpenClaw 的所有数据放在外置 SSD 上,既延长内置 SSD 寿命,又方便备份和迁移。
# 使用官方安装脚本(自动处理依赖)
curl -fsSL https://openclaw.ai/install.sh | bash
安装过程中会提示确认风险、选择安装模式及下载依赖。
# 全局安装最新版
npm install -g openclaw@latest
# 验证安装
openclaw --version
openclaw onboard --install-daemon
配置向导将引导完成以下步骤:
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 选择安装模式 | 选择'Local/self-hosted' |
| 2 | 配置模型提供商 | 可选择 OpenAI/Anthropic/Ollama 本地模型 |
| 3 | 输入 API 密钥 | 根据选择的提供商填写 |
| 4 | 选择默认模型 | 推荐 Claude 3.5 Sonnet |
| 5 | 连接消息平台 | 选择 Telegram/WhatsApp 等 |
| 6 | 安装后台守护 | 选择 Yes,让 OpenClaw 随系统启动 |
安装完成后,核心配置文件位于用户目录下:
~/.openclaw/
├── .env # 环境变量(API 密钥、工作路径)
├── config.yaml # 主配置文件
├── agents/ # 智能体配置
│ └── main/ # 默认智能体
└── logs/ # 日志文件
└── audit.log # 敏感操作审计日志
必须修改的配置项:
# 编辑.env 文件
nano ~/.openclaw/.env
# API 密钥(根据实际使用的提供商填写)
ANTHROPIC_API_KEY=sk-xxxxxxxxxxxxx
# OPENAI_API_KEY=sk-xxxxxxxxxxxxx
# Telegram 配置(用于远程控制)
TG_BOT_TOKEN=1234567890:ABCDEFghijklmnopqrstuvwxyz
ALLOWED_USER_IDS=123456789 # 仅允许指定用户 ID 访问,防入侵
# 工作路径隔离
WORKSPACE_PATH="/Users/openclaw-agent/openclaw_workspace"
# 代理配置(国内用户必需)
HTTPS_PROXY=http://127.0.0.1:7890
# 编辑 config.yaml
nano ~/.openclaw/config.yaml
gateway:
bind: "loopback" # 仅监听本地,防止外部访问
port: 18789 # Web 管理界面端口
auth:
mode: "token" # 强制令牌认证
sandbox:
use_docker: true # 启用 Docker 沙箱隔离
docker_image: "openclaw/sandbox:latest"
messaging:
channels:
telegram:
dmPolicy: "pairing" # 新用户需批准
OpenClaw 拥有系统级权限,安全是不可妥协的前提。即使配置为本地访问,仍可能存在安全风险。
① macOS 防火墙与加密
# 开启防火墙
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
# 开启 FileVault 磁盘加密(系统设置 → 隐私与安全性)
② 运行安全审计
openclaw security audit --deep
定期运行此命令检查配置漏洞。
③ 监控出站连接
安装网络监控工具(如 LuLu),观察 OpenClaw 的所有外连请求。正常运行时应仅连接 AI 提供商、消息平台和已安装技能的目标 API。
方案 A:Docker 沙箱(推荐)
在 config.yaml 中启用 use_docker: true 后,所有 Bash 命令和文件写入操作将在隔离容器内执行。
方案 B:独立用户账户 切换至专用账户运行 OpenClaw:
# 切换到专用账户
su - openclaw-agent
# 在该账户下重复安装步骤
curl -fsSL https://openclaw.ai/install.sh | bash
方案 C:虚拟机隔离(最高级别) 使用 UTM 创建 macOS 虚拟机,启用'Isolate Guest from Host'选项。
绝对禁止 OpenClaw 访问以下目录:
~/.ssh/ —— SSH 密钥~/Library/Keychains/ —— 系统钥匙串~/.gnupg/ —— GPG 密钥~/.aws/ —— AWS 凭证~/Documents/ —— 个人文档Telegram 是 OpenClaw 官方推荐的控制渠道,推送可靠、跨平台。
① 创建 Telegram Bot
@BotFather/newbot,按提示设置名称和用户名② OpenClaw 中连接
openclaw channels login --channel telegram
终端会显示二维码和链接,用 Telegram 扫码即可。
③ 获取用户 ID 并限制
向你的 Bot 发送任意消息,然后访问:
https://api.telegram.org/bot<你的 Token>/getUpdates
返回 JSON 中的 from.id 即你的用户 ID,填入 .env 的 ALLOWED_USER_IDS。
http://localhost:18789,使用令牌登录禁止直接将 18789 端口暴露到公网。推荐使用 Tailscale 搭建零信任网络:
# 安装 Tailscale
brew install tailscale
sudo tailscale up
# 在 Tailscale 管理后台启用 MAC 地址认证
# 现在可通过 Tailscale 分配的 IP 远程访问
此方案无需开放公网端口,且自带设备认证。
OpenClaw 的 --install-daemon 已自动创建 LaunchAgent,确保开机自启、崩溃后自动重启。
手动管理命令:
# 查看服务状态
launchctl list | grep openclaw
# 手动启动/停止
launchctl start ~/Library/LaunchAgents/ai.openclaw.agent.plist
launchctl stop ~/Library/LaunchAgents/ai.openclaw.agent.plist
① 日志监控
# 实时查看日志
tail -f ~/.openclaw/logs/audit.log
# 检查错误
grep -i error ~/.openclaw/logs/*.log
② 系统资源监控
通过 Activity Monitor 监控 CPU/内存使用率、磁盘活动及网络连接状态。
③ 定期维护清单
| 频率 | 任务 |
|---|---|
| 每日 | 快速浏览 audit.log,确认无异常指令 |
| 每周 | 清理缓存目录,检查磁盘剩余空间 |
| 每月 | 更新 OpenClaw:npm update -g openclaw |
| 每月 | 轮换 API 密钥 |
| 每季 | 测试备份恢复 |
① 模型路由策略
简单任务走本地小模型,复杂任务走云端模型。需在 config.yaml 中定义多个模型提供商。
② Heartbeat 机制 设置'心跳检查'逻辑,仅在模糊状态才调用 LLM,降低 API 成本和延迟。
③ 并发控制
在 .env 中设置:
MAX_CONCURRENT_TASKS=3
TOOL_TIMEOUT_SECONDS=30
避免 AI 同时发起过多请求导致系统过载。
配置完成后,在 Telegram 中发送:
你好,帮我看看桌面上有哪些文件?
OpenClaw 应能理解指令意图,调用 ls 命令列出桌面文件,并将结果整理成自然语言返回。
尝试一个真实自动化场景:
我下周要去上海出差 3 天。请帮我:
1. 在日历上创建行程(6 月 1 日 -3 日)
2. 查询这三天的天气预报
3. 生成一个行李清单建议
4. 把所有内容整理成邮件草稿
如果配置得当,OpenClaw 会依次调用 Calendar API、Web 搜索、常识生成清单、Mail 应用生成草稿。
当任务失败时,检查:
# 查看详细日志
openclaw logs --level debug
# 测试工具调用
openclaw tool call --tool fs.list --args '{"path": "~/Desktop"}'
# 查找占用进程
lsof -i :18789
# 终止该进程或修改 config.yaml 中的端口
.env 中的 TG_BOT_TOKEN 是否正确ALLOWED_USER_IDS 包含你的用户 IDgrep telegram ~/.openclaw/logs/*docker psconfig.yaml 中 sandbox.use_docker 是否为 truedocker pull openclaw/sandbox:latest# .env 中配置代理(需自行搭建)
HTTPS_PROXY=http://127.0.0.1:7890
HTTP_PROXY=http://127.0.0.1:7890
修改 ~/.openclaw/agents/main/agent/models.json 中的 maxContextLength 字段为 32768 或更大。
# 完全卸载
openclaw uninstall
# 删除配置目录(谨慎!)
rm -rf ~/.openclaw
通过 Ollama 部署本地模型,在 OpenClaw 中配置实现完全本地化推理,零 API 费用。
OpenClaw 支持自定义 Skills,用 TypeScript 编写后放入 ~/.openclaw/skills/ 即可。
如果不愿自购硬件,可使用云服务提供商的 Mac 实例,按小时计费验证 PoC。
对于仅需核心调度功能的场景,可关注 PicoClaw 和 ZeroClaw 等轻量级项目,能在树莓派等低功耗设备上运行。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online