--- name: OpenClaw Agent Configuration v3 overview: 基于本机实际 OpenClaw 环境检查结果修正的配置方案。在现有 1 个 main Agent + 1 个飞书应用的基础上,增量添加 4 个积分商城 Agent,不影响已有配置。 todos: - id: create-feishu-apps content: 在飞书开放平台创建 4 个机器人应用(或复用现有应用做路由) status: pending - id: update-openclaw-json content: 在现有 openclaw.json 中追加 4 个 Agent、bindings 和飞书账号 status: pending - id: create-workspaces content: 创建 4 个 Agent workspace 目录和全套 .md 文件 status: pending - id: install-skills content: 安装本地 Skills 和 ClawHub Skills status: pending - id: register-and-verify content: 运行 openclaw doctor 验证配置 status: pending isProject: false --- # OpenClaw 多 Agent 配置方案 v3 -- 单商户积分商城 > **v3 核心变更(基于实际环境检查):** > > v1/v2 方案假设已有 6 个 Agent、4 个飞书账号、多个本地 Skills 等,**与实际环境严重不符**。 > v3 基于 2026-03-19 对 `/Users/mac/.openclaw/` 的实际检查结果重写。 --- ## 一、实际环境检查结果 ### 1.1 与 v1/v2 假设的差异对照 | 项目 | v1/v2 假设 | 实际情况 | | ----------- | --------------------------------------------------- | ------------------------------------ | | macOS 用户目录 | `/Users/apple/` | **`/Users/mac/`** | | 已有 Agent | 6 个(main, miao, msh, jxy, mom, my-production) | **仅 1 个(main)** | | 已有飞书账号 | 4 个(default, msh, jxy, mom) | **仅 1 个(default)** | | 已有 binding | 4 条 | **仅 1 条**(main → feishu:default) | | 本地 Skills | 13 个已安装 | **0 个**(无 skills 目录) | | 已安装 plugins | feishu, acpx, maven-connector, minimax-portal-auth | **仅 feishu** | | 模型 provider | minimax-portal, kimi-coding 等多个 | **仅 moonshot + kimi-coding**(共用同一 API key) | | workspace | 多个独立 workspace 目录 | **1 个共享 workspace**(模板状态,未自定义) | | 默认模型 | minimax-portal/MiniMax-M2.5 | **kimi-coding/k2p5** | | OpenClaw 版本 | 未指定 | **2026.3.13** | | 飞书连接方式 | 未指定 | **websocket** | ### 1.2 实际配置详情 ``` ~/.openclaw/ ├── openclaw.json # 主配置文件 ├── openclaw.json.bak # 自动备份(共 3 份) ├── agents/ │ └── main/ # 唯一的 Agent │ ├── agent/ # models.json, auth-profiles.json │ └── sessions/ # 会话记录 ├── workspace/ # 共享 workspace(默认模板状态) │ ├── IDENTITY.md # 未填写 │ ├── SOUL.md # 默认模板 │ ├── AGENTS.md # 默认模板 │ ├── TOOLS.md # 默认模板 │ ├── USER.md # 未填写 │ ├── BOOTSTRAP.md # 仍存在(说明未完成初始化引导) │ └── HEARTBEAT.md # 空(无定时任务) ├── extensions/ │ └── feishu/ # 飞书插件(含 feishu-doc/drive/perm/wiki 4 个 skill) ├── memory/ │ └── main.sqlite # 记忆数据库 ├── cron/ │ └── jobs.json # 空 ├── feishu/ │ └── dedup/ # 飞书消息去重 ├── completions/ # shell 补全脚本 ├── canvas/ # Web UI ├── devices/ # 设备信息 ├── identity/ # 设备认证 └── logs/ # 日志 ``` **模型配置:** - `moonshot`:Kimi K2.5(OpenAI 兼容 API),256K 上下文,非推理模型 - `kimi-coding`:Kimi for Coding / k2p5(Anthropic 兼容 API),262K 上下文,推理模型 - 两个 provider 共用同一 API key - 默认模型:`kimi-coding/k2p5` **飞书配置:** - 1 个应用:`cli_a930893990799cba` - 连接模式:websocket - 策略:groupPolicy=open, dmPolicy=open, allowFrom=* **Gateway:** - 端口 18789,local 模式,loopback 绑定,token 鉴权 --- ## 二、Agent 角色设计(4 个) 与 v2 保持一致,不再赘述。 ```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 间通信协议 ### 3.1 通信方式 由于当前飞书只有 1 个应用,Agent 间通信有两种选择: **方案 A(推荐):共享飞书群 + @mention 路由** 创建一个飞书群「积分商城-协作」,所有 Agent 加入。通过消息中 `@Agent名` 或 `/命令前缀` 触发对应 Agent。 **方案 B:4 个独立飞书应用** 在飞书开放平台新建 4 个机器人应用,各自独立 appId/appSecret。私聊直达对应 Agent。 > v3 以**方案 B** 为主方案(更可靠),方案 A 作为降低运维成本的备选。原因:OpenClaw 的 binding 路由目前以 `accountId` 为主要匹配字段,keyword 路由是否支持需验证。 ### 3.2 消息协议格式 所有 Agent 间通信遵循统一格式: ``` 【<消息类型>】<标题> 发送方: 接收方: @ 关联任务: --- <消息正文> ``` 消息类型:任务分派、API-就绪、提测通知、Bug-反馈、测试报告、部署申请、部署审批、进度更新。 ### 3.3 任务状态机 ``` Created → InProgress → CodeReview → Testing → Passed → DeployApproval → Deploying → Done ↓ ↓ BugFound ← ─ ─ ─ ─ ─ ─ ─ ┘ ↓ InProgress(修复后重新流转) ``` --- ## 四、openclaw.json 增量修改 **原则:只追加,不修改已有配置。** 当前 openclaw.json 中仅有 1 个 main Agent 和 1 条 binding,以下为增量部分。 ### 4.1 在 `agents.list` 中追加 4 个 Agent 当前 `agents` 节点只有 `defaults`,没有 `list` 数组。需要新增 `list` 字段: ```json "agents": { "defaults": { ... // 保持不变 }, "list": [ { "id": "integral-pm", "name": "integral-pm", "workspace": "/Users/mac/.openclaw/workspace-integral-pm", "agentDir": "/Users/mac/.openclaw/agents/integral-pm/agent", "model": "kimi-coding/k2p5" }, { "id": "integral-backend", "name": "integral-backend", "workspace": "/Users/mac/.openclaw/workspace-integral-backend", "agentDir": "/Users/mac/.openclaw/agents/integral-backend/agent", "model": "kimi-coding/k2p5" }, { "id": "integral-frontend", "name": "integral-frontend", "workspace": "/Users/mac/.openclaw/workspace-integral-frontend", "agentDir": "/Users/mac/.openclaw/agents/integral-frontend/agent", "model": "kimi-coding/k2p5" }, { "id": "integral-qa", "name": "integral-qa", "workspace": "/Users/mac/.openclaw/workspace-integral-qa", "agentDir": "/Users/mac/.openclaw/agents/integral-qa/agent", "model": "kimi-coding/k2p5" } ] } ``` > **路径修正:** 所有路径以 `/Users/mac/` 为基础,非 v1 中的 `/Users/apple/`。 ### 4.2 在 `bindings` 数组中追加 4 条飞书路由 当前只有 1 条 binding(main → feishu:default)。在其后追加: ```json "bindings": [ { "agentId": "main", "match": { "channel": "feishu", "accountId": "default" } }, { "agentId": "integral-pm", "match": { "channel": "feishu", "accountId": "integral-pm" } }, { "agentId": "integral-backend", "match": { "channel": "feishu", "accountId": "integral-backend" } }, { "agentId": "integral-frontend", "match": { "channel": "feishu", "accountId": "integral-frontend" } }, { "agentId": "integral-qa", "match": { "channel": "feishu", "accountId": "integral-qa" } } ] ``` ### 4.3 在 `channels.feishu` 中追加 `accounts` 当前飞书配置是单应用模式(appId/appSecret 在根级)。需要追加 `accounts` 字段支持多应用: ```json "channels": { "feishu": { "enabled": true, "appId": "cli_a930893990799cba", "appSecret": "FfpFz93MKBx0ytC1ceTPF0BnjM7vFVhQ", "connectionMode": "websocket", "domain": "feishu", "groupPolicy": "open", "dmPolicy": "open", "allowFrom": ["*"], "accounts": { "integral-pm": { "appId": "<飞书开放平台创建后填入>", "appSecret": "<飞书开放平台创建后填入>", "agent": "integral-pm", "dmPolicy": "open", "allowFrom": ["*"] }, "integral-backend": { "appId": "<飞书开放平台创建后填入>", "appSecret": "<飞书开放平台创建后填入>", "agent": "integral-backend", "dmPolicy": "open", "allowFrom": ["*"] }, "integral-frontend": { "appId": "<飞书开放平台创建后填入>", "appSecret": "<飞书开放平台创建后填入>", "agent": "integral-frontend", "dmPolicy": "open", "allowFrom": ["*"] }, "integral-qa": { "appId": "<飞书开放平台创建后填入>", "appSecret": "<飞书开放平台创建后填入>", "agent": "integral-qa", "dmPolicy": "open", "allowFrom": ["*"] } } } } ``` > **注意:** 根级 appId/appSecret(`cli_a930893990799cba`)保持不变,这是 main Agent 使用的默认应用。新增的 4 个账号各自独立。 ### 4.4 不变动的部分 - `meta`、`wizard` — 系统自动管理 - `auth` — 保持现有 2 个 profile(moonshot:default, kimi-coding:default) - `models` — 保持现有 2 个 provider(moonshot, kimi-coding) - `tools` — 保持 web search 配置 - `commands`、`session` — 保持现有配置 - `gateway` — 端口 18789,鉴权 token 不变 - `plugins` — 仅 feishu,保持不变 - main Agent 的 binding — 保持不变 --- ## 五、双模型架构 当前环境只有 2 个模型 provider,都使用 Kimi API。Cursor CLI 作为第二层编码工具: | 层 | 用途 | Agent | 模型 | | -------- | ---------- | ------------ | --------------------------- | | OpenClaw | 飞书对话、任务协调 | 全部 | kimi-coding/k2p5(已有,无需新增) | | Cursor | 代码编写、项目修改 | PM | `agent --model claude-4.6-opus` | | Cursor | 代码编写、项目修改 | BE/FE/QA | `agent --model auto` | > **前提:** Cursor IDE 已在本机安装并可通过 CLI 调用。若 Cursor 未安装,需先安装。 --- ## 六、Skills 配置(基于实际情况修正) ### 6.1 实际可用资源盘点 当前**无任何本地 Skills**。v1/v2 中提到的 `gitea-version-control`、`maven-helper`、`spring-boot-engineer` 等 13 个 skill **均不存在**,需要从头安装或创建。 已有的 skill 仅限飞书插件自带的 4 个:`feishu-doc`、`feishu-drive`、`feishu-perm`、`feishu-wiki`。 ### 6.2 Skills 安装计划 分三个阶段,从最小可用集开始: **阶段一:最小启动集(Day 1)** 仅使用 OpenClaw 内置 Tools,不安装任何额外 Skill: | 内置 Tool | integral-pm | integral-backend | integral-frontend | integral-qa | | ------------ | :---------: | :--------------: | :---------------: | :---------: | | git | ● | ● | ● | ● | | file-manager | ● | ● | ● | ● | | web-search | ● | ● | ● | ● | | browser | ● | - | ● | ● | | code-runner | - | ● | ● | ● | | http-request | - | ● | - | ● | | **合计** | **4** | **5** | **5** | **6** | > 此阶段目标:验证 Agent 注册、飞书路由、基本对话功能正常。 **阶段二:核心 Skills 安装(Day 2-3)** 从 ClawHub 安装或本地创建以下 Skill: | Skill | 来源 | 适用 Agent | 安装命令 / 创建方式 | | ----------------- | ------- | ---------- | ----------------------------- | | cursor-cli | 需自行创建 | 全部 | 自定义 skill,封装 Cursor CLI 调用 | | gitea-tools | 需自行创建 | 全部 | 自定义 skill,封装 Gitea API 操作 | > **关键变更:** v1/v2 中列出的 `gitea-version-control`、`maven-helper`、`spring-boot-engineer` 等 Skill 在本机并不存在。需要确认是否有 ClawHub 可安装版本,或者需要自行创建。 ```bash # 先搜索 ClawHub 是否有可用 Skill openclaw skills search gitea openclaw skills search maven openclaw skills search spring-boot openclaw skills search cursor openclaw skills search frontend-design ``` **阶段三:进阶 Skills(Week 2+)** 根据阶段一二的运行情况,按需引入: 1. 代码审查 Skill(如 ClawHub 有 code-reviewer) 2. 自动化测试 Skill(UI 自动化) 3. 摘要 Skill(测试报告生成) ### 6.3 最终目标分配矩阵(阶段二完成后) | Skill / Tool | integral-pm | integral-backend | integral-frontend | integral-qa | | ------------ | :---------: | :--------------: | :---------------: | :---------: | | git | ● | ● | ● | ● | | file-manager | ● | ● | ● | ● | | web-search | ● | ● | ● | ● | | browser | ● | - | ● | ● | | code-runner | - | ● | ● | ● | | http-request | - | ● | - | ● | | cursor-cli | ● (opus) | ● (auto) | ● (auto) | ● (auto) | | gitea-tools | ● | ● | ● | ● | | **合计** | **6** | **7** | **7** | **8** | --- ## 七、各 Agent Workspace 配置 ### 7.1 项目路径确认 > **待确认:** v1/v2 中的项目路径为 `/Users/apple/scott2026/integral-shop/single-shop-22`。 > 由于本机用户为 `/Users/mac/`,实际项目路径需要确认。以下使用占位符 `` 表示。 ### 7.2 统一目录结构 ``` ~/.openclaw/workspace-integral-/ IDENTITY.md SOUL.md AGENTS.md USER.md TOOLS.md HEARTBEAT.md memory/ plans/ tasks/ ``` --- ### 1. PM Agent (integral-pm) **workspace 路径:** `/Users/mac/.openclaw/workspace-integral-pm/` **IDENTITY.md:** ```markdown # IDENTITY.md - **Name:** 积分商城PM - **Creature:** AI 项目经理 - **Vibe:** 结构化、专业、高效 - **Emoji:** 📋 ``` **SOUL.md:** ```markdown # SOUL.md - 积分商城 PM ## 角色定义 项目经理兼 UI 设计指导。负责需求拆解、任务分派、进度跟踪、部署审批。 ## 沟通风格 - 结构化、简洁、中文为主 - 任务分派使用标准消息协议格式 - 不说废话,直接给结论和下一步行动 ## 决策原则 - MVP 优先、增量迭代 - 技术方案交由开发 Agent 决定,PM 不干预实现细节 - 部署审批必须确认:测试通过率 ≥ 95%、无 P0 Bug ## 设计输出 以文字描述 + 参考截图形式交付 UI 规范,不做独立设计稿。 管理后台遵循 Element UI 2.13 风格,用户端遵循现有积分商城 H5 风格。 ## 禁止行为 - 禁止自行修改本文件(SOUL.md)或 AGENTS.md ``` **AGENTS.md:** ```markdown # AGENTS.md - PM 工作规范 ## Session Startup 1. Read SOUL.md 2. Read USER.md 3. Read memory/YYYY-MM-DD.md(今天 + 昨天) 4. Read plans/ 下最新的 PRD ## 工作流 1. 收到需求 → 写 PRD 到 plans/.md 2. 拆解为子任务 → 写入 tasks/--.md 3. 通过飞书分别通知 integral-backend / integral-frontend / integral-qa ## 任务文件格式 ``` # - 优先级: P0/P1/P2 - 状态: Created/InProgress/Testing/Passed/Deploying/Done - 验收标准(AC) - 依赖关系 - 负责 Agent ``` ## 通信协议 所有 Agent 间消息格式: ``` 【<消息类型>】<标题> 发送方: integral-pm 接收方: @ 关联任务: --- <消息正文> ``` 消息类型: 任务分派 / API-就绪 / 提测通知 / Bug-反馈 / 测试报告 / 部署申请 / 部署审批 / 进度更新 ## 部署审批流程 1. 收到 QA 的【部署申请】 2. 检查:测试报告通过率 ≥ 95%、无 P0 Bug 3. 测试环境(by80)/ 预发布环境(miao33): 直接批准 4. 生产环境(miao50): 需 @用户 人工确认后批准 5. 回复【部署审批】消息 ## Cursor 使用 - agent --model claude-4.6-opus - 用途: 需求分析、代码审阅、架构设计 ## Memory - 每日进度汇总到 memory/YYYY-MM-DD.md ``` **TOOLS.md:** ```markdown # TOOLS.md - PM 环境信息 ## 项目信息 - 源码路径: - 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 - 项目目录: ## 已启用 Tools - 内置: git, file-manager, web-search, browser ``` --- ### 2. Backend Agent (integral-backend) **workspace 路径:** `/Users/mac/.openclaw/workspace-integral-backend/` **IDENTITY.md:** ```markdown # IDENTITY.md - **Name:** 后端开发 - **Creature:** AI 后端工程师 - **Vibe:** 技术精确、严谨 - **Emoji:** ⚙️ ``` **SOUL.md:** ```markdown # SOUL.md - 后端开发 ## 角色定义 Java 后端开发工程师,负责积分商城后端接口开发。 ## 技术栈版本锁定(严格遵守,禁止升级) - **Java: 1.8**(禁止使用 var、Records、模块化等 Java 9+ 特性) - **Spring Boot: 2.2.6.RELEASE**(禁止使用 Spring Boot 3.x API) - **MyBatis Plus: 3.3.1** - **MySQL: 5.7**(禁止使用窗口函数、CTE 等 MySQL 8.0 特性) - **Maven: 3.6.1** - **Redis: 5.x 兼容 API** ## 编码规范 - 阿里 Java 开发规约 - RESTful API 设计 - 接口变更须提供 Swagger 注解并说明影响范围 ## 沟通风格 技术精确。变更通知包含:变更接口列表、请求/响应格式变化、影响的前端页面。 ## 禁止行为 - 禁止引入新的 Maven 依赖(除非 PM 明确批准) - 禁止修改 pom.xml 中已有依赖的版本号 - 禁止修改 application.yml 中的端口和数据库配置 - 禁止自行修改本文件(SOUL.md)或 AGENTS.md ``` **AGENTS.md:** ```markdown # AGENTS.md - 后端开发工作规范 ## Session Startup 1. Read SOUL.md 2. Read USER.md 3. Read memory/YYYY-MM-DD.md(今天 + 昨天) ## 代码范围 /backend/ ## 模块结构 - crmeb-admin: 管理后台 API - crmeb-front: 用户端 API - crmeb-service: 业务逻辑 - crmeb-common: 公共模块 ## 开发流程 1. 从 PM 任务获取需求 2. 在 develop 基础上创建 feature/backend- 分支 3. 在 Cursor 中编码: agent --model auto 4. 新增接口须同步更新 Swagger 注解 5. 数据库变更 → backend/sql/-.sql 6. 本地构建验证: mvn clean compile -pl -am 7. Push 到 Gitea 8. 飞书通知 @integral-frontend【API-就绪】 9. 飞书通知 @integral-qa【提测通知】 ## 通信协议 遵循 PM 定义的标准消息格式。 ## 故障恢复 - Cursor CLI 失败: git stash → 记录 memory/errors.md → 通知 PM - 构建失败: 分析日志 → 尝试修复 → 3 次失败后上报 PM ``` **TOOLS.md:** ```markdown # TOOLS.md - 后端开发环境 ## 开发环境 (macOS) - Java: 1.8 - Maven: 3.6.1 - IDE: Cursor - 项目路径: /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- ## 已启用 Tools - 内置: git, file-manager, web-search, code-runner, http-request ## Cursor CLI - 模型: agent --model auto - 项目目录: /backend ``` --- ### 3. Frontend Agent (integral-frontend) **workspace 路径:** `/Users/mac/.openclaw/workspace-integral-frontend/` **IDENTITY.md:** ```markdown # IDENTITY.md - **Name:** 前端开发 - **Creature:** AI 前端工程师 - **Vibe:** 创意、注重细节 - **Emoji:** 🖥️ ``` **SOUL.md:** ```markdown # SOUL.md - 前端开发 ## 角色定义 全栈前端工程师,负责管理后台和用户端。 ## 技术栈版本锁定(严格遵守) ### 管理后台 (backend-adminend/) - **Vue: 2.6.x**(禁止使用 Vue 3 Composition API、