ARTICLE DETAIL

资讯详情

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

Roo Code 3.1 版本解析:可定制模式提示词、DeepSeek-R1 与 Mistral 接入及 Diff 算法实验

Roo Code 3.1 版本解析:可定制模式提示词、DeepSeek-R1 与 Mistral 接入及 Diff 算法实验 Roo Code 3.1 版本解析可定制模式提示词、DeepSeek-R1 与 Mistral 接入及 Diff 算法实验【免费下载链接】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.1 于 2025-02-27 发布是围绕「可定制化」展开的一个完整发布周期它首次开放了 Code、Architect、Ask 等聊天模式的角色定义与指令定制能力重构了 Enhance Prompt 功能使其不再受提供商限制同时引入了 DeepSeek-R1、Mistral 与 VS Code Language Models含 Copilot等新提供商并带来自动批准聊天栏、实验性 Unified Diff 算法与大量质量改进。读完本文你将理解这些特性的配置入口、底层实现原理与使用场景能够直接上手定制自己的模式提示词、启用新模型提供商并借助源码级证据判断各功能的适用前提。发布周期概览3.1 系列由多个补丁版本组成本文档apps/docs/docs/update-notes/v3.1.md是其总览配套的 v3.1.0 发布说明 记录了首个版本的细节。整个周期可以归纳为四条主线主线引入版本核心内容可定制模式提示词v3.1.0自定义每个聊天模式的角色定义与指令重构 Enhance Promptv3.1.0任意提供商与 API 配置下均可使用提示词增强自动批准聊天栏v3.1.3聊天界面内快速批准工具调用实验性 Unified Diff 算法v3.1.7可在设置中开启的新的 diff 生成算法此外还有 DeepSeek-R1、Mistral、VS Code Language Models 三个新提供商接入以及配置档案Configuration Profile相关的多处修复。可定制聊天模式提示词v3.1.0这是 3.1 周期最具标志性的能力每个聊天模式Code、Architect、Ask的角色定义role definition与指令instructions都可以被自定义。两种定制入口Prompts 标签页在 Roo Code 顶部菜单栏点击记事本图标打开 Prompts 标签页在 Modes 标题下选择要定制的模式按钮在 Mode-specific Custom Instructions (optional) 文本框中输入指令点击 Done 保存。模式专属规则文件.clinerules-mode为特定模式例如 code在工作区根目录提供规则文件Roo Code 会自动加载并追加到系统提示词中。关于规则文件更完整的机制custom-instructions.md 中提供了详细的目录结构与加载顺序说明当前仓库采用目录优先的方案工作区级规则位于.roo/rules/与.roo/rules-{modeSlug}/单文件回退方案为.roorules与.roorules-{modeSlug}全局规则位于~/.roo/rules/与~/.roo/rules-{modeSlug}/Windows 为%USERPROFILE%\.roo\...。加载顺序为全局规则 → 项目规则冲突时项目规则优先模式专属规则先于通用规则加载。规则目录支持递归读取按文件名不区分大小写排序、自动排除缓存与临时文件如.DS_Store、*.bak、*.log、Thumbs.db并支持符号链接最大解析深度 5 层防止死循环。系统提示词中的合并格式自定义指令最终以固定格式注入系统提示词仓库文档给出了精确模板节选核心结构 USERS CUSTOM INSTRUCTIONS Language Preference: [Language preference if set] Global Instructions: [Global Instructions from Prompts Tab] Mode-specific Instructions: [Mode-specific Instructions from Prompts Tab for the current mode] Rules: # Rules from rules-{modeSlug} directories: [Contents of ALL files from ~/.roo/rules-{modeSlug}/ AND .roo/rules-{modeSlug}/ if they exist] # Rules from .roorules-{modeSlug}: [Contents of .roorules-{modeSlug} file if no mode-specific directories have files] # Rules from AGENTS.md: [Contents of AGENTS.md or AGENT.md from workspace root if present and enabled] # Rules from rules directories: [Contents of ALL files from ~/.roo/rules/ AND .roo/rules/ if they exist] # Rules from .roorules: [Contents of .roorules file if no general rules directories have files] 注意系统会聚合所有适用目录全局与工作区而非二选一模式专属规则是对通用规则的补充而非替换。仓库中的提示词测试快照如 code-mode-rules.snap、architect-mode-prompt.snap、prioritized-instructions-order.snap正是用来验证上述合并顺序与优先级的行为可作为阅读底层合并逻辑src/core/prompts/的切入点。提示若要与自定义模式组合使用可参考 custom-modes.mdx为不同模式配置专属的工具权限、文件限制与指令构建更细粒度的专用工作环境。重构的 Prompt Enhancementsv3.1.03.1 之前的 Enhance Prompt 功能受提供商限制而 v3.1.0 的重构使其在任何提供商与 API 配置下都能工作并且提示词本身完全可定制。从源码测试src/utils/tests/enhance-prompt.spec.ts可以看到该功能的实现契约未提供自定义增强提示词时使用内置默认提示模板提供自定义模板时模板中的${userInput}占位符会被替换为实际输入内容测试中customEnhancePrompt \n\n${userInput}最终以自定义提示 \n\n 用户输入的形式调用模型的completePrompt空输入会抛出 No prompt text provided缺少有效 API 配置会抛出 No valid API configuration provided提供商不支持提示增强未实现completePrompt会抛出 The selected API provider does not support prompt enhancement模型选择跟随当前配置的提供商测试中切换为 openrouter 配置后仍能正常工作。这解释了「任意提供商可用」的底层原理增强逻辑通过 single-completion-handler 调用当前 API 配置对应的 handler只要该 handler 实现了单次补全接口SingleCompletionHandler.completePrompt就可以完成一次独立的提示词改写请求不依赖特定厂商的专用接口模板的生成则依赖 support-prompt.ts 中的supportPrompt.create(ENHANCE, ...)。自动批准聊天栏v3.1.3v3.1.3 新增了自动批准Auto-Approve聊天栏用于加速交互当任务运行到需要工具调用或操作确认时可以直接在聊天界面内快速批准省去切换设置面板的步骤。它与既有的自动批准机制src/core/auto-approval/配合使用——该目录下包含 AutoApprovalHandler、tools、commands、mcp 等模块分别管理工具调用、命令执行与 MCP 操作的自动批准规则。聊天栏的引入让用户不必关闭自动批准也能保持对关键步骤的控制权。v3.1.4 至 v3.1.5 还修复了自动批准菜单本身的一些缺陷。实验性 Unified Diff 算法v3.1.7v3.1.7 引入了可选的实验性 Unified Diff 算法可在设置中开启用于替换原有的文件编辑 diff 生成路径。从源码src/core/diff/stats.ts可以看到这套 diff 工具的核心能力sanitizeUnifiedDiff清除 diff 中的非语义噪音如 No newline at end of file 标记并统一行尾为\ncomputeUnifiedDiffStats基于parsePatch解析 unified diff统计新增行与删除行-数量解析失败时返回null以表示无法统计convertNewFileToUnifiedDiff对新建文件生成完整补丁旧文件视为/dev/null零上下文全部行计为新增。该模块被 ApplyDiffTool 使用是扩展侧extension 后端的 diff 规范化与统计事实来源。开启实验性算法后ApplyDiff 产生的补丁将走这套 unified diff 处理管线由于是实验特性切换前建议先确认当前编辑器DiffViewProvider见 src/integrations/editor/DiffViewProvider.ts对补丁的渲染兼容性。提供商更新DeepSeek-R1 支持v3.1.7DeepSeek-R1 是 3.1 周期最重要的模型接入之一。实现位于 src/api/providers/deepseek.tsDeepSeekHandler继承自 OpenAI 兼容 handler关键实现点包括默认端点https://api.deepseek.com可通过deepSeekBaseUrl覆盖支持通过 Azure AI Inference 路径调用思考模式当模型 ID 包含deepseek-reasoner时请求中会附加thinking: { type: enabled }并在流式响应中把reasoning_content转换为reasoning类型的流块实现交错式思维链展示R1 格式消息转换调用 convertToR1Format 合并连续的同角色消息——DeepSeek 不支持相邻同角色消息对思考模型还会开启mergeToolResultText避免工具结果后的environment_details文本破坏reasoning_content的连续性用量统计重写processUsageMetrics将prompt_tokens_details.cache_miss_tokens与cached_tokens映射为缓存写入/读取 token为成本核算提供数据详见 cost.ts 相关聚合逻辑。Mistral 提供商v3.1.6Mistral 以独立 provider 形式接入实现在 src/api/providers/mistral.tsMistralHandler基于官方mistralai/mistralaiSDK自动路由模型 ID 以codestral-开头时走https://codestral.mistral.ai可用mistralCodestralUrl覆盖否则走https://api.mistral.ai工具调用函数工具转换为 Mistral 格式并强制toolChoice any以确保模型执行工具调用这符合 Agent 工作流的需求思考内容流式响应中的thinkingchunk 被转换为reasoning流块单次补全completePrompt过滤掉思考内容仅返回文本供 Enhance Prompt 等单次生成场景复用。VS Code Language Models实验性v3.1.2v3.1.2 起可实验性地使用 VS Code Language Models包括 Copilot。这一能力的落地涉及配置文件档案Configuration Profile——v3.1.2、v3.1.6、v3.1.7 连续修复了 VSCode LM 相关的档案保存与切换问题详见下文 Bug 修复部分。Glama 的 PKCE 支持v3.1.2为 Glama 提供商实现了 PKCE授权码 PKCEOAuth 流程支持增强了该提供商下的授权安全性。体验改进与界面优化从聊天中复制 Markdownv3.1.0聊天消息新增复制 Markdown 原文按钮方便把对话内容导出到文档或代码审查工具。模糊搜索改进v3.1.2增强 mentions、历史记录、模型列表中的模糊搜索匹配提升大量项目/模型场景下的查找效率。Light 主题视觉修复v3.1.1修复浅色主题下聊天输入框与设置界面的视觉错位问题。Bug 修复配置档案Configuration Profile修复v3.1.2 / v3.1.6 / v3.1.7连续多个版本处理档案保存与切换问题尤其是 VSCode LM 相关档案的稳定性保障了多套 API 配置之间的可靠切换。自动批准菜单修复v3.1.4 – v3.1.5修正自动批准菜单的交互与显示问题。VS Code Language Models 集成 Bugv3.1.3修复该集成的集成错误。其他改进VSCode 引擎要求升级v3.0.3要求的 VSCode 引擎版本更新为^1.84.0与 Cline 保持一致。这是安装扩展时的前提条件低于该版本会无法安装。o1 模型使用developer消息v3.1.2针对 o1 系列将系统提示词改为以developer角色发送适配 OpenAI 对该系列模型的角色要求。如何获取该版本3.1 系列的特性已并入后续主版本当前仓库的 CHANGELOG 位于根目录 CHANGELOG.md。若需安装或升级扩展请从 VS Code 扩展市场搜索 Roo Code 并按文档 getting-started 中的指引配置提供商与模型。需要注意的是文中涉及的实验性特性Unified Diff、VSCode LM与特定模型行为以对应版本的实际表现为准正式环境使用前建议先在独立工作区验证。各发布说明的完整目录位于 apps/docs/docs/update-notes/其中 v3.1.0.md 记录了 3.1 首个版本的单条发布说明可供追溯版本演进。【免费下载链接】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),仅供参考
返回列表