Skip to content

[[[[Switch to English]]]]


title: "BMad 方法自定义指南"

自定义 BMad 方法及其核心以满足您的需求,同时仍能获得更新和增强功能,这是 BMad 生态系统中的一个关键理念。

此处概述的自定义指南虽然针对理解 BMad 方法自定义,但也适用于 BMad 方法中的任何其他模块使用。

自定义的类型

自定义包括代理自定义、工作流/技能自定义,以及添加供现有代理使用的新 MCP 或技能。除此之外,完全另一领域的自定义涉及创建/添加您自己的相关 BMad 构建器工作流、技能、代理,甚至可能是您自己的全新模块以补充 BMad 方法模块。

警告:按照本指南规定的方式进行自定义,将允许您继续获得更新,而不必担心丢失自定义更改。随着 BMad 模块的进步,通过继续获取更新,您将能够随着系统的改进而不断发展。

代理自定义

代理自定义领域

  • 更改代理名称、角色或说话方式
  • 添加项目特定的记忆或上下文
  • 向自定义或内联提示、技能或自定义 BMad 工作流添加自定义菜单项
  • 定义代理启动时发生的关键操作以保持行为一致

如何自定义代理

1. 定位自定义文件

安装后,在以下位置找到代理自定义文件:

_bmad/_config/agents/
├── core-bmad-master.customize.yaml
├── bmm-dev.customize.yaml
├── bmm-pm.customize.yaml
└── ... (每个安装的代理一个文件)

2. 编辑任何代理

打开您想要修改的代理的 .customize.yaml 文件。所有部分都是可选的 - 仅自定义您需要的部分。

3. 重建代理

编辑后,至关重要的是重建代理以应用更改:

bash
npx bmad-method install

然后您可以:

  • 选择 Quick Update - 这还将确保所有包都是最新的,并编译所有代理以包含任何更新或自定义
  • 选择 Rebuild Agents - 这将仅重建并将自定义应用于代理,而不拉取最新内容

Beta 发布后不久将会有额外的工具,允许安装单个代理、工作流、技能和模块,而无需使用完整的 bmad 安装程序。

可以自定义哪些代理属性?

代理名称

更改代理如何介绍自己:

yaml
agent:
  metadata:
    name: 'Spongebob' # 默认: "Amelia"

角色 (Persona)

替换代理的个性、角色和沟通风格:

yaml
persona:
  role: 'Senior Full-Stack Engineer'
  identity: 'Lives in a pineapple (under the sea)'
  communication_style: 'Spongebob annoying'
  principles:
    - 'Never Nester, Spongebob Devs hate nesting more than 2 levels deep'
    - 'Favor composition over inheritance'

注意: persona 部分替换整个默认角色(不合并)。

记忆 (Memories)

添加代理将永远记住的持久上下文:

yaml
memories:
  - 'Works at Krusty Krab'
  - 'Favorite Celebrity: David Hasslehoff'
  - 'Learned in Epic 1 that its not cool to just pretend that tests have passed'

自定义菜单项

您在此处添加的任何自定义项目都将包含在代理显示菜单中。

yaml
menu:
  - trigger: my-workflow
    workflow: '{project-root}/my-custom/workflows/my-workflow.yaml'
    description: My custom workflow
  - trigger: deploy
    action: '#deploy-prompt'
    description: Deploy to production

关键操作

添加在代理启动前执行的指令:

yaml
critical_actions:
  - 'Check the CI Pipelines with the XYZ Skill and alert user on wake if anything is urgently needing attention'

自定义提示

action="#id" 菜单处理程序定义可重用的提示:

yaml
prompts:
  - id: deploy-prompt
    content: |
      Deploy the current branch to production:
      1. Run all tests
      2. Build the project
      3. Execute deployment script

故障排除

更改未显示?

  • 确保编辑后运行了 npx bmad-method build <agent-name>
  • 检查 YAML 语法是否有效(缩进很重要!)
  • 验证代理名称是否与文件名模式匹配

代理未加载?

  • 检查 YAML 语法错误
  • 如果您取消注释了必填字段,请确保它们未留空
  • 尝试恢复到模板并重建

需要重置?

  • .customize.yaml 文件中删除内容(或删除文件)
  • 运行 npx bmad-method build <agent-name> 以重新生成默认值

工作流自定义

关于自定义现有 BMad 方法工作流和技能的信息即将推出。

模块自定义

关于如何构建扩展模块以增强 BMad,或进行其他现有模块自定义的信息即将推出。