十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Roo Code 3.14 版本深度解析:Gemini 缓存、Boomerang 编排模式与文件编辑工具链升级

Roo Code 3.14 版本深度解析:Gemini 缓存、Boomerang 编排模式与文件编辑工具链升级 Roo Code 3.14 版本深度解析Gemini 缓存、Boomerang 编排模式与文件编辑工具链升级【免费下载链接】Roo-CodeRoo Code gives you a whole dev team of AI agents in your code editor.项目地址: https://gitcode.com/GitHub_Trending/ro/Roo-CodeRoo Code 3.14 是一组以“成本、效率与体验”为核心主题的重要更新它为 Gemini 系列模型带来了提示词缓存Prompt Caching能力将原先需要手工配置的 Boomerang Mode 正式内置为 Orchestrator 模式同时重构了文件编辑工具链引入search_and_replace、insert_content弃用append_to_file并首次加入俄语国际化支持。本文以官方 3.14 更新记录为骨架结合仓库源码与配套文档逐一解析这些更新的使用方式、配置细节与底层实现帮助你在升级后快速上手并规避已知的坑。一、Gemini 2.5 提示词缓存省钱的开关怎么用1.1 支持范围与使用前提从 3.14 起提示词缓存Prompt Caching对以下 Gemini 模型开放Gemini 1.5 FlashGemini 2.0 FlashGemini 2.5 Pro Preview对应可用的 Provider 为 Requesty、Google Gemini 与 OpenRouter。更新记录同时说明Vertex Provider 与Gemini 2.5 Flash Preview的缓存支持“即将到来”也就是说在当前版本中这两类通道尚不能使用该功能。1.2 手动缓存开关Google Gemini 与 OpenRouter 专属针对Google Gemini和OpenRouter两个 Provider设置界面新增了一个缓存复选框Provider Settings 中的 “Enable prompt caching”。勾选后后续请求将使用带提示缓存的模型以降低输入 token 的重复计费成本。为什么需要手动开关更新记录给出的原因很直白这是为规避 Google 缓存机制在这两个 Provider 通道上偶尔出现的响应延迟而提供的临时性变通方案。因此在默认情况下这两个 Provider不会自动启用缓存——你需要按需手动勾选。1.3 Requesty自动缓存与上面两个 Provider 不同Requesty通道对受支持模型保持自动缓存无需任何手动配置。如果你主要走 Requesty升级到 3.14 后缓存即默认生效。1.4 缓存的成本计算与源码印证缓存功能并非只影响请求发送还牵扯到费用统计。在 Gemini Provider 实现 中响应里读取usageMetadata.cachedContentTokenCount作为cacheReadTokens并将其计入请求轨迹trace的成本明细。随后的成本计算逻辑gemini.ts会将总输入 token 拆分为“未缓存输入”与“缓存读取”两部分未缓存输入按inputPrice计费缓存读取部分按cacheReadsPrice即缓存读取价格计费计算公式为cacheReadsPrice * (cacheReadTokens / 1_000_000)且在未定义cacheReadsPrice时按 0 处理。也就是说启用缓存后你会在成本统计中看到cacheRead独立成项方便直接对比“省下了多少输入 token 费用”。二、Boomerang Orchestrator 模式任务编排正式内置2.1 从自定义模式到内置模式此前“Boomerang Mode”需要用户通过自定义模式文件手动创建3.14 起它成为内置模式 OrchestratorBoomerang Mode。你不再需要任何自定义配置即可直接选用。内置模式的选择入口可从新主页的模式下拉列表中看到Code、Architect、Ask、Debug 等模式并列其中 Orchestrator 被勾选。仓库中还保留了一份该模式前身的完整自定义配置示例见 apps/docs/static/downloads/boomerang-tasks/roomodes.json其中定义了slug: boomerang-mode、roleDefinition战略工作流编排者与详细customInstructions可作为理解内置 Orchestrator 行为逻辑的参考蓝本。2.2 它解决什么问题编排Orchestration的核心价值在于“分工”拆解复杂任务把“构建一个完整功能”这类大目标拆成设计、实现、文档等聚焦子任务善用专用模式将子任务自动委托给最合适的模式如 Code、️ Architect、 Debug隔离上下文、保持专注每个子任务拥有独立的对话历史与上下文父任务不会被代码 diff、文件分析等执行细节淹没只需基于子任务返回的精炼摘要推进整体流程结果流转一个子任务的产出可作为下一个子任务的输入形成顺畅流水线例如架构决策直接喂给编码任务。2.3 工作流程父任务挂起 → 子任务执行 → 摘要回归处于 Orchestrator 模式时Roo 分析复杂任务并建议将其拆分为子任务父任务Orchestrator 模式暂停新子任务在另一个专用模式中启动子任务达成目标后通过attempt_completion工具报告完成父任务恢复只接收子任务的最终摘要并据此继续主流程。三个关键数据通道与new_task/attempt_completion两个工具的参数一一对应传递方向内容载体向下父→子初始指令中的全部必要上下文new_task的message参数向下父→子子任务使用的专用模式new_task的mode参数向上子→父子任务完成后的总结attempt_completion的result参数相关工具说明可查阅 new-task 文档 与 attempt-completion 文档。2.4 关键注意事项默认需要审批每个子任务的创建与完成默认都要你确认可通过 Auto-Approving Actions 设置自动化上下文不自动继承子任务完全隔离父任务上下文必须显式向下传递初始指令并显式回收最终摘要且只有摘要会回到父任务导航Roo 界面会展示任务层级谁是父、谁是子可在活跃任务与挂起任务之间切换刻意限制能力Orchestrator 模式默认不能读文件、写文件、调用 MCP 或执行命令——这是设计使然旨在防止其上下文被文件读取填满、从而偏离编排职责也有助于避免 context poisoning 引发的上下文污染。如果确实需要给 Orchestrator 模式加回“读文件”等能力可参考 custom-modes 配置优先级 的覆盖规则在命令面板选择“Edit Global Modes”粘贴一份带groups: [read]的同名orchestrator模式配置并保存即可完整 JSON 示例见 boomerang-tasks.mdx。注意此类扩展应谨慎为之否则会削弱其“专注编排”的默认定位。三、文件编辑工具链search_and_replace上线、insert_content上岗、append_to_file退役3.14 对文件编辑工具做了一次系统性梳理核心变更如下search_and_replace新工具在文件内按字面字符串或正则表达式查找并替换文本可选限定在指定行范围内执行insert_content新工具现已退役在文件指定位置或末尾插入新行不修改已有内容append_to_file弃用其职责由insert_content承接等价写法为insert_content的line: 0apply_diff兼容性增强对Google Gemini 2.5及其他模型的配合更好同时补上了更清晰的进度指示write_to_file兜底优化当因“缺失行数”导致写入失败时正确回滚变更并建议改用其他工具编辑后自动关文件apply_diff、insert_content、search_and_replace、write_to_file等编辑工具产生的文件在你审批变更后会被自动关闭避免编辑器被 Roo 打开的文件占满也让界面只保留你刻意打开的文件上下文更清晰。从源码结构看这些工具的实现与校验集中在 src/core/tools/ 目录例如工具用法的合法性校验位于 validateToolUse.tsapply_diff与write_to_file的完整说明可参见 apply-diff 文档 与 write-to-file 文档。迁移建议很明确如果此前习惯用append_to_file在文件头部插入内容3.14 之后请改用insert_content并传入line: 0。四、终端修复回退符与回车符的显示校正终端输出在 3.14 中得到了两处显示层面的修复退格符backspace改进了对终端输出中退格字符的处理输出展示更干净回车符carriage return修复了回车符处理使进度条progress bar能正确显示。这两处修复分别由 KJ7LNW 与 Yikai-Liao 贡献直接改善了长命令输出、进度动画等场景下的可读性。五、国际化俄语支持上线3.14 新增了**俄语Russian**语言支持。结合仓库现状Roo Code 的本地化资源位于 src/i18n/locales/ 与 package.nls.*.json 等文件中ru目录与package.nls.ru.json即对应本次新增的俄语语言包。用户可在 VSCode 语言设置中切换界面语言Roo Code 会随之应用对应的界面文案。六、Context Mentions引用图标的材料化升级上下文引用Context Mentions组件在 3.14 获得了一批体验优化均由 elianiva 贡献文件与文件夹的引用图标改用Material Icons修复了 Linux 上图标渲染的问题改进了aftercursor内容在 mentions 中的处理。这些改动让“在输入框中 引用文件/目录”时的视觉呈现与跨平台一致性更好。七、Footgun Prompting上下文变量插值与覆盖提示“Footgun Prompting”防止误操作的提示工程在 3.14 引入了两项能力上下文变量插值自定义系统提示词覆盖文件system prompt override中现在可以插入以下上下文变量使提示词随运行环境动态变化变量含义{{workspace}}当前工作区路径/信息{{mode}}当前使用的模式{{language}}当前语言{{shell}}当前终端 shell{{operatingSystem}}当前操作系统覆盖警告指示器当当前模式存在生效的系统提示词覆盖时聊天输入框会显示警告指示器提醒你“当前正被自定义提示词接管”避免在不知情的情况下触发非预期行为。八、MCP 与 Provider 侧更新8.1 MCP 调整支持在MCP 配置中注入环境变量修复将扩展拖拽到其他侧边栏时出现的 MCP hub 错误改进长 MCP 工具参数的显示。8.2 Provider 更新Amazon Bedrock允许使用 BedrockMarketplace ARNs由 mlopezr 贡献拓展了模型接入范围Requesty改进了模型列表拉取逻辑VS Code LM Provider现在能正确显示模型信息并移除了不必要的计算步骤Unbound Provider默认模型 ID 从claude-3.5-sonnet更新为claude-3.7-sonnet。九、杂项 Bug 修复与体验优化QOLlist_files更高效更智能地排除.git/等目录减少无关扫描任务体积计算性能提升token 估算更高效减少“灰屏”出现概率聊天行给出更好的加载反馈更合理的任务导出图标修复Windows 与 SSH 隧道场景下的文件拖放问题修复 “add to context” 代码操作的插值 bug修复恢复任务时冗余的 “TASK RESUMPTION” 提示修复编辑器没有工作区根目录时打开文件失败的问题切换 API Provider 时不再立刻报模型 ID 错误focusInput命令更可靠在 evals 中追踪工具使用错误webview 源文件改用路径别名对 FakeAI “controller” 对象处理更健壮保留编辑器状态、避免 diff 期间标签页被取消固定清理内部设置数据模型提升可维护性对不支持 reasoning 的模型API 调用中省略 reasoning 参数减少无效开销修正 Roo 消息标题的换行澄清了自定义设置相关文档的表述。十、升级建议与使用要点小结想省 Gemini 输入成本Google Gemini / OpenRouter 通道请手动勾选缓存开关Requesty 通道自动生效Vertex 与Gemini 2.5 Flash Preview需等待后续版本。想用任务编排直接切换到内置 Orchestrator模式即可无需再手动创建 Boomerang 自定义模式注意其默认“只编排、不执行细节”的能力边界必要时按配置优先级扩展。做文件编辑新代码优先使用apply_diff与search_and_replace在文件头部插入内容使用insert_contentline: 0替代已弃用的append_to_file编辑完成后文件会自动关闭保持工作区整洁。注意覆盖提示若输入框出现系统提示词覆盖警告请先确认当前模式的 prompt override 是否符合预期再继续操作。本版本变更的官方出处为 v3.14.md更细粒度的 3.14.0 变更清单见 v3.14.0.md如需了解 Orchestrator 模式的完整用法与 FAQ可直接阅读 boomerang-tasks.mdx。【免费下载链接】Roo-CodeRoo Code gives you a whole dev team of AI agents in your code editor.项目地址: https://gitcode.com/GitHub_Trending/ro/Roo-Code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表