3分钟打造专属AI编码助手:Roo Code自定义模式全攻略
你是否还在为重复编写相同类型的代码而烦恼?是否希望AI能完全按照你的团队规范生成代码?Roo Code的自定义模式功能正是为解决这些问题而生。本文将带你从零开始创建专属开发流程,通过3个实战案例掌握自定义模式核心技巧,让AI助手真正成为你的团队成员。
自定义模式基础:打破固定思维的AI助手
Roo Code提供的默认模式(Code、Architect、Ask、Debug)已能满足大部分开发需求,但每个团队都有独特的工作流和规范。自定义模式允许你构建专属AI助手角色,通过预设指令、工具权限和交互流程,让AI严格遵循团队最佳实践。
核心价值
- 统一团队规范:将代码风格、文档标准编码为模式,新人上手速度提升40%
- 自动化重复任务:测试生成、注释完善、代码检查等流程一键触发
- 领域知识沉淀:把架构经验、业务规则转化为可复用的AI指令
官方文档:README.md
模式系统源码:src/core/config/CustomModesManager.ts
快速上手:5步创建你的第一个自定义模式
1. 模式文件结构
自定义模式通过YAML格式定义,支持全局模式(用户级)和项目模式(工作区级):
# .roo/modes/security-review.yaml
name: "Security Reviewer"
description: "代码安全审计专家,检测常见漏洞并提供修复建议"
instructions: |
作为安全审计专家,请遵循以下步骤检查代码:
1. 识别输入验证问题(SQL注入、XSS等)
2. 检查认证授权逻辑
3. 验证敏感数据处理
4. 提供符合OWASP标准的修复方案
tools:
- search_files
- read_file
- write_file
allowedCommands: []
2. 关键配置项解析
| 配置项 | 作用 | 示例值 |
|---|---|---|
name |
模式名称(显示在UI上) | "API文档生成器" |
instructions |
AI行为准则和工作流程 | "优先使用TypeScript类型定义..." |
tools |
允许使用的工具列表 | ["read_file", "search_files"] |
allowedCommands |
可执行的终端命令 | ["npm run lint", "git status"] |
filePatterns |
关注的文件模式 | [".ts", ".js", "!node_modules/**"] |
配置详解:src/shared/modes.ts
3. 安装与激活
-
将模式文件保存到以下位置之一:
- 全局模式:
~/.roo/modes/ - 项目模式:
项目根目录/.roomodes/
- 全局模式:
-
在Roo Code面板中点击模式选择器,找到你的自定义模式并点击激活
实战案例:三个提升开发效率的自定义模式
案例1:RESTful API自动生成器
痛点:手动编写API CRUD接口时重复劳动,参数验证和错误处理代码冗余。
模式设计:
name: "API Generator"
description: "根据数据模型自动生成RESTful API接口"
instructions: |
1. 分析用户提供的TypeScript接口定义
2. 生成符合REST规范的CRUD端点
3. 添加Joi参数验证和错误处理
4. 生成Swagger文档注释
tools:
- read_file
- write_file
filePatterns: ["src/models/*.ts", "src/routes/*.ts"]
使用效果:输入数据模型接口后,自动生成完整的路由文件、控制器和测试用例,平均节省30分钟/接口。
案例2:遗留代码现代化助手
痛点:将旧JavaScript项目迁移到TypeScript时,类型定义编写耗时且易出错。
模式设计:
name: "TS Migration Assistant"
description: "将JavaScript代码转换为TypeScript并添加类型定义"
instructions: |
执行以下步骤迁移代码:
1. 将.js文件重命名为.ts
2. 为函数参数和返回值添加类型注解
3. 识别并定义接口类型
4. 解决any类型,优先使用具体类型
tools:
- read_file
- write_file
- search_files
allowedCommands: ["tsc --noEmit"]
使用技巧:配合search_files工具批量处理:
@Roo 使用TS Migration Assistant处理src/utils/**/*.js
案例3:合规文档生成器
痛点:金融项目需要生成符合PCI-DSS规范的文档,手动编写易遗漏。
模式设计:
name: "合规文档生成器"
description: "自动生成符合PCI-DSS标准的安全文档"
instructions: |
根据代码实现生成以下安全文档:
1. 数据流程图(标记敏感数据流向)
2. 加密算法使用清单
3. 访问控制矩阵
4. 安全审计日志规范
tools:
- read_file
- search_files
- write_file
filePatterns: ["src/services/**/*.ts", "src/middleware/auth.ts"]
文档模板源码:src/core/prompts/instructions/create-mode.ts
高级技巧:打造智能协作型自定义模式
1. 模式组合与继承
通过extends属性继承其他模式的配置,实现模式复用:
extends: "code" # 继承基础Code模式
name: "React Component Generator"
instructions: |
在基础编码模式上增加:
- 使用React函数组件和TypeScript
- 遵循Atomic Design原则
- 自动生成Storybook文档
继承逻辑实现:src/core/config/CustomModesManager.ts
2. 动态工具权限控制
根据文件类型动态调整工具权限,增强安全性:
name: "安全模式"
tools:
- read_file
conditionalTools:
- tool: write_file
condition: "file.path.includes('docs/') || file.path.includes('tests/')"
安全检查实现:src/core/tools/tests/validateToolUse.spec.ts
3. 多模态交互设计
结合Roo Code的Roomote Control功能,实现模式间协作:
name: "Full Stack Developer"
instructions: |
当需要前端实现时:
<roomote mode="react-component-generator">生成UI组件</roomote>
当需要后端API时:
<roomote mode="api-generator">创建数据接口</roomote>
跨模式通信:src/shared/mcp.ts
最佳实践与避坑指南
性能优化
- 指令精简:保持instructions在500字以内,过长会导致AI注意力分散
- 工具最小化:只授予必要工具权限,减少AI决策负担
- 文件过滤:合理设置filePatterns,避免无关文件干扰分析
常见问题解决
Q: 模式不生效或未显示在列表中?
A: 检查以下几点:
- 文件路径是否正确(全局:
~/.roo/modes/,项目:.roomodes/) - YAML格式是否正确(可使用在线验证工具)
- 是否包含必填字段name和description
配置验证源码:src/core/config/tests/CustomModesSettings.spec.ts
Q: 如何共享自定义模式给团队?
A: 推荐两种方案:
- 创建模式仓库,团队通过
roo install <repo-url>安装 - 将项目模式提交到Git仓库,与代码一起版本控制
总结与进阶路线
自定义模式是Roo Code最强大的扩展能力之一,通过本文介绍的方法,你已能创建基础模式解决特定问题。进阶学习建议:
- 模式测试框架:使用src/tests/migrateSettings.spec.ts中的测试方法验证模式行为
- 社区模式库:探索Marketplace获取更多行业专用模式
- 动态配置:学习使用MCP服务器实现模式的远程更新与共享
通过自定义模式,Roo Code从通用AI助手转变为团队专属开发引擎。随着模式库的积累,你将构建出一套完整的AI辅助开发体系,大幅提升团队生产力。现在就动手创建你的第一个模式,体验AI驱动开发的全新可能!
提示:定期查看CHANGELOG.md了解自定义模式功能的最新改进,3.29.0版本已支持模式间变量传递和条件执行功能。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0444
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0760
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0310
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00



