MutiPaw 是一个基于 CoPaw 项目扩展的工具,旨在提供启动和管理多个 Paw 智能体(Agent)的能力。
CoPaw 是一个功能强大的个人 AI 助手框架,支持多种聊天渠道(如钉钉、飞书、QQ、Discord 等)并具有高度的可扩展性。MutiPaw 在此基础上,专注于多实例、多角色的部署场景,让用户能够更方便地在同一套环境下运行多个相互独立或协同工作的智能体。
- 多智能体启动:通过 Docker Compose 轻松管理多个智能体实例,每个实例可以有独立的配置和存储。
- 配置隔离:每个智能体拥有独立的数据目录 (
copaw-data) 和密钥目录 (copaw-secrets)。 - 精细化控制:支持启动/停止单个容器或全部容器。
- 网络模式灵活:支持 host 和 bridge 网络模式。
- 高性能运行:基于 ARM64 优化的镜像,适合在 Orange Pi 等嵌入式设备上流畅运行。
确保您的系统中已安装:
- Docker
- Docker Compose
- Python 3.6+
git clone https://github.com/JackyMao1999/MutiPaw.git
cd MutiPaw编辑 config.toml 文件,配置您需要的智能体实例:
IMAGE = "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/agentscope/copaw:v0.0.7-linuxarm64"
[[mutipaws]]
CONTAINER_NAME = "copaw" # 容器名称
PORT = "8088" # 映射端口
NETWORK_MODE = "host" # 网络模式:host 或 bridge
[[mutipaws]]
CONTAINER_NAME = "copaw2"
PORT = "8089"
NETWORK_MODE = "bridge"
[[mutipaws]]
CONTAINER_NAME = "copaw3"
PORT = "8090"
NETWORK_MODE = "bridge"./start_up.sh./start_up.sh copaw2./stop.sh./stop.sh copaw2| 参数 | 描述 | 示例值 |
|---|---|---|
IMAGE |
容器镜像地址 | swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/agentscope/copaw:v0.0.7-linuxarm64 |
CONTAINER_NAME |
容器名称 | copaw, copaw2, copaw3 |
PORT |
端口映射 | 8088, 8089, 8090 |
NETWORK_MODE |
网络模式 | host 或 bridge |
- host 模式:容器使用主机网络,性能更好,但端口冲突风险较高
- bridge 模式:容器使用桥接网络,更安全,适合多实例部署
docker ps -a | grep copawdocker logs copawdocker exec -it copaw bashnetstat -tlnp | grep 8088MutiPaw/
├── config.toml # 配置文件
├── docker-compose.yml # Docker 编排文件
├── mutipaw.py # 多智能体管理核心脚本
├── start_up.sh # 启动脚本
├── stop.sh # 停止脚本
├── monitoring/ # 监控面板
│ ├── monitor.py # Flask 监控服务
│ ├── templates/ # HTML 模板
│ ├── static/ # 静态资源
│ │ ├── css/ # CSS 样式
│ │ └── js/ # JavaScript 工具
│ └── start_monitor.sh # 监控启动脚本
├── requirements.txt # Python 依赖
├── README.md # 项目文档
└── .venv/ # Python 虚拟环境
config.toml: 配置智能体参数,支持多个实例定义mutipaw.py: 核心管理脚本,支持批量和单个容器操作start_up.sh: 启动入口,自动创建虚拟环境并安装依赖stop.sh: 停止脚本,支持停止单个或全部容器docker-compose.yml: Docker 编排文件,支持动态配置
- 配置
config.toml定义3个实例 - 运行
./start_up.sh启动全部 - 访问:
- copaw: http://localhost:8088
- copaw2: http://localhost:8089
- copaw3: http://localhost:8090
- 停止所有容器:
./stop.sh - 启动单个容器:
./start_up.sh copaw2 - 查看日志:
docker logs copaw2
- 修改
config.toml添加新实例 - 重新运行
./start_up.sh - 新实例将自动创建
cd monitoring/
./start_monitor.sh- 地址: http://localhost:8090
- 功能:
- 实时容器状态监控
- CPU/内存使用率显示
- 网络流量统计
- 健康检查和自动恢复
- 支持暗色主题
- 状态概览 - 总容器数、运行中、已停止、异常数量
- 详细监控 - 每个容器的性能指标和状态信息
- 实时更新 - 每5秒自动刷新数据
- 手动控制 - 开始/停止监控功能
- 错误处理 - 异常状态和错误信息显示
GET /api/status- 获取容器状态GET /api/health- 健康检查POST /api/start_monitoring- 开始监控POST /api/stop_monitoring- 停止监控
- 实现精细化容器管理(单个启动/停止)
- 支持网络模式配置
- 添加多智能体状态监控面板
- 提供更多预设的智能体角色模板
- 优化多智能体之间的通信与协同逻辑
- 添加健康检查和自动恢复功能
- 支持动态配置热加载
感谢 CoPaw 团队提供的优秀框架支持。