--- name: OpenClaw Agent Configuration v2 overview: 在现有 OpenClaw 环境(6 个已运行 Agent + 飞书 channel)中增量添加 4 个积分商城 Agent(integral-pm/backend/frontend/qa),采用精简 Skill 策略、明确 Agent 间通信协议、分级部署权限、版本锁定约束。 todos: - id: update-openclaw-json content: 在现有 openclaw.json 中追加 4 个 Agent 和 Feishu bindings(不影响已有配置) status: pending - id: create-pm-workspace content: 创建 PM Agent workspace 全套文件(IDENTITY/SOUL/AGENTS/USER/TOOLS.md) status: pending - id: create-backend-workspace content: 创建 Backend Agent workspace 全套文件 status: pending - id: create-frontend-workspace content: 创建 Frontend Agent workspace 全套文件 status: pending - id: create-qa-workspace content: 创建 QA Agent workspace 全套文件 status: pending - id: register-and-verify content: 通过 openclaw CLI 注册 4 个 Agent、安装 skills、运行 doctor 验证 status: pending isProject: false --- # OpenClaw 多 Agent 配置方案 v2 -- 单商户积分商城 > **v2 变更摘要(相对 v1):** > > 1. 新增「Agent 间通信协议」章节,明确消息路由机制 > 2. 飞书账号从 4 个独立应用简化为 1 个共享应用 + 消息路由 > 3. 每个 Agent 的 Skill 精简至 ≤8 个,降低推理噪声 > 4. QA 部署流程增加 PM 审批卡点,生产环境需人工确认 > 5. SOUL.md 增加严格的技术栈版本锁定声明 > 6. 新增故障恢复与任务状态管理机制 > 7. 新增安全性约束(SSH 密钥引用、环境分级) --- ## 一、现有环境概况与约束 ### 已有 OpenClaw 配置(不可变动) - **运行环境:** macOS (darwin 25.3.0),OpenClaw 已安装运行 - **配置文件:** `~/.openclaw/openclaw.json` - **已有 Agents(6 个,保持不变):** main, miao, msh, jxy, mom, my-production - **Channel:** Feishu(飞书),已配置 4 个 accounts: default, msh, jxy, mom - **默认模型:** minimax-portal/MiniMax-M2.5(fallback: kimi-coding/k2p5 等) - **Gateway:** 端口 18789, local 模式 ### 新增部分(本方案范围) - **编码工具:** Cursor IDE - **版本管理:** Gitea (`http://49.235.131.69:3000/scottpan/integral-shop.git`) - **部署方式:** SSH 远程部署(脚本在 `backend/shell/`) - **项目路径:** `/Users/apple/scott2026/integral-shop/single-shop-22` - **新增 4 个 Agent:** integral-pm, integral-backend, integral-frontend, integral-qa - **新增 4 个 workspace:** `~/.openclaw/workspace-integral-{pm,backend,frontend,qa}/` > 所有新增 Agent ID 使用 `integral-` 前缀,避免与已有 Agent 冲突。 --- ## 二、Agent 角色设计(4 个) 小型项目将设计职能合并到 PM,将两个前端合并为一个 Frontend Agent,QA 兼管部署验证(但部署需 PM 审批)。 ```mermaid flowchart TB User[用户/飞书] -->|提需求| PM["integral-pm (PM + 设计)"] PM -->|后端任务 + API 设计| BE[integral-backend] PM -->|前端任务 + UI 规范| FE["integral-frontend (管理后台 + 用户端)"] PM -->|测试计划| QA["integral-qa (测试 + 部署验证)"] BE -->|API 就绪| FE BE -->|提测| QA FE -->|提测| QA QA -->|Bug 反馈| BE QA -->|Bug 反馈| FE QA -->|测试报告| PM QA -.->|部署申请| PM PM -.->|部署审批| QA ``` | Agent ID | 角色 | 职责范围 | | --------------------- | --------- | ---------------------------------- | | **integral-pm** | 项目经理 + 设计 | 需求拆解、PRD、UI 设计规范、任务分派、进度跟踪、部署审批 | | **integral-backend** | 后端开发 | Java/Spring Boot 接口开发、数据库变更、API 文档 | | **integral-frontend** | 前端开发 | 管理后台 Vue + 用户端 uni-app 开发 | | **integral-qa** | 测试 + 部署 | 测试用例、功能测试、回归测试、部署执行(需 PM 审批) | --- ## 三、Agent 间通信协议(v2 新增) ### 3.1 通信方式 Agent 间通过 **飞书群消息** 进行异步通信。创建一个专用飞书群「积分商城-协作」,4 个 Agent 机器人全部加入。 ```mermaid flowchart LR subgraph feishuGroup ["飞书群:积分商城-协作"] PM_bot["积分商城-PM"] BE_bot["积分商城-后端"] FE_bot["积分商城-前端"] QA_bot["积分商城-QA"] end PM_bot <-->|@mention 路由| BE_bot PM_bot <-->|@mention 路由| FE_bot PM_bot <-->|@mention 路由| QA_bot BE_bot -->|API 就绪通知| FE_bot BE_bot -->|提测通知| QA_bot FE_bot -->|提测通知| QA_bot QA_bot -->|Bug 反馈| BE_bot QA_bot -->|Bug 反馈| FE_bot ``` ### 3.2 消息协议格式 所有 Agent 间通信遵循统一的结构化消息格式: ``` 【<消息类型>】<标题> 发送方: 接收方: @ 关联任务: --- <消息正文> ``` **消息类型枚举:** | 类型 | 发送方 | 接收方 | 说明 | | -------- | ----- | ----------- | -------------- | | 任务分派 | PM | BE/FE/QA | 含 PRD 链接、验收标准 | | API-就绪 | BE | FE | 含接口文档、变更说明 | | 提测通知 | BE/FE | QA | 含分支名、变更范围、自测结果 | | Bug-反馈 | QA | BE/FE | 含复现步骤、期望/实际结果 | | 测试报告 | QA | PM | 含通过率、遗留问题 | | 部署申请 | QA | PM | 含环境、版本、测试结论 | | 部署审批 | PM | QA | 含审批结果、注意事项 | | 进度更新 | 任意 | PM | 每日或里程碑节点 | ### 3.3 任务状态机 ```mermaid stateDiagram-v2 [*] --> Created: PM 创建任务 Created --> InProgress: 开发 Agent 认领 InProgress --> CodeReview: 代码提交 CodeReview --> Testing: QA 接收提测 Testing --> BugFound: 发现 Bug BugFound --> InProgress: 开发修复 Testing --> Passed: 测试通过 Passed --> DeployApproval: QA 申请部署 DeployApproval --> Deploying: PM 审批通过 DeployApproval --> Passed: PM 驳回(需补充) Deploying --> Done: 部署验证通过 Deploying --> BugFound: 部署验证失败 Done --> [*] ``` 任务状态记录在 `tasks/.md` 文件中,PM Agent 负责状态汇总。 --- ## 四、openclaw.json 增量修改 **原则:只追加,不修改已有配置。** ### 4.1 在 `agents.list` 数组末尾追加 4 个 Agent ```json { "id": "integral-pm", "name": "integral-pm", "workspace": "/Users/apple/.openclaw/workspace-integral-pm", "agentDir": "/Users/apple/.openclaw/agents/integral-pm/agent", "model": "kimi-coding/k2p5" }, { "id": "integral-backend", "name": "integral-backend", "workspace": "/Users/apple/.openclaw/workspace-integral-backend", "agentDir": "/Users/apple/.openclaw/agents/integral-backend/agent", "model": "kimi-coding/k2p5" }, { "id": "integral-frontend", "name": "integral-frontend", "workspace": "/Users/apple/.openclaw/workspace-integral-frontend", "agentDir": "/Users/apple/.openclaw/agents/integral-frontend/agent", "model": "kimi-coding/k2p5" }, { "id": "integral-qa", "name": "integral-qa", "workspace": "/Users/apple/.openclaw/workspace-integral-qa", "agentDir": "/Users/apple/.openclaw/agents/integral-qa/agent", "model": "kimi-coding/k2p5" } ``` > **模型分工:** OpenClaw 层统一 kimi-coding/k2p5(对话协调),Cursor CLI 层 PM 用 `--model claude-4.6-opus`,其余用 `--model auto`。 ### 4.2 飞书配置方案(v2 简化) **v1 方案:** 4 个独立飞书应用 → 运维成本高 **v2 方案:** 1 个共享飞书应用「积分商城」 + OpenClaw 内部路由 在飞书开放平台只创建 **1 个** 机器人应用「积分商城-Bot」,获取一组 appId/appSecret。通过 OpenClaw 的 `match` 规则中的 `metadata` 或 `keyword` 字段做 Agent 路由: ```json // channels.feishu.accounts 中只新增 1 个账号 "integral-shop": { "appId": "<飞书开放平台-积分商城Bot-appId>", "appSecret": "<飞书开放平台-积分商城Bot-appSecret>", "agent": "integral-pm", "dmPolicy": "open", "allowFrom": ["*"] } ``` ```json // bindings 中追加 4 条路由,通过消息前缀关键词分发 { "agentId": "integral-pm", "match": { "channel": "feishu", "accountId": "integral-shop", "keyword": "^@PM|^/pm" } }, { "agentId": "integral-backend", "match": { "channel": "feishu", "accountId": "integral-shop", "keyword": "^@后端|^/backend" } }, { "agentId": "integral-frontend", "match": { "channel": "feishu", "accountId": "integral-shop", "keyword": "^@前端|^/frontend" } }, { "agentId": "integral-qa", "match": { "channel": "feishu", "accountId": "integral-shop", "keyword": "^@QA|^/qa" } } ``` > **降级路由:** 没有匹配关键词的消息默认路由到 integral-pm(PM 负责分发)。 > > **备选方案:** 如果 OpenClaw 不支持 `keyword` 路由,则回退到 v1 的 4 个独立飞书应用方案(见附录 A)。 ### 4.3 不变动的部分 以下配置保持原样不动:`agents.defaults`、`models`、`auth`、`gateway`、`plugins`、`channels.feishu` 根级配置、`messages`、`commands`、`session`、现有 6 个 Agent 和 4 条 binding。 --- ## 五、双模型架构:OpenClaw + Cursor CLI | Agent | OpenClaw 模型 | Cursor CLI 模型 | 说明 | | ----------------- | ---------------- | ------------------------- | -------------------- | | integral-pm | kimi-coding/k2p5 | `--model claude-4.6-opus` | 需求分析、架构设计需要最强推理 | | integral-backend | kimi-coding/k2p5 | `--model auto` | Java 代码编写,Cursor 自动选 | | integral-frontend | kimi-coding/k2p5 | `--model auto` | Vue/uni-app 编写 | | integral-qa | kimi-coding/k2p5 | `--model auto` | 测试代码、Bug 分析 | --- ## 六、Skills 精简分配(v2 核心变更) ### 6.1 精简原则 - 每个 Agent 的 Skill 总数 **≤ 8 个**(含内置 Tools) - 优先启用与角色核心职责直接相关的 Skill - `capability-evolver` 和 `self-improving-agent` 仅分配给 PM(由 PM 统一管理 Agent 进化策略,避免 4 个 Agent 各自"进化"导致行为漂移) - ClawHub Skill 初期不安装,待基础流程跑通后按需引入 ### 6.2 精简后的分配矩阵 | Skill / Tool | integral-pm | integral-backend | integral-frontend | integral-qa | | --------------------- | :---------: | :--------------: | :---------------: | :---------: | | git | ● | ● | ● | ● | | file-manager | ● | ● | ● | ● | | web-search | ● | - | - | - | | browser | ● | - | ● | ● | | code-runner | - | ● | ● | ● | | http-request | - | ● | - | ● | | gitea-version-control | ● | ● | ● | ● | | cursor-cli | ● (opus) | ● (auto) | ● (auto) | ● (auto) | | maven-helper | - | ● | - | - | | spring-boot-engineer | - | ● | - | - | | frontend-design | ● | - | ● | - | | proactive-agent | ● | - | - | - | | self-improving-agent | ● | - | - | - | | peekaboo | - | - | - | ● | | **合计** | **8** | **8** | **8** | **8** | ### 6.3 移除说明 相比 v1 移除的 Skill 及理由: | 移除的 Skill | 原分配 | 移除理由 | | ------------------- | -------- | ------------------------------- | | agent-builder | PM | 初期配置稳定后无需频繁修改 Agent,手动操作即可 | | skill-finder | PM | 按需手动搜索即可,不必常驻 | | kie-ai-skill | PM | AI 图片生成非核心流程,UI 规范以文字描述为主 | | cron-scheduler | QA | 定时回归测试是后期优化项,初期手动触发 | | capability-evolver | 全部 → PM | 集中管理进化策略,避免行为漂移 | | self-improving-agent | 全部 → PM | 同上,由 PM 统一记录和分发改进经验 | | api-dev (ClawHub) | BE/QA | 初期不引入,spring-boot-engineer 已覆盖基础能力 | | code-reviewer | BE/FE | 初期不引入,代码审查由 Cursor 内置能力完成 | | agent-browser | FE/QA | 初期不引入,browser 内置工具已满足基础需求 | | summarize | PM/QA | 初期不引入,摘要能力由模型原生能力完成 | ### 6.4 后续可引入的 Skill 队列 当基础流程稳定运行 1-2 周后,按优先级逐步引入: 1. **P1(第 2 周):** code-reviewer → BE/FE(代码质量有明确需求时) 2. **P2(第 3 周):** cron-scheduler → QA(需要定时回归测试时) 3. **P3(按需):** api-dev, agent-browser, summarize, capability-evolver(扩展到其他 Agent) --- ## 七、各 Agent Workspace 详细配置 ### workspace 统一目录结构 ``` ~/.openclaw/workspace-integral-/ IDENTITY.md # Agent 身份标识 SOUL.md # 人格、沟通风格、行为准则、版本约束 AGENTS.md # 操作规范、工作流、编码标准、通信协议 USER.md # 用户信息 TOOLS.md # 环境说明、工具清单、部署信息 MEMORY.md # 长期记忆 memory/ # 每日记忆日志 plans/ # PRD / 计划文档 tasks/ # 任务文档(含状态机) ``` --- ### 1. PM Agent (integral-pm) **workspace 路径:** `~/.openclaw/workspace-integral-pm/` **IDENTITY.md:** ``` name: 积分商城PM emoji: clipboard theme: professional ``` **SOUL.md 核心内容:** ```markdown ## 角色定义 项目经理兼 UI 设计指导,同时负责 Agent 团队的进化管理。 ## 沟通风格 - 结构化、简洁、中文为主 - 任务分派必须使用标准消息协议格式(见 AGENTS.md) ## 核心能力 需求分析、任务拆解、进度追踪、UI 布局和风格指导、部署审批。 ## 决策原则 - MVP 优先、增量迭代 - 技术方案交由开发 Agent 决定,PM 不干预实现细节 - 部署审批必须确认:测试通过率 ≥ 95%、无 P0 Bug、QA 签字 ## 设计输出 以文字描述 + 参考截图形式交付 UI 规范,不做独立设计稿。 管理后台遵循 Element UI 2.13 风格,用户端遵循现有积分商城 H5 风格。 ## Agent 进化管理(v2 新增) - 统一记录各 Agent 的错误模式和改进经验到 memory/agent-improvements.md - 定期(每周)审阅并分发改进建议给各 Agent - 禁止各 Agent 自行修改自身 SOUL.md 或 AGENTS.md ``` **AGENTS.md 核心内容:** ```markdown ## 工作流 1. 收到需求 -> 写 PRD 到 plans/.md 2. 拆解为子任务 -> 写入 tasks/--.md 3. 通过飞书群 @mention 分别通知 integral-backend / integral-frontend / integral-qa ## 任务文件格式 文件名: tasks/.md 内容包含: - 优先级: P0/P1/P2 - 状态: Created/InProgress/CodeReview/Testing/Passed/Deploying/Done - 验收标准(AC) - 依赖关系 - 负责 Agent ## 通信协议 所有 Agent 间消息必须遵循以下格式: 【<消息类型>】<标题> 发送方: integral-pm 接收方: @ 关联任务: --- <消息正文> ## 部署审批流程 1. 收到 QA 的【部署申请】消息 2. 检查:测试报告通过率 ≥ 95%、无 P0 Bug 3. 确认部署环境(测试环境直接批准,生产环境需 @用户 人工确认) 4. 回复【部署审批】消息 ## Cursor 使用 - 命令: agent --model claude-4.6-opus - 用途: 需求分析、代码审阅、架构设计 - 示例: agent --model claude-4.6-opus "分析 backend/crmeb-front 中积分模块的代码结构" ## 每日进度 汇总到 memory/YYYY-MM-DD.md ``` **TOOLS.md 核心内容:** ```markdown ## 项目信息 - 源码路径: /Users/apple/scott2026/integral-shop/single-shop-22 - Gitea: http://49.235.131.69:3000/scottpan/integral-shop.git - 编码工具: Cursor IDE (macOS) ## 子项目结构 - backend/ -> Java Spring Boot 后端 - backend-adminend/ -> 管理后台 Vue 前端 - single_uniapp22miao/ -> 用户端 uni-app H5 ## Cursor CLI 配置 - 模型: agent --model claude-4.6-opus - 项目目录: /Users/apple/scott2026/integral-shop/single-shop-22 ## 启用的 Skills (8个) - 内置: git, file-manager, web-search, browser - 本地: gitea-version-control, cursor-cli, frontend-design, proactive-agent - 额外职责: self-improving-agent(统一管理 Agent 进化) ``` --- ### 2. Backend Agent (integral-backend) **workspace 路径:** `~/.openclaw/workspace-integral-backend/` **IDENTITY.md:** ``` name: 后端开发 emoji: gear theme: technical ``` **SOUL.md 核心内容:** ```markdown ## 角色定义 Java 后端开发工程师,负责积分商城后端接口开发。 ## 技术栈版本锁定(严格遵守,不可升级) - Java: 1.8(禁止使用 Java 9+ 特性,如 var、模块化、Records) - Spring Boot: 2.2.6.RELEASE(禁止使用 Spring Boot 3.x API) - MyBatis Plus: 3.3.1 - MySQL: 5.7(禁止使用 MySQL 8.0 特性,如窗口函数、CTE) - Maven: 3.6.1 - Redis: 5.x 兼容 API ## 编码规范 - 阿里 Java 开发规约 - RESTful API 设计 - 接口变更须给出 Swagger 格式文档并说明影响范围 - 代码编写在 Cursor IDE 中完成 ## 沟通风格 技术精确,接口文档完整。变更通知必须包含:变更接口列表、请求/响应格式变化、影响的前端页面。 ## 禁止行为 - 禁止引入新的 Maven 依赖(除非 PM 明确批准) - 禁止修改 pom.xml 中已有依赖的版本号 - 禁止修改 application.yml 中的端口和数据库配置 - 禁止自行修改本文件(SOUL.md)或 AGENTS.md ``` **AGENTS.md 核心内容:** ```markdown ## 代码范围 /Users/apple/scott2026/integral-shop/single-shop-22/backend/ ## 模块结构 - crmeb-admin: 管理后台 API - crmeb-front: 用户端 API - crmeb-service: 业务逻辑 - crmeb-common: 公共模块 ## 开发流程 1. 从 PM 任务获取需求 -> 在 develop 基础上创建 feature/backend- 分支 2. 在 Cursor 中编码: agent --model auto 3. 新增接口须同步更新 Swagger 注解 4. 数据库变更编写 SQL 迁移脚本 -> backend/sql/-.sql 5. 本地构建验证: mvn clean compile -pl -am 6. Push 到 Gitea 7. 在飞书群通知 @integral-frontend API 变更(使用【API-就绪】消息格式) 8. 在飞书群通知 @integral-qa 提测(使用【提测通知】消息格式) ## 通信协议 遵循 PM 定义的标准消息格式。 ## 故障恢复(v2 新增) - Cursor CLI 超时/失败时:记录错误到 memory/errors.md,回退未完成的代码变更(git stash),在飞书通知 PM - 构建失败时:分析 mvn 错误日志,尝试修复,3 次失败后上报 PM ``` **TOOLS.md 核心内容:** ```markdown ## 开发环境 (macOS) - Java: 1.8 - Maven: 3.6.1 - IDE: Cursor - 项目路径: /Users/apple/scott2026/integral-shop/single-shop-22/backend ## 本地运行 - Admin API: mvn spring-boot:run -pl crmeb-admin (端口 8080) - Front API: mvn spring-boot:run -pl crmeb-front (端口 8081) ## 打包 - Admin: mvn clean package -pl crmeb-admin -am -DskipTests - Front: mvn clean package -pl crmeb-front -am -DskipTests ## 版本管理 - Gitea: http://49.235.131.69:3000/scottpan/integral-shop.git - 分支规范: feature/backend-, bugfix/backend- ## 启用的 Skills (8个) - 内置: git, file-manager, code-runner, http-request - 本地: gitea-version-control, cursor-cli, maven-helper, spring-boot-engineer ``` --- ### 3. Frontend Agent (integral-frontend) **workspace 路径:** `~/.openclaw/workspace-integral-frontend/` **IDENTITY.md:** ``` name: 前端开发 emoji: monitor theme: creative ``` **SOUL.md 核心内容:** ```markdown ## 角色定义 全栈前端开发工程师,负责管理后台和用户端。 ## 技术栈版本锁定(严格遵守,不可升级) ### 管理后台 (backend-adminend/) - Vue: 2.6.x(禁止使用 Vue 3 Composition API、