返回博客列表
开发工具远程开发AI助手

Mac mini 积灰重启:从 CI/CD 服务器到 OpenClaw AI 助手的华丽转身

分享如何将闲置的 Mac mini 改造成生产力工具,结合 OpenClaw 打造 24/7 运行的 AI 开发助手和远程开发环境。

作者: ekent·发布于 2026年2月8日

年初升级设备后,旧的 M2 Mac mini 放在角落积灰了几个月。直到最近 OpenClaw 爆火,我突然意识到:这台 24/7 运行、性能过剩的小盒子,完全可以成为开发利器。今天分享我的改造经验。

背景:Mac mini 的尴尬处境

很多开发者都有类似经历:

  • 买了 Mac mini 当开发机,后来换了 MacBook Pro 移动办公
  • 放公司当 CI/CD 服务器,但服务器资源用云端更方便
  • 想卖二手,但 Mac 保值率高,价格又不甘心

M2 Mac mini 的特点

  • ✅ 性能强劲(8核 M2,16GB 内存)
  • ✅ 功耗低(平均 20W,月电费约 10 元)
  • ✅ 静音(基本无风扇噪音)
  • ❌ 但没有显示器、键盘,放家里/公司吃灰

转机:OpenClaw 的出现

2026年1月,OpenClaw(原 Clawdbot)突然爆火,GitHub 星标数在 72 小时内突破 600 万。它是什么?

OpenClaw 是一个自托管的 AI 助手,可以:

  • 连接本地文件系统(读写文件、执行命令)
  • 集成外部 API(GitHub、Notion、数据库等)
  • 通过 Telegram/WhatsApp/Discord 随时交互
  • 基于 Claude API,但运行在本地

关键是:OpenClaw 需要 24/7 运行的机器,而 Mac mini 完美符合!

我的改造方案:三合一生产力工具

我将 Mac mini 改造成了:

  1. OpenClaw AI 助手(随时通过 Telegram 交互)
  2. 远程开发服务器(通过 VS Code Remote-SSH)
  3. 生产环境服务器(运行客户项目的正式服务)

架构图

MacBook Pro(移动开发机)
    │
    │ Tailscale(零配置 VPN)
    ▼
Mac mini(24/7 运行)
├── OpenClaw(AI 助手)
│   ├── 连接 Claude API
│   ├── 访问本地文件
│   └── Telegram Bot 交互
├── 开发环境(Docker)
│   ├── MySQL
│   ├── Redis
│   └── Node.js 项目
└── 生产服务(PM2)
    ├── API 服务器
    ├── Web 应用
    └── 定时任务

实施步骤(2 小时完成)

第一步:安装 OpenClaw(10 分钟)

OpenClaw 提供了 Homebrew 安装方式:

# 1. 安装 OpenClaw
brew install openclawd

# 2. 配置
openclawd onboard

# 根据提示输入:
# - Claude API Key(从 Anthropic 官网获取)
# - Telegram Bot Token(从 @BotFather 创建)

配置文件示例 (~/.openclaw/config.json):

{
  "anthropic_api_key": "sk-ant-xxx",
  "telegram": {
    "bot_token": "123456:ABC-xxx",
    "chat_id": "你的 Telegram User ID"
  },
  "workspace": "/Users/ekt/code",
  "allowed_paths": [
    "/Users/ekt/code",
    "/Users/ekt/Documents"
  ],
  "tools": {
    "file_system": true,
    "terminal": true,
    "browser": false
  }
}

启动 OpenClaw

# 前台运行(测试用)
openclawd start

# 后台运行(推荐)
brew services start openclawd

# 查看日志
tail -f ~/Library/Logs/openclawd.log

第二步:配置 Telegram Bot(5 分钟)

在 Telegram 中:

  1. 找到 @BotFather,创建新 Bot
  2. 获取 Bot Token
  3. 获取你的 Chat ID(通过 @userinfobot)
  4. 在 OpenClaw 配置中填入

测试

你: "帮我列出当前项目的 package.json 依赖"
OpenClaw: [自动读取文件] "项目使用了 Next.js 14、React 18..."

你: "创建一个 README.md,包含项目介绍"
OpenClaw: [自动写入文件] "已创建 README.md"

你: "运行 npm test"
OpenClaw: [执行命令] "测试通过,共 12 个用例"

第三步:配置远程开发环境(30 分钟)

3.1 安装 Tailscale(零配置 VPN)

# Mac mini 上
brew install --cask tailscale
# 启动并登录

# MacBook Pro 上也安装
brew install --cask tailscale

Tailscale 的优势

  • 无需配置路由器
  • 自动穿透 NAT
  • 全平台支持(Mac/Win/Linux/iOS/Android)
  • 免费版支持 100 台设备

3.2 配置 SSH 快捷访问

在 MacBook Pro 上编辑 ~/.ssh/config

Host macmini
  HostName 100.xxx.xxx.xxx  # Mac mini 的 Tailscale IP
  User ekt
  ControlMaster auto
  ControlPath ~/.ssh/%r@%h:%p
  ControlPersist 10m
  ForwardAgent yes

测试连接:

ssh macmini
# 成功后按 Ctrl+D 退出

3.3 配置 VS Code Remote-SSH

  1. 安装扩展:ms-vscode-remote.remote-ssh
  2. ⇧⌘PRemote-SSH: Connect to Host → 选择 macmini
  3. 打开项目文件夹(Mac mini 上的路径)

体验

  • 代码编辑延迟 <30ms(感觉和本地一样)
  • 终端、调试器都在远程运行
  • MacBook Pro 风扇不转,续航延长 50%

第四步:部署生产服务(30 分钟)

使用 PM2 管理生产服务:

# Mac mini 上安装 PM2
npm install -g pm2

# 配置 ecosystem.config.js
module.exports = {
  apps: [
    {
      name: 'api-server',
      cwd: '/Users/ekt/code/production/api',
      script: 'npm',
      args: 'start',
      env: {
        NODE_ENV: 'production',
        PORT: 3001
      },
      instances: 2,  // 利用多核
      exec_mode: 'cluster',
      autorestart: true,
      watch: false,
    }
  ]
}

# 启动服务
pm2 start ecosystem.config.js

# 开机自启
pm2 startup
pm2 save

# 监控
pm2 monit

第五步:配置监控告警(20 分钟)

使用 Uptime Kuma 监控所有服务:

# Mac mini 上用 Docker 运行
docker run -d \
  --name uptime-kuma \
  -p 3001:3001 \
  -v ~/uptime-kuma:/app/data \
  louislam/uptime-kuma:latest

# 访问 http://macmini-ip:3001
# 添加监控项:API 健康检查、数据库、Redis 等
# 配置告警:Telegram Bot 通知

实际使用场景

场景一:随时随地的 AI 编程助手

外出时

我(通过 Telegram): "帮我检查生产环境的日志,看看有没有错误"
OpenClaw: [SSH 到 Mac mini] [查看 PM2 日志] "最近 1 小时没有错误"

我: "昨天部署的新功能,用户反馈登录慢,帮我分析一下"
OpenClaw: [读取代码] [查看数据库查询] "发现登录接口有 N+1 查询问题,建议..."

场景二:移动办公的远程开发

在咖啡厅

# 1. MacBook Pro 连接 Tailscale
# 2. 打开 VS Code Remote-SSH
# 3. 连接到 Mac mini
# 4. 代码、编译、测试都在远程运行
# 5. 本地只负责显示,续航延长 2-3 小时

场景三:生产环境的稳定运行

Mac mini 24/7 运行生产服务

  • API 服务器(PM2 cluster 模式,利用多核)
  • 数据库(MySQL Docker 容器)
  • 定时任务(node-cron 每小时数据采集)
  • 监控告警(Uptime Kuma)

成本

  • 电费:约 10 元/月
  • 网络:0 元(Tailscale 免费)
  • 对比云服务器:阿里云 2核4G 约 100 元/月

OpenClaw 的高级玩法

1. 自动化运维

我: "每天早上 9 点给我发送昨天的服务器统计数据"
OpenClaw: [配置定时任务] "已设置,明天开始执行"

我: "如果 API 响应时间 >2 秒,自动重启服务并通知我"
OpenClaw: [设置监控脚本] "已配置告警规则"

2. 代码 Review 助手

我: "帮我 Review 最近的 Git commit"
OpenClaw: [读取 git log] [分析代码变更] "发现3个潜在问题:..."

3. 文档生成

我: "根据当前项目生成 API 文档"
OpenClaw: [扫描代码] [生成 Markdown] "已创建 docs/API.md"

成本与收益

一次性投入

项目金额
M2 Mac mini已有(否则约 4000 元)
外接硬盘 4TB(可选)500 元
UPS(可选,防断电)400 元
总计900 元(硬件已有则 0 元)

月度成本

项目金额
电费(24h 运行)10 元
Claude API20-50 元(按使用量)
Tailscale0 元(免费版)
总计30-60 元/月

对比云服务器

方案月成本性能延迟
Mac mini 方案30-60 元M2 8核 16GB<30ms(本地)
阿里云 2核4G100 元2核4G50-100ms
GitHub Codespaces约 300 元4核8GB100-200ms

Mac mini 方案性价比高 5-10 倍!

常见问题

Q1:Mac mini 性能够用吗?

完全够用!

我的配置:M2 8核 16GB

实际负载:

  • OpenClaw:CPU 5%,内存 500MB
  • 生产服务(3个 Node.js 进程):CPU 15%,内存 4GB
  • MySQL + Redis:CPU 7%,内存 1.5GB
  • VS Code Remote:CPU 5%,内存 1GB

总计:CPU 30%,内存 8GB,还有大量余量

Q2:安全性如何?

多重保障

  1. Tailscale 加密隧道:端到端加密,不走公网
  2. OpenClaw 权限控制:只允许访问指定目录
  3. SSH 密钥认证:禁用密码登录
  4. 防火墙:只开放必要端口

Q3:网络中断怎么办?

应急预案

  • Tailscale 自动重连(5 秒内恢复)
  • PM2 自动重启服务
  • MacBook Pro 可以临时运行生产服务(Docker Compose 配置相同)

Q4:OpenClaw 会泄露代码吗?

不会!

  • OpenClaw 只在本地运行,代码不离开 Mac mini
  • 只有你发送的指令和 Claude API 的回复会传输
  • 可以配置 allowed_paths 限制访问范围

总结

将闲置的 Mac mini 改造成 OpenClaw AI 助手 + 远程开发 + 生产服务器 三合一工具,带来了:

  1. AI 编程助手:随时随地通过 Telegram 交互,帮我写代码、查日志、分析问题
  2. 远程开发环境:咖啡厅、家里、公司无缝切换,MacBook Pro 续航延长 50%
  3. 生产服务器:月成本 10 元(电费),对比云服务器节省 90 元/月
  4. 学习新技术:体验 AI 助手、远程开发、DevOps 等前沿技术

投资回报期:如果你已有 Mac mini,改造成本几乎为 0,立即可用。

如果你也有闲置的 Mac mini,不妨试试这个方案!


关于作者:ekent,ek Studio 技术负责人,专注于开发工具和效率提升。

相关资源