常见问题解答
本页面回答关于Roo代码的一些常见问题。
一般问题
什么是Roo代码?
Roo代码是一个AI驱动的自主编码代理,存在于您的编辑器中。
Roo代码如何工作?
Roo代码使用大型语言模型(LLM)来理解您的请求并将其转化为行动。它可以:
- 读取和写入项目中的文件
- 在VS Code终端中执行命令
- 执行网页浏览(如果启用)
- 通过模型上下文协议(MCP)使用外部工具
您通过聊天界面与Roo代码交互,提供指令并审查/批准其建议的操作。
Roo代码能做什么?
Roo代码可以帮助完成各种编码任务,包括:
- 根据自然语言描述生成代码
- 重构现有代码
- 修复错误
- 编写文档
- 解释代码
- 回答关于代码库的问题
- 自动化重复性任务
- 创建新文件和项目
Roo代码是免费的吗?
Roo代码扩展本身是免费和开源的。但是,Roo代码依赖外部API提供商(如Anthropic、OpenAI、OpenRouter、Requesty等)来实现其AI功能。这些提供商通常根据处理的令牌数量收取API使用费。您需要创建账户并从所选提供商处获取API密钥。详情请参阅设置您的第一个AI提供商。
使用Roo代码有哪些风险?
Roo代码是一个强大的工具,使用时需要负责任。需要注意以下几点:
- Roo代码可能会犯错。在批准Roo代码的建议更改前请仔细审查。
- Roo代码可以执行命令。对于允许Roo代码运行命令要非常谨慎,特别是如果您启用了自动批准。
- Roo代码可以访问互联网。如果您使用的提供商支持网页浏览,请注意Roo代码可能会访问敏感信息。
设置与安装
如何安装Roo代码?
请参阅安装指南获取详细说明。
支持哪些API提供商?
Roo代码支持多种API提供商,包括:
- Anthropic(Claude)
- OpenAI
- OpenRouter
- Google Gemini
- Glama
- AWS Bedrock
- GCP Vertex AI
- Ollama
- LM Studio
- DeepSeek
- Mistral
- Unbound
- Requesty
- VS Code语言模型API
如何获取API密钥?
每个API提供商都有自己的API密钥获取流程。请参阅设置您的第一个AI提供商获取各提供商的相关文档链接。
可以使用本地模型运行Roo代码吗?
可以,Roo代码支持使用Ollama和LM 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代码没有响应。该怎么办?
我看到错误消息。这是什么意思?
错误消息应提供有关问题的一些信息。如果不确定如何解决,请在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