OpenClaw + Docker + MiniMax 本地养“龙虾”方案

OpenClaw + Docker + MiniMax 本地养"龙虾"方案

前言

随着 AI 大模型的快速发展,越来越多的开发者希望在本地搭建自己的 AI 助手。OpenClaw 是一款开源的 AI Agent 框架,支持多种大模型后端,可以轻松构建智能对话系统。MiniMax M2.5 是国内领先的 AI 大模型,具有强大的推理能力和优秀的中文理解能力。

本文将介绍如何在 macOS 系统上,通过 Docker + Colima 部署 OpenClaw,并配置 MiniMax M2.5 作为大模型后端,同时支持 QQ 机器人接入,实现多渠道的 AI 助手服务。

方案优势

  • 完全本地化部署,数据安全可控
  • 支持多种大模型切换(MiniMax、DeepSeek、OpenAI 等)
  • 支持 QQ 机器人接入,扩展应用场景
  • 安全配置完善,防止数据泄露

快速部署建议 :下载 Trae 国内版,让 Trae 按照本部署方案自动执行部署,省去手动输入命令的繁琐步骤。


一、环境准备

1.1 系统要求

项目 要求
操作系统 macOS 12+ (Monterey 或更高)
内存 建议 8GB+
磁盘空间 至少 20GB 可用空间
CPU Apple Silicon (M1/M2/M3) 或 Intel

1.2 安装 Homebrew

如果尚未安装 Homebrew,请执行:

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

1.3 安装必要工具

bash 复制代码
# 安装 Node.js 22+
brew install node@22

# 验证 Node.js 版本
node --version  # 应显示 v22.x.x 或更高

# 安装 Colima (Docker 替代方案,无需安装 Docker Desktop)
brew install colima

# 安装 Docker CLI
brew install docker docker-compose

二、Colima 安装与配置

Colima 是 macOS 上的轻量级 Docker 运行时,相比 Docker Desktop 更加轻量和高效。

2.1 创建 Colima 配置文件

创建 ~/.colima/default/colima.yaml

yaml 复制代码
# Colima 配置
cpu: 4
memory: 8
disk: 60

# 网络配置
network:
  address: true  # 允许容器访问主机网络

# 端口转发
portForwarding:
  - 18789: 18789  # OpenClaw Gateway
  - 18790: 18790  # OpenClaw Canvas

# 挂载点
mounts:
  - location: ~/openclaw-workspace
    writable: true
  - location: ~/.openclaw
    writable: true

# 环境变量
env:
  - NODE_ENV=production

2.2 启动 Colima

bash 复制代码
# 创建工作目录
mkdir -p ~/openclaw-workspace
mkdir -p ~/.openclaw

# 启动 Colima
colima start --cpu 4 --memory 8 --disk 60

# 验证 Docker 运行状态
docker ps

2.3 配置 Docker 网络

bash 复制代码
# 创建专用网络
docker network create openclaw-net

# 验证网络
docker network ls | grep openclaw

三、OpenClaw Docker 部署

3.1 创建目录结构

bash 复制代码
# 创建配置目录
mkdir -p ~/openclaw-deploy/{config,workspace,logs}

# 设置权限
chmod 700 ~/openclaw-deploy

3.2 创建 Docker Compose 文件

创建 ~/openclaw-deploy/docker-compose.yml

yaml 复制代码
services:
  openclaw-gateway:
    image: node:22
    container_name: openclaw
    hostname: openclaw
    environment:
      - NODE_ENV=production
      - OPENCLAW_STATE_DIR=/home/node/.openclaw
      - OPENCLAW_WORKSPACE_DIR=/home/node/workspace
      - OPENCLAW_GATEWAY_PORT=18789
      - MINIMAX_API_KEY=${MINIMAX_API_KEY}
      - OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
      - npm_config_registry=https://registry.npmmirror.com
    volumes:
      - ./config:/home/node/.openclaw:rw
      - ./workspace:/home/node/workspace:rw
      - ./logs:/home/node/logs:rw
    ports:
      - "127.0.0.1:18789:18789"
      - "127.0.0.1:18790:18790"
    working_dir: /home/node
    command: >
      bash -c "
        apt-get update && apt-get install -y git curl cmake make gcc g++ python3 &&
        npm config set registry https://registry.npmmirror.com &&
        npm install -g openclaw@latest &&
        openclaw gateway --port 18789 --bind lan
      "
    restart: unless-stopped
    networks:
      - openclaw-net
    security_opt:
      - no-new-privileges:true

networks:
  openclaw-net:
    driver: bridge

重要说明

  • 使用 node:22 (Debian) 而非 node:22-alpine,因为 Alpine 缺少编译 llama.cpp 所需的系统头文件
  • 配置淘宝 npm 镜像加速下载

3.3 创建环境变量文件

创建 ~/openclaw-deploy/.env

bash 复制代码
# MiniMax API 密钥(从 MiniMax 平台获取)
# https://platform.minimaxi.com
MINIMAX_API_KEY=your-minimax-api-key-here

# Gateway 访问令牌(请设置强密码)
OPENCLAW_GATEWAY_TOKEN=your-secure-token-here

安全提示 :请将 your-minimax-api-key-hereyour-secure-token-here 替换为您的实际值。


四、MiniMax M2.5 模型配置

4.1 获取 MiniMax API Key

  1. 访问 MiniMax 开放平台:
  2. 注册/登录账号
  3. 在「API Keys」页面创建新的 API Key
  4. 复制 API Key 并保存到 .env 文件

4.2 创建 OpenClaw 配置文件

创建 ~/openclaw-deploy/config/openclaw.json

json 复制代码
{
  "gateway": {
    "mode": "local",
    "port": 18789,
    "auth": {
      "mode": "token",
      "token": "${OPENCLAW_GATEWAY_TOKEN}"
    },
    "controlUi": {
      "allowedOrigins": ["http://127.0.0.1:18789", "http://localhost:18789"]
    }
  },
  "models": {
    "providers": {
      "minimax": {
        "baseUrl": "https://api.minimaxi.com/anthropic",
        "apiKey": "${MINIMAX_API_KEY}",
        "models": [
          { "id": "MiniMax-M2.5", "name": "MiniMax M2.5" },
          { "id": "MiniMax-M2.5-highspeed", "name": "MiniMax M2.5 Highspeed" }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": "minimax/MiniMax-M2.5",
      "workspace": "/home/node/workspace",
      "sandbox": {
        "mode": "off"
      }
    }
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "tools": {
    "profile": "minimal",
    "deny": [
      "gateway",
      "cron",
      "sessions_spawn",
      "sessions_send"
    ],
    "fs": {
      "workspaceOnly": true
    },
    "exec": {
      "security": "deny"
    },
    "elevated": {
      "enabled": false
    }
  },
  "logging": {
    "redactSensitive": "tools"
  },
  "discovery": {
    "mdns": {
      "mode": "off"
    }
  }
}

4.3 配置字段说明

配置项 说明
baseUrl MiniMax API 地址(推荐使用 Anthropic 兼容端点)
apiKey 从环境变量 ${MINIMAX_API_KEY} 读取,避免硬编码
models 必须是数组格式
agents.defaults.model 必须是字符串格式 provider/model-id

4.4 更新 models.json 文件(重要!)

这是关键步骤! OpenClaw 会读取 models.json 文件中的配置:

bash 复制代码
# 进入容器更新 models.json
docker exec openclaw sh -c "API_KEY=\$MINIMAX_API_KEY && cat > /home/node/.openclaw/agents/main/agent/models.json << EOF
{
  \"providers\": {
    \"minimax\": {
      \"baseUrl\": \"https://api.minimaxi.com/anthropic\",
      \"api\": \"anthropic-messages\",
      \"models\": [
        {
          \"id\": \"MiniMax-M2.5\",
          \"name\": \"MiniMax M2.5\",
          \"reasoning\": true,
          \"input\": [\"text\"],
          \"cost\": {\"input\": 0.3, \"output\": 1.2, \"cacheRead\": 0.03, \"cacheWrite\": 0.12},
          \"contextWindow\": 204800,
          \"maxTokens\": 8192
        },
        {
          \"id\": \"MiniMax-M2.5-highspeed\",
          \"name\": \"MiniMax M2.5 Highspeed\",
          \"reasoning\": true,
          \"input\": [\"text\"],
          \"cost\": {\"input\": 0.1, \"output\": 0.8, \"cacheRead\": 0.01, \"cacheWrite\": 0.08},
          \"contextWindow\": 204800,
          \"maxTokens\": 8192
        }
      ],
      \"apiKey\": \"\$API_KEY\"
    }
  }
}
EOF"

4.5 MiniMax M2.5 模型列表

模型 ID 说明 上下文长度
MiniMax-M2.5 M2.5 完整版(推荐) 204800
MiniMax-M2.5-highspeed M2.5 高速版 204800

4.6 重要注意事项

  1. API 端点选择

    • Anthropic 兼容端点(推荐)https://api.minimaxi.com/anthropic
      • API 模式:anthropic-messages
      • 支持推理(reasoning)功能
    • OpenAI 兼容端点:https://api.minimaxi.com/v1
      • API 模式:openai-completions
      • 不支持推理功能
  2. 必须更新 models.json

    • 仅修改 openclaw.json 不够,OpenClaw 会从 models.json 读取实际配置
    • models.json 中的 api 字段必须与 baseUrl 匹配
  3. 模型 ID 大小写敏感

    • 正确:MiniMax-M2.5MiniMax-M2.5-highspeed
    • 错误:minimax-m2.5MiniMax-m2.5

五、安全配置

5.1 限制文件访问

json 复制代码
{
  "agents": {
    "defaults": {
      "workspace": "/home/node/workspace",
      "sandbox": {
        "mode": "off"
      }
    }
  },
  "tools": {
    "fs": {
      "workspaceOnly": true
    }
  }
}

5.2 限制危险操作

json 复制代码
{
  "tools": {
    "profile": "minimal",
    "fs": {
      "workspaceOnly": true
    },
    "exec": {
      "security": "deny"
    },
    "elevated": {
      "enabled": false
    }
  }
}

说明

  • tools.fs.workspaceOnly: true - 限制文件操作仅在工作空间内
  • tools.exec.security: "deny" - 禁止执行命令
  • tools.elevated.enabled: false - 禁用提权操作

5.3 网络隔离

yaml 复制代码
ports:
  # 仅绑定本地回环地址
  - "127.0.0.1:18789:18789"
  - "127.0.0.1:18790:18790"

六、验证与测试

6.1 启动服务

bash 复制代码
cd ~/openclaw-deploy

# 启动 Colima(如未启动)
colima start

# 启动 OpenClaw
docker-compose up -d

# 查看日志
docker-compose logs -f openclaw-gateway

6.2 验证服务状态

bash 复制代码
# 检查容器状态
docker ps | grep openclaw

# 检查端口监听
lsof -i :18789

# 测试 Web 界面
curl -s http://127.0.0.1:18789/ | head -20

6.3 验证 MiniMax API 连接

bash 复制代码
# 测试 API 连接
docker exec openclaw sh -c 'curl -s -X POST https://api.minimaxi.com/anthropic/v1/messages \
  -H "x-api-key: $MINIMAX_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d "{\"model\":\"MiniMax-M2.5\",\"max_tokens\":10,\"messages\":[{\"role\":\"user\",\"content\":\"Hi\"}]}"'

6.4 访问 Web 界面

打开浏览器访问:http://127.0.0.1:18789

首次访问需要输入 Gateway Token(在 .env 文件中配置的 OPENCLAW_GATEWAY_TOKEN)。


七、QQ 机器人接入(可选)

OpenClaw 支持通过 QQ 官方机器人平台接入,实现 QQ 用户与 AI 助手的交互。QQ官方龙虾专用入口

7.1 功能特性

  • 支持私聊和群聊(@机器人触发)
  • OpenClaw 被动接收消息,不能主动发起 QQ 消息
  • 支持沙箱测试环境

7.2 创建 QQ 机器人

  1. 访问 QQ 开放平台:https://bot.q.qq.com
  2. 完成开发者认证
  3. 创建机器人,获取 AppID 和 App Secret

7.3 配置环境变量

.env 文件中添加:

bash 复制代码
QQ_APP_ID=your-qq-app-id-here
QQ_APP_SECRET=your-qq-app-secret-here

7.4 安装中国区插件

bash 复制代码
docker exec openclaw openclaw plugins install @openclaw-china/channels

7.5 配置通道

config/openclaw.json 中添加:

json 复制代码
{
  "channels": {
    "qqbot": {
      "enabled": true,
      "appId": "${QQ_APP_ID}",
      "clientSecret": "${QQ_APP_SECRET}",
      "dmPolicy": "open",
      "groupPolicy": "open"
    }
  }
}

7.6 重启服务

bash 复制代码
docker-compose restart openclaw-gateway

7.7 验证连接

bash 复制代码
docker logs openclaw 2>&1 | grep qqbot
# 应看到: [qqbot] gateway ready

八、故障排查

8.1 模型配置错误

问题 : agents.defaults.model: Invalid input

解决 : 使用正确的模型格式 provider/model-id

json 复制代码
// 正确格式
"model": "minimax/MiniMax-M2.5"

8.2 MiniMax API 404 错误

问题 : Web 界面发送消息返回 HTTP 404: 404 page not found

原因 : models.jsonapi 字段与 baseUrl 不匹配

解决:

  • Anthropic 端点:baseUrl: "https://api.minimaxi.com/anthropic" + api: "anthropic-messages"
  • OpenAI 端点:baseUrl: "https://api.minimaxi.com/v1" + api: "openai-completions"

8.3 网络连接问题

问题 : npm error code ECONNRESET

解决: 配置淘宝镜像源:

bash 复制代码
npm config set registry https://registry.npmmirror.com

8.4 Colima 端口转发问题

问题 : 浏览器无法访问 http://127.0.0.1:18789

解决:

  1. 在 docker-compose.yml 的启动命令中添加 --bind lan 参数
  2. 在 openclaw.json 中添加 controlUi.allowedOrigins 配置

8.5 Gateway Token 认证问题

问题: 界面显示 "unauthorized: gateway token missing"

解决:

  1. 方式一:在界面 Settings 中输入 Token
  2. 方式二:通过 URL 参数传递 Token:http://127.0.0.1:18789/?token=your-token-here

九、运维指南

9.1 日常运维命令

bash 复制代码
# 查看服务状态
docker-compose ps

# 查看实时日志
docker-compose logs -f --tail=100 openclaw-gateway

# 重启服务
docker-compose restart openclaw-gateway

# 停止服务
docker-compose down

# 更新 OpenClaw
docker-compose down
docker-compose up -d

9.2 日志管理

bash 复制代码
# 日志位置
~/openclaw-deploy/logs/

# 日志轮转配置(添加到 crontab)
0 0 * * * find ~/openclaw-deploy/logs -name "*.log" -mtime +7 -delete

十、切换其他模型(扩展)

OpenClaw 支持多种兼容 OpenAI API 的模型提供商,切换方式类似。

10.1 国内其他模型提供商

提供商 API 地址 获取 API Key 模型示例
DeepSeek https://api.deepseek.com/v1 https://platform.deepseek.com deepseek-chat
智谱 AI https://open.bigmodel.cn/api/paas/v4 https://open.bigmodel.cn glm-4
阿里通义 https://dashscope.aliyuncs.com/compatible-mode/v1 https://dashscope.console.aliyun.com qwen-turbo

10.2 切换步骤

  1. 修改 .env 文件中的 API Key
  2. 修改 docker-compose.yml 中的环境变量引用
  3. 修改 config/openclaw.json 中的模型提供商配置
  4. 重启服务:docker-compose restart openclaw-gateway

总结

本文详细介绍了在 macOS 上通过 Docker + Colima 部署 OpenClaw,并配置 MiniMax M2.5 作为大模型后端的完整方案。主要内容包括:

  1. 环境准备:安装 Colima、Docker CLI 等必要工具
  2. OpenClaw 部署:通过 Docker Compose 快速部署
  3. MiniMax 配置:详细说明 API 端点选择和 models.json 配置
  4. 安全配置:文件访问限制、网络隔离等安全措施
  5. QQ 机器人接入:扩展应用场景
  6. 故障排查:常见问题及解决方案

通过本方案,您可以快速搭建一个安全、可控的本地 AI 助手服务,并根据需要切换不同的大模型后端。


参考链接

相关推荐
harebert2 小时前
OpenClaw 企业微信插件避坑指南
openclaw
不老刘2 小时前
OpenClaw Windows 下 Docker 部署指南
docker·容器·openclaw
小树苗m2 小时前
windows11系统中安装openclaw并配置飞书详细教程
飞书·openclaw
ai产品老杨2 小时前
打破芯片壁垒:基于Docker与K8s的GB28181/RTSP异构AI视频平台架构实战
人工智能·docker·eureka·时序数据库·etcd
Takoony2 小时前
OpenClaw 深度拆解:下一代自主智能体架构全面解析
人工智能·深度学习·算法·机器学习·架构·openclaw
和平宇宙2 小时前
Openclaw记录01.老旧电脑部署openclaw
ubuntu·openclaw
前端御书房2 小时前
OpenClaw 2026.3.2 完整版安装配置教程|一步到位无报错
ai·agent·skills·openclaw
菜鸟分享录2 小时前
OpenClaw 对接企业微信(自建应用模式)完整教程
ai·企业微信·openclaw
M1nat0_3 小时前
Docker:容器技术的前世今生
docker