综合介绍
RooFlow 是一个开源的AI辅助编程工具,核心功能是通过项目记录保存开发过程中的代码、决策和任务进展。它基于Roo Code扩展,集成了五种模式:架构、编码、测试、调试和问答。这些模式互相协作,帮助开发者在项目中无缝切换任务,并自动保存相关信息。RooFlow 支持通过Footgun功能深度定制AI行为,同时优化令牌使用,降低成本。它适合需要长期项目管理和高效开发的程序员。项目在GitHub上开源,社区活跃,持续更新,适用于VS Code环境。
功能列表
- 项目记录 :自动保存代码、决策、任务进展,存储在
memory-bank
目录,支持跨会话保持一致。 - 五种协作模式 :
- 架构模式:规划项目结构,生成
projectBrief.md
等文件。 - 编码模式:辅助编写代码,记录编码过程。
- 测试模式:生成测试用例,管理测试流程。
- 调试模式:分析代码错误,提供修复建议。
- 问答模式:解答开发问题,结合项目记录提供相关答案。
- 架构模式:规划项目结构,生成
- Footgun定制 :支持用户调整AI行为,修改模式提示词以适应特定需求。
- 高效令牌使用 :优化提示词设计,减少AI交互的令牌消耗,降低成本。
- 实时更新 :根据模式中的重要事件自动更新项目记录,保持信息最新。
- 任务跟踪 :生成任务列表,记录已完成和待办事项,存储在
progress.md
。 - MCP支持 :通过模型上下文协议连接本地或远程服务器,扩展功能。
- 默认和协调模式 :提供全局默认模式和协调模式,管理复杂任务。
使用帮助
安装流程
RooFlow 依赖Roo Code扩展,需在VS Code环境中安装。以下是详细步骤:
- 准备环境 :
- 安装VS Code和Roo Code扩展。
- 确保系统已安装
git
,可从git-scm.com下载。 - 确认项目目录为空或已初始化,建议包含
.roo
文件夹用于存储配置。
- 下载安装脚本 :
- 打开终端,切换到项目根目录(
cd 项目路径
)。 - 下载脚本:
- Windows(命令提示符或PowerShell):
curl -L -o install_rooflow.cmd https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow.cmd
- Linux/macOS(bash/zsh):
curl -L -o install_rooflow.sh https://raw.githubusercontent.com/GreatScottyMac/RooFlow/main/config/install_rooflow.sh
- Windows(命令提示符或PowerShell):
- 打开终端,切换到项目根目录(
- 运行安装脚本 :
- Windows:
.\install_rooflow.cmd
- Linux/macOS:
chmod +x install_rooflow.sh && ./install_rooflow.sh
- 脚本会检查
git
可用性,下载RooFlow仓库,移动配置文件到.roo
文件夹,注入工作区路径,并自动删除临时文件。
- Windows:
- 验证安装 :
- 检查项目根目录是否包含
.roo
文件夹和.roomodes
文件。 - 打开
.roo/system-prompt-*
文件,确认WORKSPACE_PLACEHOLDER
已替换为实际路径。 - 在VS Code中运行Roo Code命令,检查五种模式是否可用。
- 检查项目根目录是否包含
- 安装默认和协调模式 (可选):
- 打开VS Code的Roo Code界面,点击“Prompts”图标(书形图标)。
- 在“Modes”部分点击“+”添加新模式。
- 输入模式名称(
Default
或Coordinator
),选择“Global”存储。 - 填入角色定义和自定义指令:
- 默认模式角色定义:
A custom, global mode in Roo Code, using the Roo Code default rules and instructions, along with the custom instruction set for memory bank functionality. Typically called upon when a functionality is not working correctly with the other custom modes. You should have a very broad range of knowledge and abilities.
- 协调模式角色定义:
You are Roo, a strategic workflow orchestrator who coordinates complex tasks by delegating them to appropriate specialized modes. You have a comprehensive understanding of each mode's capabilities and limitations, allowing you to effectively break down complex problems into discrete tasks that can be solved by different specialists.
- 默认模式角色定义:
- 点击“Create Mode”保存。
更新RooFlow
- 重新运行安装脚本即可覆盖
.roo
文件夹和.roomodes
文件,更新到最新版本。
使用主要功能
RooFlow的核心是项目记录和五种模式,以下是详细操作指南:
项目记录
- 初始化 :
- 在Roo Code聊天界面输入
Activate Memory Bank
。 - 如果项目无
memory-bank
目录,系统会切换到架构模式,引导初始化,生成activeContext.md
、decisionLog.md
、productContext.md
、progress.md
等文件。
- 在Roo Code聊天界面输入
- 更新 :
- 随时输入
Update Memory Bank
或UMB
,将当前会话信息同步到项目记录。
- 随时输入
- 查看 :
- 打开
memory-bank
目录,查看progress.md
(任务列表)、decisionLog.md
(决策记录)等。
- 打开
- 注意 :项目记录自动管理,无需手动编辑,但可检查文件了解AI记录内容。
五种模式
- 架构模式 :
- 输入:
new_task: mode: architect message: | 规划一个Web应用的项目结构
- 系统生成项目结构,保存到
projectBrief.md
。
- 输入:
- 编码模式 :
- 输入:
new_task: mode: code message: | 编写一个Python函数处理JSON数据
- 生成代码,记录到
memory-bank/activeContext.md
。
- 输入:
- 测试模式 :
- 输入:
new_task: mode: test message: | 为Python函数生成单元测试
- 生成测试用例,保存到
memory-bank/test.md
。
- 输入:
- 调试模式 :
- 输入:
new_task: mode: debug message: | 修复Python函数中的KeyError
- 提供修复建议,记录到
decisionLog.md
。
- 输入:
- 问答模式 :
- 输入:
new_task: mode: ask message: | 如何优化Python循环性能?
- 结合项目记录回答,适合项目相关问题。
- 输入:
Footgun定制
- 编辑
.roo/system-prompt-*
文件,调整模式行为。 - 示例:修改
system-prompt-code
:优先使用函数式编程,代码风格遵循PEP 8。
- 添加新模式:
- 修改
modules/modes.yml
,添加新模式定义。 - 更新
rooflow_core_prompt.yaml
和system-prompt-[新模式]
,加入memory_bank_strategy.yml
。 - 在
.roomodes
添加新模式条目。
- 修改
- 警告 :Footgun修改可能导致AI行为异常,建议备份
.roo
文件夹。
MCP支持
- 在
system-prompt-[mode]
的MCP_SERVERS_PLACEHOLDER
添加服务器配置:- 本地:使用标准输入/输出。
- 远程:使用HTTP/HTTPS服务器事件(SSE)。
- 示例:
MCP_SERVERS: http://example.com/mcp
默认和协调模式
- 默认模式:使用Roo Code默认提示,适合其他模式失效时。
- 协调模式:管理复杂任务,分解问题并分配给其他模式。
- 在Roo Code界面选择模式,直接输入任务。
注意事项
- RooFlow完全替换Roo Code提示词,可能影响原有功能,建议在测试项目中尝试。
- 若AI行为异常,删除
.roo
文件夹,安装Roo Code Memory Bank恢复默认提示。 - 定期检查GitHub仓库更新,运行安装脚本保持最新。
应用场景
- 长期项目开发
开发者在复杂项目中需要保存记录,RooFlow的项目记录保存代码、决策和任务,适合跨会话开发。 - 团队协作
团队共享memory-bank
文件夹,快速了解项目进展和架构决策,提高协作效率。 - 快速原型开发
使用五种模式快速搭建项目原型,适合初学者学习编码、测试和调试。 - 低成本AI开发
优化令牌使用,降低AI调用成本,适合预算有限的独立开发者。 - 自定义开发流程
通过Footgun功能调整AI行为,适应特定项目需求,如特定编码风格或测试策略。
QA
- RooFlow与Roo Code Memory Bank的区别是什么?
RooFlow增强了Roo Code Memory Bank,增加了Footgun定制、优化令牌使用和五种模式协作,简化了安装和实时更新。 - 如何解决安装失败问题?
检查git
和网络连接,确保Roo Code扩展已安装。若失败,删除.roo
文件夹,重新运行脚本。 - Footgun功能安全吗?
Footgun支持深度定制,但可能导致AI行为异常。建议备份配置文件,谨慎修改。 - 如何添加新模式?
修改modes.yml
和rooflow_core_prompt.yaml
,更新system-prompt-[新模式]
,在.roomodes
添加条目,参考modules。 - 如何贡献代码?
访问GitHub仓库,提交Pull Request,遵循CONTRIBUTING.md
指南。