RooLite Tool System
1. 核心架构:两层工具体系#
RooLite 的工具系统分为两个层次,这种设计旨在提高效率和安全性:
- 基础工具 (Basic Tools):
- MCP 工具 (Model Context Protocol Tools):
2. 强制性的初始化和访问流程#
这是 Tool System 最重要的规则,确保了操作的规范性和安全性:
- 强制第一步: 在任何会话(Session)开始时,Roo 必须首先执行
read_file
来读取.tool_modules/tools_guide
。 - 目的: 这个强制性步骤确保了 Roo 在开始任何工作前,都明确知晓当前可用的基础工具及其使用方法。
- 按需加载: MCP 工具的指南 (
mcp_tools_guide
) 只有在基础工具无法满足需求时才会被加载。这种“懒加载”机制节省了资源和上下文(tokens)。
3. 标准化的 XML 工具接口#
所有工具的调用都必须遵循一个严格、统一的 XML 格式,这带来了极大的好处:
- 格式:
- MCP 工具的特殊格式: 调用 MCP 工具时,需要额外指定
server_name
和tool_name
。 - 优点:
4. 严格的访问控制和安全机制#
系统通过多重机制来保证安全和稳定:
- 核心规则 (CORE_RULES): 在系统提示(System Prompt)中定义了一系列不可违背的规则,如:
- 受保护的目录:
- 一次一工具: 每次交互只能调用一个工具,并且需要等待用户确认,这提供了强大的控制和监督能力。
5. 智能的工具选择策略#
系统提示中内置了一些最佳实践,指导 Roo 如何更高效地使用工具:
- 发现优先于读取: 先用
list_files
发现文件,再用read_file
读取具体文件。 - 差异优于覆盖: 对于已存在的文件,优先使用
apply_diff
进行增量修改,而不是用write_to_file
完全覆盖。 - 插入优于重写: 当向文件中添加代码时,优先使用
insert_content
。
6. 与操作模式的集成#
- 工具是基础: Tool System 是所有操作模式(
Architect
,Code
,DevOps
等)实现其专业能力的底层基础。 - 模式决定工具: 每个模式根据其自身的目标和限制,有权访问和使用不同的工具子集。例如:
总之,Tool System 是 RooLite 的引擎和骨架。它通过分层设计、强制流程、标准化接口和严格的访问控制,为上层的各种专业模式提供了一个既强大又安全可靠的能力平台。