Skip to main content

常见问题解答

本页面回答关于Roo代码的一些常见问题。


一般问题

什么是Roo代码?

Roo代码是一个AI驱动的自主编码代理,存在于您的编辑器中。

Roo代码如何工作?

Roo代码使用大型语言模型(LLM)来理解您的请求并将其转化为行动。它可以:

  • 读取和写入项目中的文件
  • 在VS Code终端中执行命令
  • 执行网页浏览(如果启用)
  • 通过模型上下文协议(MCP)使用外部工具

您通过聊天界面与Roo代码交互,提供指令并审查/批准其建议的操作。

Roo代码能做什么?

Roo代码可以帮助完成各种编码任务,包括:

  • 根据自然语言描述生成代码
  • 重构现有代码
  • 修复错误
  • 编写文档
  • 解释代码
  • 回答关于代码库的问题
  • 自动化重复性任务
  • 创建新文件和项目

Roo代码是免费的吗?

Roo代码扩展本身是免费和开源的。但是,Roo代码依赖外部API提供商(如AnthropicOpenAIOpenRouterRequesty等)来实现其AI功能。这些提供商通常根据处理的令牌数量收取API使用费。您需要创建账户并从所选提供商处获取API密钥。详情请参阅设置您的第一个AI提供商

使用Roo代码有哪些风险?

Roo代码是一个强大的工具,使用时需要负责任。需要注意以下几点:

  • Roo代码可能会犯错。在批准Roo代码的建议更改前请仔细审查。
  • Roo代码可以执行命令。对于允许Roo代码运行命令要非常谨慎,特别是如果您启用了自动批准。
  • Roo代码可以访问互联网。如果您使用的提供商支持网页浏览,请注意Roo代码可能会访问敏感信息。

设置与安装

如何安装Roo代码?

请参阅安装指南获取详细说明。

支持哪些API提供商?

Roo代码支持多种API提供商,包括:

如何获取API密钥?

每个API提供商都有自己的API密钥获取流程。请参阅设置您的第一个AI提供商获取各提供商的相关文档链接。

可以使用本地模型运行Roo代码吗?

可以,Roo代码支持使用OllamaLM Studio本地运行模型。请参阅使用本地模型获取说明。


使用

如何开始新任务?

打开Roo代码面板()并在聊天框中输入您的任务。请明确具体地说明您希望Roo代码做什么。最佳实践请参阅输入您的请求

Roo代码中的模式是什么?

模式是Roo代码可以采用的不同的角色,每个角色都有特定的重点和能力集。内置模式包括:

  • 代码:通用编码任务
  • 架构师:规划和技术领导
  • 问答:回答问题并提供信息
  • 调试:系统性问题诊断 您也可以创建自定义模式

如何切换模式?

使用聊天输入区域的下拉菜单选择不同的模式,或使用/命令切换到特定模式。

什么是工具以及如何使用它们?

工具是Roo代码与系统交互的方式。Roo代码会自动选择并使用适当的工具来完成您的任务。您不需要直接调用工具。每次使用工具时都会提示您批准或拒绝。

什么是上下文提及?

上下文提及是一种向Roo代码提供项目特定信息的方式,如文件、文件夹或问题。使用"@"符号后跟您想要提及的项目(例如@/src/file.ts@problems)。

Roo代码可以访问互联网吗?

可以,如果您使用的提供商模型支持网页浏览。请注意允许此功能的安全影响。

Roo代码可以在我的终端中运行命令吗?

可以,Roo代码可以在您的VS Code终端中执行命令。除非您启用了命令的自动批准,否则在执行每个命令前都会提示您批准。对于自动批准命令要极其谨慎。如果遇到终端命令问题,请参阅Shell集成指南进行故障排除。

如何向Roo代码提供反馈?

您可以通过批准或拒绝Roo代码的建议操作来提供反馈。您还可以使用反馈字段提供额外反馈。

可以自定义Roo代码的行为吗?

可以,您可以通过多种方式自定义Roo代码:

  • 自定义指令:提供适用于所有模式的通用指令,或特定于模式的指令
  • 自定义模式:创建具有定制提示和一些工具权限的自定义模式
  • .roorules文件:在项目中创建.roorules文件以提供额外指南
  • 设置:调整各种设置,如自动批准、差异编辑等

Roo代码有自动批准设置吗?

有,Roo代码有一些设置启用后会自动批准操作。了解更多这里


高级功能

可以离线使用Roo代码吗?

可以,如果您使用本地模型

什么是模型上下文协议(MCP)?

模型上下文协议(MCP)是一种允许Roo代码与外部服务器通信的协议,通过自定义工具和资源扩展其能力。

可以创建自己的MCP服务器吗?

可以,您可以创建自己的MCP服务器来为Roo代码添加自定义功能。详情请参阅MCP文档

什么是代码库索引?

代码库索引使用AI嵌入为您的项目创建语义搜索索引。这使得Roo代码能够基于含义而不仅仅是关键词来查找相关代码,从而更好地理解和导航大型代码库。

代码库索引的费用是多少?

代码库索引需要OpenAI API密钥来生成嵌入和Qdrant向量数据库进行存储。费用取决于项目大小和使用的嵌入模型。初始索引是最昂贵的部分;后续更新是增量的,成本低得多。


故障排除

Roo代码没有响应。该怎么办?

  • 确保您的API密钥正确且未过期
  • 检查您的互联网连接
  • 检查您选择的API提供商状态
  • 尝试重启VS Code
  • 如果问题仍然存在,请在GiteeDiscord上报告问题

我看到错误消息。这是什么意思?

错误消息应提供有关问题的一些信息。如果不确定如何解决,请在Discord寻求帮助。

Roo代码做了我不想要的更改。如何撤销?

Roo代码使用VS Code内置的文件编辑功能。您可以使用标准的"撤销"命令(Ctrl/Cmd + Z)恢复更改。此外,如果启用了实验性检查点,Roo可以恢复对文件所做的更改。

Roo代码无法写入markdown文件。出了什么问题?

如果Roo代码无法写入.md文件并出现"Failed to open diff editor"或"write_to_file tool failed"等错误,这通常是由VS Code扩展或干扰文件编辑的设置引起的:

常见原因:

  • 具有"保存时格式化"功能的扩展
  • 默认在预览模式下打开markdown文件的VS Code设置
  • Markdown Preview扩展或类似的markdown处理扩展

解决方案:

  • 禁用任何在保存时自动格式化文件的扩展
  • 从VS Code的settings.json中删除这些设置:
    "markdown.preview.openMarkdownLinks": "inPreview",
    "workbench.editorAssociations": {
    "*.md": "vscode.markdown.preview.editor"
    }
  • 临时禁用与markdown相关的扩展以测试是否是它们导致的问题
  • 更改这些设置后重启VS Code

如何报告错误或建议功能?

请在Roo代码的问题页面报告错误,在功能请求页面建议功能。