跳至内容
人工智能
大语言模型

Roo Code:七个实用示例指南

了解如何安装和使用 Roo Code(开源 AI 编码助手),并将其功能与 Cline 进行对比。
Bexruz (Bex) Tuychiev's photo
Bexruz (Bex) Tuychiev
已更新 · 12分钟 阅读

使用 AI 探索

ChatGPTClaudePerplexity

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续
继续操作即表示您接受我们的《使用条款》和《隐私政策》,并同意您的数据存储在美国。

如果您点开了这篇文章,八成已经在用某种 AI 驱动的编码代理,想看看 Roo Code 表现如何。用几句话概括 Roo Code:

  • 开源
  • 多种交互模式与角色设定
  • 回旋(Boomerang)任务
  • 类 Git 的检查点系统
  • 深度自定义
  • 高级上下文管理

这些是 Roo Code 在所有 AI 编码代理常见功能(如 MCP 支持、代码库对话、终端命令执行和文件编辑)之上的优势。

本教程将深入探索 Roo Code 及其上述特性,并与 Cline 进行对比。我们将通过实用示例,看看它的不同交互模式如何在竞争激烈的 AI 代理市场中脱颖而出。

什么是 Roo Code,它能做什么?

Roo Code 是一款作为 VS Code 扩展运行的开源 AI 编码助手。不同于典型的自动补全工具,它更像是可定制的开发伙伴,能创建文件、运行终端命令、浏览网站,并在多种专用模式中处理多步任务。您可以对从自动批准权限到代码库索引提供方的一切进行精细控制。

该工具支持多家 AI 提供商,包括 Anthropic、OpenAI、Google Gemini、AWS Bedrock,以及通过 Ollama 使用的本地模型。它可通过可配置的语义索引理解大型代码库,并包含浏览器自动化、MCP 协议支持,以及适用于复杂项目的智能上下文压缩。

这正是 Roo Code 的独到之处:

  • 多种交互模式:在 Architect(规划)、Code(实现)、Ask(提问)、Debug(排错)以及自定义模式之间切换,覆盖不同开发阶段
  • 配置档案:为特定模式分配不同的 AI 模型与设置,例如用 o3 做架构规划,用 Claude Sonnet 4 执行代码
  • 回旋任务:在不同模式与角色间自动协调复杂工作流
  • 高级上下文管理:配置上下文限制、启用自动压缩,并精确控制每次对话包含的信息
  • 可定制的代码库索引:为语义代码搜索自选嵌入提供方与向量数据库,全面掌控搜索行为与隐私

这些组合将 Roo Code 从一个简单助手变成可配置的开发环境,既能适应您的工作流模式,也能随项目需求扩展。

安装与设置 Roo Code

可直接在 VS Code 扩展市场安装 Roo Code:

VS Code 市场中的 Roo Code AI 助手扩展

安装完成后,重启 VS Code(或 Cursor、Windsurf),左侧边栏会出现 Roo Code 扩展。点击后按照屏幕提示完成账号与初始配置。随后您应能看到如下界面:

Roo Code AI 助手界面,在 VS Code 中显示聊天面板与命令选项

接下来需在设置中选择模型提供方,因为 Roo Code 是开源项目,不包含预付费额度:

Roo Code API 配置界面,显示模型提供方选择与 API Key 输入框

Roo Code 兼容几乎所有主流与小众的 AI 提供商。虽然我个人只用 Claude 模型,您也可以选择第三方路由商如 OpenRouter、Requesty,或企业级方案如 Google Vertex、AWS Bedrock。我建议从 OpenRouter 起步。

Roo Code 提供 5 美元额度,您只需配置一个 API Key,即可访问 OpenRouter 托管的全部模型(几乎您能想到的任何模型)。设置好 OpenRouter API Key 后,别忘了在同一设置页向下滚动,为您选定的模型启用推理功能(本教程将使用 Claude 4 Sonnet):

Roo Code 推理设置界面,显示最大 tokens 与最大思考 tokens 输入框

现在,您已经可以开始使用 Roo Code 了!

如何使用 Roo Code:7 个实用示例

本节将通过构建一个简单的 4x4 井字棋游戏来体验 Roo Code 的主要功能。该示例足够简单,便于低成本试验,同时也足够完整,能展示所有特性。

让我们开始吧!

配置自动批准

前文提到,Roo Code 允许您几乎完全掌控编码代理的行为。这一点贯穿 Roo Code 的所有特性——从自动批准设置开始:

Roo Code 自动批准设置,含细粒度权限配置

对自动批准进行精细控制非常重要,它让您决定哪些 AI 动作可以自动执行,哪些需要先经过您批准。您可以让例行操作(如小幅代码编辑)直接放行,同时将文件删除或终端命令等更重大动作保留为人工审核,以避免意外。

在 Roo Code 中使用不同模式

Roo Code 在 AI 驱动开发上的设计颇为用心,这使它有别于 Cursor 或 Windsurf。多数“代理化”IDE 在您描述需求后会立即进入执行模式,而 Roo Code 认识到,未经充分规划就一头扎进编码往往会带来问题。

我想用 Python 构建一个 4x4 的井字棋游戏,界面为简洁的终端界面。

游戏应支持两位玩家轮流下子,能检测行、列

与对角线的胜利,并能处理平局。界面应有配色,不只是黑白,但配色系统要极简。

请思考立即执行的弊端:代码可能与整体架构不符、仓促实现导致技术债、因缺少对需求的充分思考而遗漏边界情况。这些问题会随着时间累积,带来维护负担,并迫使您反复返工那些看似“已完成”的工作。

因此,Roo Code 提供了 不同的交互模式,对应软件开发的不同阶段:

  • Architect 模式:先规划与设计,再实施
  • Code 模式:编写、修改与重构代码
  • Ask 模式:获取解答与说明
  • Debug 模式:诊断并修复问题
  • Orchestrator 模式(回旋任务):跨多种模式协调任务
  • 自定义模式:构建您专用的角色,如文档撰写者或重构专家

您可以从左下角的下拉菜单切换模式,或在聊天输入框使用斜杠命令如 /ask、/architect、/debug、/code。我尤其喜欢有一个专门用于提问的模式,不会影响您的项目或代码——这是我在项目中经常需要的。在其他 IDE 中,这往往意味着切换到新聊天线程或使用 ChatGPT/Anthropic,频繁打断工作流。

Roo Code 中的 Architect 模式演示

这些模式并非同一代理的不同提示词变体。每个模式都由 Roo Code 团队预设了工具与访问权限。例如,Architect 模式对项目是只读的,而 Code 模式可使用编辑、终端命令与 MCP 等全部工具。

Roo Code 的 Architect 模式生成的示例待办清单

Debug 模式值得一提,它采用数理化的方法收敛可能的缺陷原因,并带有定制指令用于反思、提炼可能性、添加日志(LLM 很少主动做,除非被明确要求)并在修复前进行确认。

让这些模式更强大的附加特性:

  • 黏性模型:可为每个模式分配不同的 AI 模型,例如 Architect 用 o3、Code 执行用 Claude Sonnet 4(强力组合)。分配后,即使切换模式或重启 VS Code 也会保留。
  • 上下文感知切换:Roo 可根据上下文在任务中途请求切换模式,确保始终使用合适的工具。

Roo Code 希望在任务中途切换模式

  • 全面自定义:若内置模式不能满足需求,您可以微调其系统提示(不太建议)、添加自定义指令,或为特定任务构建完全定制的模式。详见 自定义模式文档,获取打造专用角色的详细说明。

Roo Code 生成的井字棋游戏示例

Roo 生成的最终游戏。位置参考网格看起来有点问题,因为所有 LLM 在终端中对计数与对齐都不太擅长。

使用配置档案

Roo Code 的另一项独特功能是可以创建自定义配置档案。交互模式决定代理的行为,而配置档案则在 API 层面进行定制,创建带有不同模型设置的多种 LLM 配置。

当您配置了如 OpenRouter 的提供方后,会在界面左下角的交互模式旁看到一个默认档案。打开设置可见,该默认档案包含您所选模型(如 Claude 4 Sonnet)的特定配置,包括推理上限、速率限制与温度参数。

在 Roo Code 中配置模型档案

点击加号可创建更多配置档案,之后可分配给不同交互模式。这带来了一些有趣的用法:

  • 为自定义的文档撰写模式选择 Gemini 2.0 Flash,配低温度,以便快速生成文档
  • 为 Architect 或 Debug 模式创建另一个思考 tokens 最大化的档案,以应对复杂的战略规划或顽固缺陷修复
  • 为创意任务与分析任务设置不同的温度参数
  • 为不同模型提供方配置专用档案,根据任务在 OpenAI、Anthropic 或本地模型间切换

能将特定模型与配置绑定到特定交互模式,是其他代理平台少有的掌控力。您可以用 o3 mini 负责架构规划,而由 Claude Sonnet 4 执行具体编码,各自配合最优设置。

代码库索引配置

Roo Code 允许您配置另一个多数代理编码平台不开放的能力:代码库索引。该功能支持自然语言查询,如“认证是如何处理的?”或“给我看看我们在哪里删除客户记录”,即使您不知道具体函数或文件名也行。

Roo Code 中的代码库索引设置

其他 IDE 往往对用户隐藏其嵌入提供方,Roo Code 则让您全面掌控代码库如何被索引与搜索。此透明度很重要,因为不同嵌入模型擅长的任务不同;您也许希望在敏感项目中使用本地处理,或为便利起见使用云方案。

该系统需要两个组件:

  • 一个嵌入提供方,将代码转换为可搜索的向量
  • 一个向量数据库,用于存储与检索这些向量

嵌入提供方可选:

  • Google Gemini(当前免费,推荐入门)
  • OpenAI(text-embedding 模型)
  • Ollama(完全本地运行)
  • 兼容 OpenAI 的提供方(如 Azure 部署)

向量数据库可选:

  • Qdrant Cloud,提供免费层用于试验
  • 本地 Qdrant,基于 Docker 以实现完全私有

两种方案都可零成本试用。

除选择提供方外,Roo Code 还允许微调搜索行为:

  • 搜索分数阈值:控制与查询的相似度要求。较低数值(0.15–0.3)返回更广的结果,便于探索;较高数值(0.6–0.8)仅给出精确匹配。默认 0.4 在精度与覆盖间取得平衡。
  • 最大搜索结果数:设置单次搜索返回的代码片段数量,以控制上下文规模,避免淹没 AI。

此类可配置性带来多重优势:

  • 语义搜索:按含义而非精确关键词查找代码
  • 跨项目发现:跨所有文件搜索,而非仅限当前打开的文件
  • 模式识别:定位项目中类似实现与代码模式
  • 隐私控制:借助 Ollama 与 Docker Qdrant 保持全本地,或为便利使用云提供方

索引系统会遵循项目中的 .gitignore 与 .rooignore 忽略规则,因此不会在 node_modules 等依赖目录上浪费时间。它还会监测文件变更并自动更新索引,让您的搜索在编码过程中始终保持最新。

配置上下文

上下文窗口可能是编码模型最重要的约束。窗口大小决定 AI 一次能考虑的信息量,直接影响其跨文件理解项目与做出合理决策的能力。

这也是为什么“上下文工程”至关重要——即设计进入模型上下文的信息流。同样地,Roo Code 允许您在较低层级控制哪些信息进入上下文、哪些不进入。

Roo Code 中的上下文管理设置

在设置中,有单独的面板用于配置上下文。您可以在其中配置:

  • 打开的标签页上下文上限:控制自动包含的打开文件数量
  • 工作区文件上下文上限:设置可读取的工作区文件最大数量
  • 并发文件读取上限:管理可同时处理的文件数
  • 单文件读取行数:限制每个文件读取的行数(-1 表示整文件)

Roo Code 中的上下文管理设置

在同一面板继续向下,您会看到一个选项,可自动触发智能上下文压缩。其原理是:当上下文窗口达到某一阈值时,会触发自定义的摘要提示(您可以自行编写),将上下文压缩为摘要,从而释放空间,继续对话与工作。

在 Cursor 或 Windsurf 等 IDE 中,一旦触及上下文上限,您必须切换到新聊天线程。这样会丢失当前线程的信息,或需手动搬运信息到新线程。

终端命令执行与配置

Roo Code 能自动连接 VS Code 内置终端,实时执行命令并读取输出。如您喜欢,也可使用更快的内联终端选项,直接在聊天界面显示结果。

虽然其他代理平台也支持终端执行,但 Roo Code 的自定义选项更胜一筹。 Shell 集成系统无需配置即可自动工作,并提供多种能力:

  • 执行命令并读取输出,无需手动复制粘贴
  • 自动检测并修复运行中应用的错误
  • 跟踪命令退出码与工作目录变更
  • 直接在聊天界面停止正在运行的命令

Roo Code 的内联终端

您可在设置中配置多项与终端相关的选项:

  • 终端输出上限:控制捕获并加入上下文的命令输出量(默认:500 行)
  • 压缩进度条输出:更干净地处理进度条等动态输出,仅展示最终状态而非每次更新
  • 禁用终端 Shell 集成:勾选(推荐)后,Roo 使用内联终端;不勾选则在 VS Code 终端面板中运行命令

该系统也能很好地处理复杂的 Shell 配置。若您使用带 Oh My Zsh 与 powerlevel10k 的 ZSH,或其他个性化配置,Roo Code 提供针对初始化较慢的 Shell 的特定解决方案与超时设置。Windows 的 PowerShell 与 WSL 也有专门选项。

易用性优化功能

除上述核心特性外,Roo Code 还包含多项贴心改进,令日常开发更顺手、更高效。

基于 @ 的上下文引用,便捷聚合信息

上下文 @ 引用提供了一种强大的方式,将特定信息直接纳入对话。您可在聊天输入中通过 @ 符号引用文件、文件夹、终端输出、git 提交、VS Code 问题,甚至图像。无需手动复制粘贴,就能为 Roo Code 精准提供所需上下文。

一键市场的 MCP 集成

Roo Code 提供强大的 MCP(Model Context Protocol)集成,并配有一键安装服务器的专用市场。虽目前市场选项有限,您可通过向 Roo Code 仓库提交 PR 来添加官方 MCP 服务器。由此,Roo Code 的能力可通过外部专用工具与服务大幅扩展,远超内置特性。

基于影子 Git 的检查点管理

检查点管理通过与现有代码并行运行的影子 Git 仓库实现。这为您的工作提供安全网,允许创建还原点与跟踪更改,而不影响正常的 Git 工作流。一旦开发中出现问题,您可以轻松回滚到先前状态。

聊天管理与成本追踪

专用的聊天管理窗口可按工作区、创建日期、tokens 使用量、上下文窗口占用与实际 API 成本对会话进行筛选,帮助您了解与控制 AI 开发成本,同时保持工作井然有序。

模式导入/导出与市场

您可以将自定义模式以文本文件导入/导出,方便团队成员共享编码实践。还提供独立的模式市场,您可将自建模式贡献出来,供他人一键导入。这有助于团队内方法标准化与共享成熟工作流。

内置提示词优化

聊天输入框中常驻的按钮可在发送前优化与改进您的提示词。您甚至可以在专用设置页编写自己的“提示词优化器”提示,以贴合您的需求与风格。

通过计算机使用启用浏览器操作

您可以在设置中启用通过“计算机使用”实现的浏览器操作。这样 Roo Code 就能直接与网页应用交互,为测试、网页抓取以及对基于浏览器工具的自动化互动打开可能性。

如需更多使用这些功能的指导,请参阅 Roo Code 文档中的 技巧与提示页面。

Cline 与 Roo Code 对比

Roo Code 与 Cline 同宗同源,但路径不同。Roo Code 实际上起初叫“Roo Cline”,是 原始 Cline 项目的一个分支。Roo Code 团队看到了 Cline 基础的潜力,但希望更进一步——摆脱对 LangChain 的依赖、提升性能,并加入多交互模式与深度自定义等特性。更名为“Roo Code”体现了更广阔的愿景与更清晰的开发者定位。

Cline 更强调简洁与合作,Roo Code 则追求掌控与灵活。Cline 的“人类在环”方式意味着每个动作都需批准——非常适合希望参与每个决策的开发者。Roo Code 则通过模式体系走了另一条路:您可在只规划的 Architect 模式、专注执行的 Code 模式或专门的 Debug 模式间切换。这种粒度同样延伸到从代码库索引提供方到终端输出上限的方方面面。

两者的功能集反映了不同理念:

  • Cline 优势:Plan & Act 分离、记忆库系统、设置更简单、活跃的 MCP 市场集成、每次调用工具后进行检查点管理
  • Roo Code 优势:多交互模式、配置档案、可定制代码库索引、适配复杂工作流的回旋任务、上下文压缩
  • 共有特性:开源、MCP 支持、检查点/版本控制、自定义规则、按用量计费

请根据您的开发风格与需求选择。若您希望有一个让您参与每次更改的直观 AI 搭档——适合谨慎、循序渐进的开发,或用于关键代码库——Cline 更合适。若您倾向于精细调校 AI 助手的行为、在不同工作模式间试验,或需要面向不同项目类型的专门配置,Roo Code 则更契合。两者都尊重您对开发过程的掌控,只是提供的自定义深度不同。

结语与延伸资源

Roo Code 更适合处理大型且复杂的项目的高阶用户,这类项目需要细致的上下文管理与对代理行为的精确控制。对于中小型项目或快速原型,Roo Code 的配置成本可能偏高。若您刚开始接触 AI 编码,我建议先从 Cline 这种更简洁的方案开始,或尝试 Cursor,它相当于把高级版 ChatGPT 直接带进了 VS Code。

当您已对 AI 编码代理有一定了解,并希望全面掌控工作流时,Roo Code 的效果最佳。只要项目需要诸如“按模式分配模型”“自定义代码库索引”或“回旋任务协调”等特性,投入时间学习其配置体系就很值得。

关于 AI 编码助手的更多资源,您可以查看:


Bexruz (Bex) Tuychiev's photo
Author
Bexruz (Bex) Tuychiev
LinkedIn

我是一名数据科学内容创作者,拥有超过 2 年的经验,并在 Medium 上拥有较大的读者群。我喜欢用略带讽刺的笔调撰写有关 AI 和机器学习的深度文章——毕竟总得想点办法让这些内容不那么枯燥。我已发表 130 多篇文章,并制作了一门 DataCamp 课程,另有一门正在筹备中。我的内容已被超过 500 万人次阅读,其中有 2 万人在 Medium 和 LinkedIn 上成为关注者。 

主题
人工智能
大语言模型

通过这些课程学习 AI!

课程

使用 Windsurf 的软件开发

1 小时 30 分钟
3.1K
借助 Windsurf 提升编码效率,这款 AI 驱动的 IDE 可帮助你更快构建、调试和部署。
查看详情开始课程

创建您的免费账户

实践并学习路径你的进步。

使用 Google 继续
继续操作即表示您接受我们的《使用条款》和《隐私政策》,并同意您的数据存储在美国。
查看更多