☰
OpenClaw 保姆级教程:Mac 上配置 AI 智能体与 Skills 实战
2026/10/19 4:50:57 网站建设 项目流程

为一件事折腾一下午真是常有的事:上周想把一组散落在不同文件夹的会议录音转成文字稿,再按发言人归好档。按照老办法,我得先装转写工具,再写 Python 脚本做音频切分,最后还得处理不同格式的时间戳,整套流程下来至少四五个小时。后来我换了思路,直接用 OpenClaw 这个开源智能体框架跑了一遍:告诉它“把这些录音转成文字,按发言人分目录存好”,剩下的它自己调度工具链完成了。

OpenClaw 说白了就是一套跑在命令行里的智能体工作流管理器,让你用自然语言指挥电脑完成多步骤任务。它把大模型、终端命令、文件系统、第三方 API 串成一个整体,很适合以下几类人:

  • 想让 Mac 自动处理重复工作的同学,比如批量重命名、整理下载目录、生成周报;
  • 想玩 AI Agent 但不想从零搭框架的开发者;
  • 写了大量脚本但缺乏统一调度入口的运维和数据分析师;
  • 以及单纯想看看 2026 年的个人 AI 助手到底能折腾到什么程度的好奇党。

这篇教程我会基于自己在 Mac 上的实际安装和使用经历,把环境准备、四条安装路线、首次初始化、模型接入,以及很多教程一笔带过的 skills 安装全部拆开讲。文中所有命令都在 macOS 14 和 macOS 15 上实测过,Apple Silicon 和 Intel 芯片的差异我也会单独标注。

1. 为什么我最终选了 OpenClaw,而不是自己写脚本

1.1 被重复劳动逼出来的需求

我接触 OpenClaw 之前,桌面上的自动化工作基本都是靠 shell 脚本 + cron 硬扛。比如每周五要汇总一周的 Git 提交记录、跑测试、生成报告,我写了快三百行 Python,里面塞满了 subprocess 调用的黑魔法。维护成本高不说,换个仓库就要改正则,非常痛苦。

后来我意识到,问题不在于“脚本写得不够好”,而在于“每个任务都需要手写一套工具链”。转写音频要调 A 工具,合并 PDF 要调 B 工具,处理图片要调 C 工具,这些工具之间没有统一的交互语言。OpenClaw 解决的核心问题就是把“任务理解—工具选择—参数填充—执行—结果整理”这个过程交给智能体,我只负责用一句话描述目标。

1.2 OpenClaw 在 2026 年的生态位

到 2026 年,Mac 上的智能体工具已经不少了,但 OpenClaw 的几个特点让它特别适合作为“个人电脑管家”:

  • 原生终端优先:所有操作都围绕命令行展开,和 Git、Homebrew、Docker 这些开发者工具兼容得最好;
  • 技能包(skills)机制成熟:社区贡献了大量现成的 skill,从 PDF 处理到飞书消息发送都有,安装一个技能就像给手机装一个 App;
  • 本地优先:默认配置下数据都存本机,不强制上传云端;
  • 模型无关:支持市面上主流厂商的 API,也支持跑在本机的开源模型,换模型不用改框架。

1.3 适用人群和场景清单

场景以前的做法用 OpenClaw 的做法
整理下载文件夹手动拖拽 / 写 find+mv 脚本一句话“把最近 7 天下载的图片按月份归档”
批量处理 Markdown 文档写 Pandoc 命令循环“把 docs 目录下所有 Markdown 转成 PDF”
生成项目周报手动翻 Git log 再复制粘贴“基于最近一周的提交记录生成周报 Markdown”
会议录音转写安装转写工具再手工切分“转写录音并按发言人整理”

对我来说,最大的转变是:从“为每个任务写定制脚本”变成“让智能体动态组合通用工具”。日常运维、内容整理、文件处理这一类任务,OpenClaw 至少帮我省掉了七成重复劳动。

2. 安装前的 Mac 环境体检与三件套配置

在真正安装 OpenClaw 之前,我建议先把系统环境过一遍。很多安装失败其实不是 OpenClaw 本身的问题,而是基础依赖没就位。

2.1 系统版本和硬件要求

OpenClaw 官方文档写的是 macOS 13 及以上,但我实测下来,macOS 14 和 macOS 15 的体验最稳,尤其是 Apple Silicon 机器上,内存管理策略和日志权限逻辑都有差异。

硬件方面:

  • Apple Silicon(M 系列芯片):推荐 16GB 内存起步。8GB 内存也能跑,但如果还要同时跑本地大模型,就非常吃紧;
  • Intel Mac:可以安装,但涉及本地模型推理的场景会明显慢不少,建议把模型相关的 skill 都走远端 API;
  • 磁盘空间:程序本体加依赖大约占用 400MB 到 600MB,日志和缓存默认存放在~/.openclaw/下,如果想长期使用本地模型,至少预留 20GB 空间。

2.2 Homebrew:Mac 上的软件管家

Homebrew 几乎是 Mac 开发者绕不开的工具。如果你还没有安装,在终端执行:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

国内网络环境下下载可能比较慢,安装前可以先把镜像源切换为国内高校或云厂商的 Homebrew 镜像,具体地址每个镜像站都有操作说明,照着改HOMEBREW_API_DOMAIN和HOMEBREW_BOTTLE_DOMAIN两个环境变量即可。装完验证:

brew --version

2.3 Python 和 Node.js 版本管理

OpenClaw 有不少 skills 依赖 Python 3.11+ 或 Node.js 20+,特别是 Python 环境,最忌讳直接用系统自带的 Python。我个人的做法是用pyenv管理 Python 版本,用nvm管理 Node 版本:

brew install pyenv pyenv install 3.11.9 pyenv global 3.11.9 python --version

Node 这边:

brew install nvm mkdir -p ~/.nvm # 然后把 nvm 初始化脚本写入 ~/.zshrc 或 ~/.bash_profile nvm install 20 nvm use 20 node --version

之所以强调版本管理,是因为 OpenClaw 的 skill 生态里有些脚本是 Python 2 时代的老古董格式,有些用了 Python 3.12 的新语法,如果没有独立的版本环境互相隔离,很容易出现“装 A skill 把 B skill 的依赖搞坏”的连锁反应。

2.4 终端与 SSH 配置

OpenClaw 的交互界面跑在终端里,默认的 macOS Terminal 就能用,但 zsh 的配置文件建议提前整理一下:

  • 确认默认 shell 是 zsh:echo $SHELL;
  • 如果之前配过.zshrc,建议把LANG设置为zh_CN.UTF-8或en_US.UTF-8,避免中文文件名在日志里显示乱码;
  • 如果要用 Git 安装一些私有 skill 仓库,需要保证 SSH key 已经配置好并可以正常拉取仓库。

这一步做完,接下来正式安装 OpenClaw。

3. 四条安装路线怎么选:从一键脚本到源码编译

OpenClaw 的安装方式比早期丰富了很多,我按适用人群分成了四条路线。第一次接触的话,直接走路线 A;想自己改框架源码的,走路线 D。

3.1 路线 A:官方一键脚本(新手首选)

官方脚本是社区里最常用的安装方式,在终端执行:

curl -fsSL https://get.openclaw.dev/install.sh | bash

脚本会自动检测系统架构(arm64 还是 x86_64),把可执行文件安装到/usr/local/bin或~/.local/bin,并写入对应的 shell 配置文件。装完开一个新终端,验证:

openclaw --version

如果提示command not found,多半是~/.local/bin没有加入PATH,手动加一下即可。

3.2 路线 B:Homebrew 安装(偏好包管理的用户)

我自己的机器就是用 Homebrew 装的,因为平时所有工具都走 brew 管理,升级方便:

brew tap openclaw/tap brew install openclaw

这种方式的好处是brew upgrade openclaw就能完成升级,不用重新跑脚本。

3.3 路线 C:Docker 容器(隔离派用户)

如果不想在宿主机装一堆依赖,可以用 Docker 跑:

docker run -d \ --name openclaw \ -v ~/.openclaw:/root/.openclaw \ -v ~/workspace:/workspace \ openclaw/openclaw:latest

但注意:Docker 方案的文件系统隔离意味着容器里的 OpenClaw 直接访问宿主机文件会有额外配置成本,适合“只是试试看”的场景,真正常态使用还是建议直接安装在宿主机。

3.4 路线 D:源码编译(开发者模式)

想读源码、改代码、给社区提 PR 的朋友,用 Git 拉源码:

git clone https://github.com/openclaw/openclaw.git cd openclaw make bootstrap make install

源码安装会拉取全部模块,耗时较长,而且依赖编译工具链(Xcode Command Line Tools),安装前先执行xcode-select --install把命令行工具补全。源码方式最大的优势是你可以直接改 skill 引擎的代码,做一些定制化逻辑。

3.5 安装后的目录结构

无论走哪条路线,OpenClaw 的数据目录默认都在~/.openclaw/下:

目录用途
~/.openclaw/config.yaml主配置文件
~/.openclaw/skills/技能包存放处
~/.openclaw/logs/运行日志
~/.openclaw/cache/模型缓存与临时文件

熟悉这个结构对后面排错很有帮助。

4. 第一次启动与模型接入:把 OpenClaw 变成能干活的助手

安装完成只是开始,真正让 OpenClaw 干活需要完成初始化和模型接入。我给朋友装的时候经常发现他们卡在这一步,主要原因是对“智能体怎么知道自己该调用哪个模型”没有概念。

4.1 初始化向导

第一次运行:

openclaw init

初始化向导会问几个问题:

  • 默认 shell 类型(建议选 zsh);
  • 是否允许 OpenClaw 自动执行高风险命令(比如批量删除文件),新手建议选“每次询问”;
  • 日志详细级别(日常使用 info 就够,排错时切 debug);
  • 默认模型的接入方式。

初始化完成后会生成~/.openclaw/config.yaml,这是整个工具的“大脑配置”。

4.2 接入模型:兼容层是关键

OpenClaw 本身不内置大模型,它负责的是工具编排,真正理解任务靠的是外部模型 API。好消息是它对模型接入做了统一抽象,只要模型厂商提供 OpenAI 兼容的接口,就能直接填 Base URL 使用。

配置项大概是这样的:

model: provider: openai-compatible base_url: https://api.example.com/v1 api_key: sk-xxxxxxxxxxxxx model_name: gpt-4o-mini timeout: 120

几个关键参数:

  • base_url:指向厂商兼容层地址。2026 年主流的模型服务商基本都支持 OpenAI 兼容协议,你从服务商的控制台拿到专属地址填进去就行;
  • model_name:填服务商提供的模型标识,比如某个轻量模型或长上下文模型;
  • timeout:推荐 120 秒以上。我一开始用默认 30 秒,处理一个多步骤任务经常中途报超时,后来调到 180 秒就稳定了;
  • 如果你想省钱或追求隐私,也可以在本地跑开源模型,像llama或qwen系列,通过 Ollama 类的工具暴露本机 11434 端口给 OpenClaw 用。

4.3 验证是否跑通

配置完模型,可以先用一个简单任务验证:

openclaw run "统计当前目录下的 Python 文件数量,并按文件大小排序"

如果配置正常,OpenClaw 会先拆解任务,决定调用哪些工具(比如find+sort),然后逐步执行并输出执行日志。看到类似下面的输出:

[Task] 统计当前目录下的 Python 文件数量,并按文件大小排序 [Plan] 1. 扫描目录获取 .py 文件列表 2. 获取大小并排序 3. 汇总结果 [Run] 完成,共找到 12 个文件

就说明整个链路已经通了。这一步是很多人第一次感受到“电脑听懂了人话”的瞬间。

4.4 从命令模式进入交互模式

openclaw run "一句话任务"适合单次执行。如果需要连续对话式操作,比如“先列出所有待办事项,然后从中挑出和项目 A 有关的,排个优先级”,很多任务之间存在上下文关系,就需要进入交互模式:

openclaw

交互模式会启动一个 REPL,在这里可以连续发指令,OpenClaw 会记住之前的对话状态。我个人日常用的都是交互模式,因为很多任务没法一句话说清楚,得靠多轮对话逐步修正。

4.5 给 OpenClaw 限定工作目录

默认情况下,OpenClaw 会以当前终端所在目录作为工作区,但我强烈建议在配置里设一个固定的工作目录:

workspace: root: ~/workspace

这样你的所有文件操作都限制在~/workspace内,防止智能体跑偏了去动系统目录。

5. skills 安装实战:官方源、Git 与本地开发三条路

标题里特别提到了 skills 安装,这也是 OpenClaw 最值得玩的部分。简单说,skills 就是给 OpenClaw 装“专业技能”,让它可以完成默认能力之外的事情。

5.1 什么是 skill,它和插件有什么区别

我习惯把 skill 理解为“一个带使用说明的可执行工具包”。一个典型的 skill 包含:

  • manifest.yaml:声明文件,描述这个 skill 的名称、触发词、参数格式;
  • 一个或多个脚本:Python、Shell、Node.js 写的实际执行逻辑;
  • 示例文件:演示这个 skill 的输入输出格式。

看起来和插件挺像,但区别在于 skill 更强调“被智能体动态调用”。普通插件往往是固定的功能模块,而 skill 有明确的“触发条件描述”,智能体会根据用户的一句话判断该调用哪个 skill。

5.2 安装前的准备

安装 skill 之前,先进入交互模式或确认网络没问题。有些 skill 安装时会自动拉取依赖,比如 Python 的某个库,所以建议提前把所有基础命令工具装好:

brew install jq yq wget unzip

jq和yq这两个工具很多 skill 都要用到,用来处理 JSON 和 YAML 格式的数据。

5.3 第一条路线:官方源安装

官方源是社区维护的 skill 仓库,安装命令最简洁:

openclaw skill install pdf-merge

这个命令会从官方源拉取pdf-mergeskill 并解压到~/.openclaw/skills/pdf-merge/。安装完成之后,立即查看已安装列表:

openclaw skill list

输出会展示 skill 名、版本、状态。新装的 skill 如果支持热加载,直接在交互模式下就能用了;如果状态显示inactive,需要重启 OpenClaw 进程。

常见的几个官方 skill 我实际用下来觉得不错的包括:

  • pdf-merge:PDF 合并、拆分、加页眉页脚;
  • excel-analyze:读取 Excel 文件做统计和图表生成;
  • todo-sync:把任务清单同步到本地日历格式;
  • image-ocr:用本机 OCR 引擎识别图片中的文字。

5.4 第二条路线:从 Git 仓库安装

社区里很多开发者会把 skill 放在自己的 Git 仓库里,安装方式和源码安装类似,支持 HTTPS 或 SSH 地址:

openclaw skill install https://github.com/example/skill-wechat-helper.git

也可以从本地仓库安装:

openclaw skill install ./skill-wechat-helper

从 Git 安装时有个细节:如果仓库里包含子模块,OpenClaw 不会自动拉子模块,需要你手动到~/.openclaw/skills/对应目录下执行git submodule update --init --recursive,否则 skill 运行时可能报缺文件。

5.5 第三条路线:本地手写一个 skill

这是我觉得最有意思的部分。拿一个实际需求举例:我想让 OpenClaw 读取一个目录下的 Markdown 文件,统计每篇的字数和标题层级,生成一个汇总表。

步骤一:创建 skill 目录结构

mkdir -p ~/.openclaw/skills/md-stats/{scripts,examples}

步骤二:编写manifest.yaml

name: md-stats description: 统计指定目录下 Markdown 文件的字数与标题结构 version: 1.0.0 author: local keywords: - markdown - 字数 - 目录 scripts: main: scripts/main.py arguments: - name: folder required: true description: 要统计的 Markdown 文件夹路径 type: str

步骤三:编写scripts/main.py

#!/usr/bin/env python3 import os import re import sys import json from pathlib import Path def count_md_stats(folder): folder_path = Path(folder) if not folder_path.is_dir(): return {"error": f"{folder} 不存在"} results = [] for md_file in sorted(folder_path.rglob("*.md")): with open(md_file, "r", encoding="utf-8") as f: content = f.read() title_match = re.search(r"^# (.+)$", content, re.MULTILINE) title = title_match.group(1) if title_match else md_file.name results.append({ "file": str(md_file), "title": title, "chars": len(content), "headings": len(re.findall(r"^#{1,6} ", content, re.MULTILINE)), }) return results if __name__ == "__main__": input_data = json.loads(sys.stdin.read()) output = count_md_stats(input_data.get("folder", ".")) print(json.dumps(output, ensure_ascii=False, indent=2))

步骤四:安装并测试

openclaw skill install ~/.openclaw/skills/md-stats openclaw run "统计 /path/to/notes 目录下所有 Markdown 文档的字数"

测试通过后,这个 skill 就常驻本地了。我建议所有经常做重复工作的朋友都尝试写一个自己的 skill,这个过程的收获远大于装现成的。

5.6 卸载、更新与依赖管理

卸载 skill:

openclaw skill uninstall md-stats

更新某个从 Git 安装的 skill:

openclaw skill update md-stats

更新所有 skill:

openclaw skill update --all

如果你发现某个 skill 的运行结果非常不稳定,可以先卸载再重新安装,比手动清理目录要干净得多。

6. Mac 上我最想提醒的五个坑与排查记录

标题说“保姆级教程”,那踩坑经验肯定是少不了的。我在 Mac 上安装和使用 OpenClaw 时踩过不少坑,挑五个最值得说的分享出来。

6.1 中文文件名导致脚本输出乱码

现象:处理含中文文件名的目录时,日志里中文全部变成\x..形式,有些 skill 甚至直接报编码错误。

排查过程:我先用openclaw run "列出桌面上的文件名"发现输出正常,但切换到包含特殊字符(比如 emoji)的目录就出问题。查了日志发现 CLI 向 Python 子进程传参时默认用的是 UTF-8,但我的 zsh 环境变量里PYTHONIOENCODING没设置,导致 Python 的 stdin/stdout 编码不一致。

解决:在~/.zshrc里加

export LANG=zh_CN.UTF-8 export PYTHONIOENCODING=utf-8

然后source ~/.zshrc重开终端,问题消失。这个坑在 macOS 14 之前很少见,但新系统对 locale 的识别更严格,值得提前设置好。

6.2 首次授权时权限弹窗“无响应”

现象:安装完 OpenClaw 之后,第一次运行需要访问“文件夹”权限,系统弹窗点了“允许”没反应。

排查:OpenClaw 的 CLI 进程是由终端(Terminal 或 iTerm2)启动的,macOS 的权限授权弹窗针对的是父进程(终端应用),所以需要在“系统设置—隐私与安全性—文件与文件夹”中找到终端 App,手动勾选“桌面文件夹”和“文稿”等目录。

解决:给终端 App 授权。注意授权范围越少越好,建议只勾选 OpenClaw 工作目录所在的文件夹,因为全盘访问权限一旦给出去,等于给了智能体无限文件操作权限,风险很大。

6.3 安装 skill 时 Git 拉取失败

现象:执行openclaw skill install时提示 Git error。

排查:先手动git ls-remote测试该仓库地址能不能访问,发现私仓的 SSH key 没加载。另外 GitHub 或 Gitee 的公开仓库偶尔也会因为网络波动失败。

解决:给 SSH 加配置,或改用 HTTPS 地址安装。如果是公司内网自建 Git,需要确认~/.gitconfig中的代理或者证书配置是否正确。这一步很多人容易漏,因为平时自己用 Git 可能没问题,但 OpenClaw 调用 Git 时不一定加载你 shell 里的全部环境变量,保险起见可以在配置里显式指定git_executable路径。

6.4 模型 API 超时导致多步任务中断

现象:复杂的多步骤任务(比如“读取这篇 PDF,提取关键信息,生成摘要,写成 Markdown 保存”)经常在第三步超时中断。

排查:打开~/.openclaw/logs/下的日志,发现超时发生在“生成摘要”环节,原因是一条指令里塞了太多内容,模型单次输出 token 超限。再检查配置,timeout只有 30 秒,明显不够。

解决:调大 timeout 到 180 秒,同时把复杂任务拆成两步。OpenClaw 本身支持在交互模式下分段引导,比如先“提取信息”,再“生成摘要”,每个子任务单独跑,稳定性大幅提升。

6.5 本地模型内存不足直接被杀

现象:在 Apple Silicon 8GB 内存的机器上跑本地模型,进程跑到一半系统提示内存不足,OpenClaw 崩溃。

排查:查htop发现内存占用在模型加载阶段就飙到 8GB 以上,系统开始杀进程。

解决:要么换小一点的量化模型,要么让 OpenClaw 的本地模型走远端独立服务。我用的是后一种方案:把模型跑在另一台 32GB 内存的 Linux 机器上,Mac 只做客户端调用。这样 Mac 内存占用长期稳定在 2GB 以内,干活也不卡。

最后再分享两个使用习惯

这篇教程到这儿,安装和 skills 的部分已经讲完了。最后我想分享两个在长期使用中摸索出来的小习惯。

第一个习惯是把常用命令封装成 shell 别名。我把 OpenClaw 的交互模式绑定成了oc:

alias oc="openclaw"

然后在.zshrc里加了一条快速进入工作目录的指令,现在每天打开终端,敲oc就直接进入工作状态,少打六七个字符,效率提升虽然微小,但胜在每天的重复。

第二个习惯是定期翻日志。很多人用这类工具只看结果不看过程,我建议每周花十分钟翻一下~/.openclaw/logs/下的执行日志,重点关注那些“执行成功但和你预期不一致”的任务。比如你让它整理文件,它确实整理完了,但归类规则可能和你想的不一样。这种细微的偏差,正是掌握智能体调优的最好素材。

OpenClaw 这类工具的学习曲线其实不陡,真正需要花时间的不是安装,而是理解它的执行逻辑,以及慢慢积累适合自己的 skill 库。装好 первый 个 skill,跑通第一個 任务,后面就是水到渠成的事了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询