MacBook Air M5 免费养个 AI 助手:Gemma 4 本地运行 OpenClaw 完全指南

先说结论

我用 MacBook Air 13 M5 测试了一整天,结论:

  • Gemma 4 E4B 本地运行: 流畅,响应 2-4 秒
  • ✅ **完全免费: 不花一分钱
  • ✅ **隐私安全: 对话不上传云端
  • ✅ **微信对接: 扫码就能用

就这一个方案,别纠结了。


一、你需要什么

MacBook Air 13 英寸
芯片: Apple M5 (10+8核)
内存: 16GB(8GB 也能跑,但 16GB 更从容)
硬盘: 512GB
系统: macOS 15.0+

内存占用实测:

  • Gemma 4 E4B 运行时占用约 10-12GB
  • 16GB 内存刚好够用,8GB 会比较紧张

二、安装前置依赖

2.1 安装 Xcode Command Line Tools(⚠️ 必须第一步)

不做这一步,后面全都会报错! Homebrew、Node.js、Ollama 全依赖它。

安装方法:

打开终端(Command+空格 → 输入「终端」),粘贴:

xcode-select --install

会弹出一个对话框:

  1. 点击「安装」
  2. 同意许可协议
  3. 等待下载(约 1-2GB,10-20 分钟)
  4. 安装完成后会提示「软件已安装」

验证安装成功:

xcode-select -p

应该显示:

/Library/Developer/CommandLineTools

如果显示 command line tools are already installed: 说明已安装,跳到下一步。

如果提示需要更新: 点「安装」更新即可。

⚠️ 常见错误:

xcode-select: error: command line tools are already installed

这是说已经装了,不用管,继续下一步。

2.2 检查 Homebrew

brew --version

如果显示版本号: 已安装,跳到下一步。

如果提示 command not found: 用国内镜像安装:

# 使用中科大镜像源安装 Homebrew
/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

按提示选择镜像源(推荐选 1: 中科大),等待安装完成。

验证:

brew --version

2.3 安装 Node.js

node --version

如果显示 v18.x 或更高: 已安装,跳到下一步。

如果提示 command not found 或版本太老: 用 brew 安装 nvm:

# 用 brew 安装 nvm(推荐)
brew install nvm

安装后按提示配置:

echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ "$(brew --prefix nvm 2>/dev/null)" ] && \. "$(brew --prefix nvm)/nvm.sh"' >> ~/.zshrc
source ~/.zshrc

设置国内镜像 + 安装 Node.js:

# 设置淘宝镜像
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node

# 安装 Node.js 22
nvm install 22
nvm use 22

验证:

node -v  # 应该显示 v22.x.x
npm -v

配置 npm 淘宝镜像(加速下载):

npm config set registry https://registry.npmmirror.com

三、一条命令,5 分钟搞定

第一步: 安装 Ollama

brew install ollama

启动服务:

ollama serve

检查版本(Gemma 4 需要 0.20.0+):

ollama --version

如果版本低于 0.20.0:

brew upgrade ollama

第二步: 一键启动 OpenClaw

ollama launch openclaw

这条命令会自动:

  1. 安装 OpenClaw
  2. 让你选择模型 → 选 gemma4:e4b
  3. 配置 Gateway 守护进程
  4. 安装网页搜索插件
  5. 启动后台服务
  6. 打开终端对话界面

真实耗时: 第一次约 3-5 分钟(下载模型和依赖),之后启动只要 5 秒。

第三步: 安装微信插件

npx -y @tencent-weixin/openclaw-weixin-cli@latest install

扫码登录:

npx -y @tencent-weixin/openclaw-weixin-cli@latest login

搞定。


四、配置文件(可选)

如果需要手动配置,编辑 ~/.openclaw/openclaw.json:

{
  "models": {
    "default": "ollama:gemma4:e4b",
    "providers": {
      "ollama": {
        "baseUrl": "http://localhost:11434",
        "timeout": 120000
      }
    }
  },
  "gateway": {
    "port": 3000
  }
}

微信通道通过插件管理,不需要在配置文件里写。


五、性能优化(2 个设置)

5.1 保持模型常驻

Ollama 默认 5 分钟不用就卸载模型。改成 30 分钟:

echo 'export OLLAMA_KEEP_ALIVE=30m' >> ~/.zshrc
source ~/.zshrc

5.2 扩大上下文窗口

OpenClaw 需要大上下文,设成 64k:

echo 'export OLLAMA_NUM_CTX=65536' >> ~/.zshrc
source ~/.zshrc

5.3 重启生效

openclaw gateway restart

六、常用命令

# 启动
ollama launch openclaw

# 停止
openclaw gateway stop

# 查看状态
openclaw status

# 重启
openclaw gateway restart

# 配置微信
openclaw configure --section channels

# 查日志
tail -f ~/.openclaw/logs/gateway.log

七、常见问题

问题 解决
xcode-select: error 先运行 xcode-select --install
unsupported model version 升级 Ollama 到 0.20.0+
微信没反应 运行 openclaw gateway start
响应慢 设置 OLLAMA_KEEP_ALIVE=30m
内存不够 关掉其他应用,或用 16GB 机型
brew: command not found 用国内镜像安装(见上文)
node: command not found 用 nvm 安装(见上文)
npm 下载慢 配置淘宝镜像 npm config set registry https://registry.npmmirror.com

八、实际能干啥?

很多人担心 E4B 模型太弱,我测试了一天,这些场景完全 OK:

✅ 写代码

帮我写个 Python 脚本,批量重命名文件夹里的图片

直接给出可运行代码,带注释,复制粘贴就能用。

✅ 写邮件

帮我写一封请假邮件,理由是家里有事

30 秒出一封格式规范的邮件,稍微改改就能发。

✅ 总结文章

发一篇公众号文章链接,AI 自动读取并总结要点。

✅ 翻译

把这段话翻译成英文

翻译质量够日常使用,专业术语偶尔需要纠正。

✅ 头脑风暴

帮我构思 5 个产品名字,要好记、有科技感

给出多个选项,还会解释每个名字的含义。

⚠️ 不太行的场景:

  • 复杂的代码架构设计(需要更强模型)
  • 长篇技术文章写作(会啰嗦)
  • 数学推导(容易出错)

总结: 日常辅助够用,复杂任务建议用云端模型。


总结

  1. xcode-select --install → 安装 Xcode 工具(必须先做)
  2. 检查依赖: Homebrew、Node.js(没有就装,用国内镜像)
  3. brew install ollama → 启动 ollama serve
  4. ollama launch openclaw → 选 gemma4:e4b
  5. npx -y @tencent-weixin/openclaw-weixin-cli@latest install → 扫码连微信
  6. (可选) 配置 launchd 后台持续运行(见下文)

完事。免费,本地,微信随时聊。


九、保持服务运行

方式一: 用 launchd 自启动(推荐)

创建服务文件:

cat > ~/Library/LaunchAgents/com.openclaw.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.openclaw</string>
    <key>ProgramArguments</key>
    <array>
        <string>/Users/你的用户名/.nvm/versions/node/v22.22.2/bin/openclaw</string>
        <string>gateway</string>
        <string>start</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardOutPath</key>
    <string>/tmp/openclaw.log</string>
    <key>StandardErrorPath</key>
    <string>/tmp/openclaw-error.log</string>
</dict>
</plist>
EOF

⚠️ 记得把 你的用户名 改成你的实际用户名,可以用 whoami 命令查看。

加载服务:

launchctl load ~/Library/LaunchAgents/com.openclaw.plist

验证:

launchctl list | grep openclaw

管理命令:

# 停止服务
launchctl unload ~/Library/LaunchAgents/com.openclaw.plist

# 重新加载
launchctl load ~/Library/LaunchAgents/com.openclaw.plist

# 查看日志
tail -f /tmp/openclaw.log

方式二: 用 nohup(简单)

nohup openclaw gateway start > /tmp/openclaw.log 2>&1 &

查看日志:

tail -f /tmp/openclaw.log

停止:

pkill -f "openclaw gateway"
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容