将 BMad 方法与OpenClaw 连接起来——结构化的 AI 驱动开发工作流程

AI驱动的敏捷开发框架——BMad方法作为OpenClaw插件。

每个工作流程都会生成一个专属的专家代理(分析师、项目经理、架构师等),他们各自负责全新的工作内容——工作流程之间不会出现信息交叉。BMad Master 负责协调整个软件开发生命周期:分析 → 规划 → 方案制定 → 实施。

工作原理

为什么是顶层代理? OpenClaw 子代理无法生成其他子代理。bmad-master 需要生成专家代理,因此它必须是顶层代理,而不是主代理的子代理。

两种执行模式:

  • **YOLO——**自主运行。子代理不间断地执行所有步骤。主代理等待通知,然后提出下一个工作流程。

  • 交互式——子代理在每一步完成后暂停。用户查看输出,并通过主代理提供反馈。主代理通过以下方式将反馈传递给子代理sessions_send

工具

工具 被…… 描述
bmad_init_project 掌握 初始化 BMad 项目(创建_bmad/、符号链接、状态跟踪)
bmad_list_workflows 掌握 根据当前项目状态列出可用的工作流程
bmad_start_workflow 掌握 准备工作流程 — 返回任务提示sessions_spawn
bmad_load_step 次级代理人 加载活动工作流程中的下一步
bmad_save_artifact 次级代理人 保存工作流输出(始终追加,去重检测)
bmad_complete_workflow 次级代理人 标记工作流程完成,更新状态
bmad_get_state 掌握 获取当前项目状态(阶段、进度、成果)

安装

# Clone into OpenClaw extensions
git clone https://github.com/ErwanLorteau/BMAD_Openclaw.git ~/.openclaw/extensions/bmad-method

# Install dependencies
cd ~/.openclaw/extensions/bmad-method && npm install

配置

添加~/.openclaw/openclaw.json

{
  plugins: {
    load: {
      paths: ["~/.openclaw/extensions/bmad-method"]
    },
    entries: {
      "bmad-method": {
        enabled: true,
        config: {}
      }
    }
  },

  agents: {
    list: [
      {
        // BMad Master as a top-level agent with BMad tools
        id: "bmad-master",
        name: "BMad Master",
        tools: {
          allow: ["bmad-method"]  // Enable all BMad tools
        }
      }
    ]
  },

  tools: {
    agentToAgent: {
      enabled: true,
      allow: ["main", "bmad-master"]
    }
  }
}

创建主工作区:

mkdir -p ~/.openclaw/workspace-bmad

然后重新启动:

openclaw gateway restart

核实

重启后,确认插件已加载:

[plugins] BMad Method plugin loaded. Method path: ...
[plugins] BMad Method: registered 7 tools

用法

  1. 与 BMad Master 代理开始聊天——它拥有所有 7 个 BMad 工具,并将指导您完成整个工作流程:分析 → 规划 → 解决方案 → 实施。

  2. BMad Master 扮演不同的角色(分析师、项目经理、架构师等),而插件则管理状态和步骤进度。

工作流程

User → main → sessions_send → bmad-master
                                    ↓
                          bmad_init_project
                                    ↓
                         bmad_start_workflow → task prompt
                                    ↓
                         sessions_spawn(task) → sub-agent
                                    ↓
              bmad_load_step → execute → bmad_save_artifact (repeat)
                                    ↓
                        bmad_complete_workflow
                                    ↓
                          announce → bmad-master
                                    ↓
                          propose next workflow

项目结构

project/
├── _bmad/
│   ├── state.json           # Workflow state (active, completed, phase)
│   ├── config.yaml          # Project config
│   ├── core/ → symlink      # BMad core files
│   └── bmm/ → symlink       # BMad method module
├── _bmad-output/
│   ├── planning-artifacts/  # Briefs, PRDs, architecture docs
│   └── implementation-artifacts/
└── docs/                    # Project knowledge

BMad 阶段

阶段 代理人 工作流程
分析 玛丽(分析师) 产品简介、市场/领域/技术研究
规划 John(产品经理),Sally(用户体验) 产品需求文档 (PRD)、用户体验设计
解决方案 温斯顿(建筑师) 架构、史诗与故事、准备情况检查
执行 鲍勃(SM),阿米莉亚(Dev) 迭代计划、用户故事、开发、代码审查

发展

npm install
npm test           # Run tests
npm run typecheck  # TypeScript check

建筑史

  • V1(已弃用分支):支持 12 个代理提示的多代理系统sessions_spawn——由于过于复杂而放弃。

  • V2(PR #7):单次会话角色扮演——由于工作流程中上下文混淆而被放弃

  • V3(当前版本):顶级主代理根据工作流程生成子代理——完整过程请参见Issue #8。

老项目迁移才是最头疼的

让AI说不知道比胡说好多了