教程 先进的

运行多个 OpenClaw 实例:多代理设置指南

了解如何同时运行多个 OpenClaw 实例。克隆您的助手,创建不同的角色,运行并发实例,并设置 Discord 多机器人配置。

Updated: 2026年2月1日 阅读时间 12 分钟

Quick Answer

通过克隆存储库、配置单独的数据目录并分配不同的端口来运行多个 OpenClaw 实例。为不同的用例创建不同的角色——一个用于工作,一个用于个人任务,一个用于开发。

简介

大多数 OpenClaw 用户从单个实例开始——一个人工智能助手处理他们的所有需求。但是如果您想运行多个实例怎么办?也许您需要单独的工作和个人生活助理,或者您想将自己克隆为多个专业代理。本高级指南向您展示如何同时设置和管理多个 OpenClaw 实例。

一位名叫 Brosef 的用户将自己克隆到了三个不同的 OpenClaw 实例中,每个实例都具有不同的个性和功能。这种多代理方法解锁了强大的工作流程,其中不同的助手处理您生活的不同方面。

为什么要运行多个实例?

在深入讨论技术设置之前,我们先探讨一下为什么您可能需要多个 OpenClaw 实例:

单独的上下文

每个实例都维护自己的内存和上下文。这意味着:

  • 工作助手 — 记住与工作相关的偏好、项目和联系人
  • 个人助理 — 处理个人任务、健康跟踪和爱好
  • 开发助理 — 专注于编码、GitHub 和技术工作流程

不同的角色

您可以为每个实例配置不同的个性:

  • 专业、正式的商务沟通助理
  • 休闲、友好的个人聊天助手
  • 开发任务的技术、以代码为中心的助手

资源管理

运行多个实例允许您:

  • 针对不同的任务使用不同的AI模型(Claude用于写作,GPT用于编码)
  • 跨实例分配负载
  • 隔离故障(如果一个实例崩溃,其他实例继续)

多渠道组织

通过多个实例,您可以:

  • 将不同的 Discord 机器人分配给不同的服务器
  • 出于不同目的使用不同的 WhatsApp 号码
  • 按功能组织 Telegram 机器人

先决条件

在设置多个实例之前,请确保您拥有:

  • 安装了 OpenClaw(请参阅我们的安装指南
  • 对命令行操作有基本的了解
  • 足够的系统资源(每个实例使用内存和CPU)
  • 如果使用不同的 AI 模型,则有多个 API 密钥

方法 1:克隆存储库

最直接的方法是将 OpenClaw 克隆到单独的目录中,每个目录都有自己的配置。

第 1 步:克隆多个目录

# Clone first instance (default)
git clone https://github.com/openclaw/openclaw.git openclaw-personal
cd openclaw-personal
npm install

# Clone second instance
cd ..
git clone https://github.com/openclaw/openclaw.git openclaw-work
cd openclaw-work
npm install

# Clone third instance (optional)
cd ..
git clone https://github.com/openclaw/openclaw.git openclaw-dev
cd openclaw-dev
npm install

步骤 2:配置单独的数据目录

每个实例都需要有自己的数据目录以防止冲突。编辑每个实例中的配置文件:

# In openclaw-personal/.env or config
DATA_DIR=/Users/yourname/.openclaw/personal

# In openclaw-work/.env or config
DATA_DIR=/Users/yourname/.openclaw/work

# In openclaw-dev/.env or config
DATA_DIR=/Users/yourname/.openclaw/dev

步骤 3:配置不同的端口

如果同时运行实例,请分配不同的端口:

# Instance 1
PORT=3000

# Instance 2
PORT=3001

# Instance 3
PORT=3002

步骤 4:设置不同的聊天桥

配置每个实例以连接到不同的聊天平台或帐户:

个人实例(WhatsApp):

WHATSAPP_ENABLED=true
WHATSAPP_SESSION_PATH=/Users/yourname/.openclaw/personal/whatsapp

工作实例(Discord):

DISCORD_ENABLED=true
DISCORD_BOT_TOKEN=your_work_bot_token
DISCORD_GUILD_ID=your_work_server_id

开发实例(电报):

TELEGRAM_ENABLED=true
TELEGRAM_BOT_TOKEN=your_dev_bot_token

方法二:使用环境变量

您可以使用不同的环境配置运行单个安装,而不是多次克隆。

创建启动脚本

为每个实例创建单独的启动脚本:

启动个人.sh:

#!/bin/bash
export DATA_DIR=/Users/yourname/.openclaw/personal
export PORT=3000
export OPENCLAW_PERSONA="You are a friendly personal assistant..."
export ANTHROPIC_API_KEY=your_personal_key
npm start

启动工作.sh:

#!/bin/bash
export DATA_DIR=/Users/yourname/.openclaw/work
export PORT=3001
export OPENCLAW_PERSONA="You are a professional business assistant..."
export ANTHROPIC_API_KEY=your_work_key
npm start

使脚本可执行:

chmod +x launch-personal.sh launch-work.sh

创建不同的角色

每个实例都可以在其配置中定义独特的个性。以下是自定义角色的方法:

个人助理角色

persona: |
  You are a friendly, casual personal assistant named Alex.
  You help with daily tasks, health tracking, and personal projects.
  You're warm, encouraging, and use emojis occasionally.
  You remember personal preferences and adapt to the user's lifestyle.

工作助理角色

persona: |
  You are a professional business assistant named Morgan.
  You handle work communications, calendar management, and business tasks.
  You're efficient, detail-oriented, and maintain professional boundaries.
  You prioritize work-related context and business relationships.

开发助理角色

persona: |
  You are a technical development assistant named Dev.
  You focus on coding, GitHub workflows, and technical problem-solving.
  You're precise, code-focused, and prefer technical explanations.
  You integrate with development tools and understand software architecture.

Discord 多机器人设置从同一服务器运行多个 Discord 机器人需要仔细配置。

第 1 步:创建多个 Discord 应用程序

  1. 前往 Discord 开发者门户
  2. 为每个机器人创建单独的应用程序:
    • 个人机器人
    • 工作机器人
    • 开发机器人

第 2 步:生成机器人令牌

每个应用程序都有自己的机器人令牌。安全地存放它们:

# .env for personal instance
DISCORD_BOT_TOKEN=personal_bot_token_here

# .env for work instance
DISCORD_BOT_TOKEN=work_bot_token_here

步骤 3:配置公会 ID

如果您希望机器人位于不同的服务器中:

# Personal bot in personal server
DISCORD_GUILD_ID=personal_server_id

# Work bot in work server
DISCORD_GUILD_ID=work_server_id

步骤 4:邀请机器人加入服务器

使用 Discord 的 OAuth2 URL 生成器邀请具有适当权限的每个机器人:

  • 阅读消息
  • 发送消息
  • 管理消息(如果需要)
  • 阅读消息历史记录

管理并发实例

使用流程管理器

对于生产设置,请使用 PM2 等流程管理器:

npm install -g pm2

# Start personal instance
cd openclaw-personal
pm2 start npm --name "openclaw-personal" -- start

# Start work instance
cd ../openclaw-work
pm2 start npm --name "openclaw-work" -- start

# List all instances
pm2 list

# View logs
pm2 logs openclaw-personal
pm2 logs openclaw-work

使用 Docker Compose

对于容器化部署:

docker-compose.yml:

version: '3.8'
services:
  openclaw-personal:
    build: .
    environment:
      - DATA_DIR=/data/personal
      - PORT=3000
      - DISCORD_BOT_TOKEN=${PERSONAL_BOT_TOKEN}
    volumes:
      - ./data/personal:/data/personal

  openclaw-work:
    build: .
    environment:
      - DATA_DIR=/data/work
      - PORT=3001
      - DISCORD_BOT_TOKEN=${WORK_BOT_TOKEN}
    volumes:
      - ./data/work:/data/work

现实示例:Brosef 的设置

布罗瑟夫将自己克隆到三个实例中:

  1. 个人 Brosef — 处理日常任务、健康跟踪和个人通信
  2. Work Brosef — 管理业务通信、日历和工作项目
  3. Dev Brosef — 专注于 GitHub、代码审查和技术工作流程

每个实例:

  • 使用不同的聊天平台(WhatsApp、Discord、Telegram)
  • 具有独特的记忆和背景
  • 运行不同的技能和集成
  • 独立运作

这种设置允许 Brosef 维护单独的上下文,同时利用相同的底层 AI 功能。

最佳实践

资源管理

  • 监控跨实例的CPU和内存使用情况
  • 考虑针对不同实例使用不同的人工智能模型(针对简单任务的较轻模型)
  • 使用进程管理器自动重启失败的实例

数据隔离

  • 保持数据目录完全独立
  • 不同的实例使用不同的API密钥
  • 定期独立备份每个实例的数据

安全

  • 为每个实例使用不同的凭据
  • 限制每个实例的文件系统访问
  • 使用环境变量进行敏感配置

监控

  • 为每个实例设置日志记录
  • 监控每个实例的 API 使用情况
  • 单独跟踪绩效指标

故障排除

端口冲突

如果实例无法启动,请检查端口是否冲突:

lsof -i :3000
lsof -i :3001

内存问题

多个实例消耗更多内存。监控使用情况:

# macOS
top -o mem

# Linux
htop

聊天桥冲突

确保每个实例使用不同的:

  • WhatsApp 会话文件
  • Discord 机器人代币
  • Telegram 机器人代币
  • Slack 工作区令牌

高级:实例之间共享内存

虽然实例通常是隔离的,但您可以为特定用例创建共享内存:

// Shared memory file
const sharedMemory = {
  userPreferences: {},
  globalContext: {}
};

// Each instance can read/write to shared file
// Useful for cross-instance coordination

结论

运行多个 OpenClaw 实例可以解锁强大的工作流程,其中不同的助手可以处理您生活的不同方面。无论您需要单独的工作助理和个人助理,还是需要专门的代理来执行不同的任务,多实例设置都可以为您提供灵活性和组织性。

从两个实例开始(一个是个人实例,一个是工作实例),然后根据需要进行扩展。关键是适当的隔离:单独的数据目录、不同的端口和不同的聊天桥。

如需更高级的配置,请查看我们的技能指南集成页面。如果您遇到问题,请访问我们的常见问题解答 或浏览其他教程

Need help?

Join the OpenClaw community on Discord for support, tips, and shared skills.

Join Discord →