Roo Code自定義Mode(模式)

什么是自定義模式?

簡單來說,自定義模式就像是給Roo Code穿上不同的"職業裝"。你可以創建針對特定任務或工作流程量身定制的模式,讓Roo在不同場景下表現出專業的行為。

這些模式分為兩種類型:全局模式(在所有項目中可用)和項目特定模式(僅在單個項目中定義)。這意味著你可以為不同的項目設置不同的Roo行為,比如為一個React項目設置前端開發模式,為一個Python項目設置數據分析模式。

探索社區模式庫

不想從頭開始創建模式?沒問題!Roo Code提供了一個市場,讓你可以一鍵瀏覽和安裝社區貢獻的模式。無論你是需要React開發、文檔編寫、測試還是其他專門任務的模式,都能在市場中找到由Roo Code社區創建和分享的解決方案。

這就像是有一個專門為開發者準備的"應用商店",里面充滿了各種能提升工作效率的神奇工具。

使用自定義模式有什么好處?

專業化

創建針對特定任務優化的模式,比如"文檔編寫者"、“測試工程師"或"重構專家”。每個模式都可以被訓練成特定領域的專家。

安全性

限制模式對敏感文件或命令的訪問權限。例如,你可以創建一個"審查模式",將其限制為只讀操作,防止意外修改重要文件。

實驗性

安全地試驗不同的提示和配置,而不會影響其他模式。這讓你可以大膽嘗試新想法,而不必擔心破壞現有工作流程。

團隊協作

與團隊分享自定義模式,標準化工作流程。這特別適合需要保持一致編碼風格和標準的開發團隊。

自定義模式包含什么?

理解自定義模式的關鍵屬性會幫助你更有效地定制Roo的行為:

  • Slug:模式的唯一內部標識符,用于引用模式,特別是關聯模式特定的指令文件
  • Name:在Roo Code用戶界面中顯示的名稱,應該具有可讀性和描述性
  • Description:在模式選擇器UI中顯示的模式目的簡短摘要
  • Role Definition:定義模式核心身份和專業知識的文本,放置在系統提示的開頭
  • Available Tools(group):定義模式允許使用的工具集和文件訪問權限
  • When to Use:(可選)為Roo的自動決策提供指導,特別是模式選擇和任務協調
  • Custom Instructions:(可選)模式的具體行為指南或規則

導入/導出模式:輕松分享和備份

Roo Code讓模式的分享和備份變得異常簡單。你可以將任何模式及其相關規則導出到單個便攜的YAML文件中,然后導入到任何項目中。

如何導出模式?

導出的過程非常簡單直觀,只需幾步就能將你的模式及其所有規則保存為一個獨立的 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.yaml</font>** 文件。

  1. 找到模式管理界面:首先,在Roo Code側邊欄中進入 “Modes” (模式) 視圖。這里會列出你所有的自定義模式和內置模式。
  2. 選擇目標模式:從列表中找到你想要分享或備份的那個模式,點擊選中它。
  3. 一鍵導出:點擊界面上的 導出模式(Export Mode) 按鈕(通常是一個下載圖標)。
  4. 保存文件:在彈出的窗口中,選擇一個你方便找到的位置來保存生成的 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.yaml</font>** 文件。

這時,Roo Code會做一件很貼心的事:它不僅僅會打包你在界面上配置的模式基本信息(如名稱、描述、權限等),還會自動搜尋并包含你項目目錄下(**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.roo/rules-{模式slug}/</font>**)所有為該模式編寫的特定規則文件。這一切都被整潔地封裝在一個文件里,非常適合版本管理和分享。

如何導入并使用?

拿到了別人分享的YAML文件,或者想恢復自己的備份?導入過程同樣輕松。

  1. 進入導入界面:同樣在 “Modes” (模式) 視圖下,找到并點擊 導入模式(Import Mode) 按鈕(通常是一個上傳圖標)。
  2. 選擇文件:在文件選擇器中,找到那份包含模式配置的 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.yaml</font>** 文件。
  3. 決定模式歸屬:這是關鍵一步!系統會彈出一個對話框,讓你選擇導入層級(Import Level)
    • 項目(Project):選擇此項,該模式將僅在當前項目/工作區中可用。它的配置會保存在項目根目錄的 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.roomodes</font>** 文件里,規則文件也會放在項目的 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.roo/</font>** 目錄下。這非常適合針對特定工程的環境配置。
    • 全局(Global):選擇此項,該模式將對你所有的項目生效。它的配置會保存在你的用戶全局設置中,規則文件也會存放在系統的全局Roo配置目錄(如 **<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">~/.roo/</font>**)。這適合那些你經常使用的通用型模式。

點擊確認后,模式就成功入駐你的Roo Code了,你可以立刻在模式選擇器中找到并使用它。

主要功能

  • 可分享的設置:將模式及其規則打包到一個文件中,輕松與團隊分享
  • 輕松備份:保存自定義模式配置,永不丟失
  • 項目模板:為不同類型的項目創建標準化模式模板
  • 簡單遷移:在全局設置和特定項目之間輕松移動模式
  • 靈活的Slug更改:在導出文件中更改模式slug,無需手動編輯路徑

實際應用場景

以前,你需要為每個新項目或團隊成員手動重新創建自定義模式,并復制.roo/rules-{slug}/文件夾。更改slug需要在YAML文件中手動更新路徑。

現在,只需單擊一下即可將模式及其所有規則導出到YAML文件。再單擊一下即可導入,自動設置所有內容。甚至可以在導出文件中更改slug,導入過程會自動處理所有路徑更新。

導入導出常見問題解答

1. 導入時出現“重名”模式會怎樣?

這是一個非常重要的問題!答案是:新的會覆蓋舊的

Roo Code使用一個叫**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">slug</font>**(標識符)的唯一字符串來區分不同的模式。如果你導入了一個模式,而其**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">slug</font>**與現有模式完全相同,那么現有模式的全部配置都會被導入文件中的新配置所替換。

這意味著什么?
操作前務必想清楚!如果你之前對一個同名模式做過自定義修改,這些修改將在導入后完全丟失。所以,在導入團隊分享的模式時,最好先溝通清楚,或者確認本地模式是否已無用處。

2. 全局導入和項目導入,我該怎么選?

這是決定模式適用范圍的關鍵選擇,兩者的區別非常簡單:

  • 全局導入(Global):選擇這個,該模式將在你所有VSCode項目中可用。它的配置保存在你的用戶個人目錄下,與單個項目無關。這非常適合那些“萬能”的通用模式,比如一個你在任何項目里都會用的“代碼注釋生成器”。
  • 項目導入(Project):選擇這個,該模式僅在當前打開的這個項目(工作區) 中生效。它的配置會保存在項目根目錄的一個名為**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.roomodes</font>**的文件里。這非常適合那些與特定項目強相關的模式,比如一個只能訪問本項目**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">src</font>**目錄的“安全審查模式”。

簡單記:全平臺通用選全局,單項目專用選項目

3. 內置模式也能導出和分享嗎?

當然可以! 但有一個重要的前提:只有當你對這個內置模式進行了自定義修改后,導出才有意義

Roo Code的原生內置模式(如Code、Architect)是每個人的標準配置。你直接導出一個沒修改過的內置模式并分享給隊友,隊友那邊本身就有一模一樣的內置模式,所以這個操作意義不大。

但如果你修改了內置模式的指令或權限(比如定制了你們團隊的“Architect”模式規范),那么導出功能就能完美地將你這些個性化定制打包分享出去。

4. 全局導入的模式,它的規則文件存到哪里去了?

這是一個很好的技術細節問題。規則文件并不會消失,只是換了個地方存放。

  • 項目模式的規則文件存儲在項目本身的**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">.roo/rules-{slug}/</font>**目錄下。
  • 全局模式的規則文件則會被轉移并存儲到你的用戶全局配置目錄中,路徑通常是**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">~/.roo/rules-{slug}/</font>**(例如:**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">~/.roo/rules-my-custom-mode/</font>**)。

這樣做的好處是保持了全局配置的整潔性,所有全局性的設置都集中在用戶目錄下,與具體項目分離。

5. 導入前能修改模式的名字(slug)嗎?如何操作?

能!而且這個功能非常實用! 它的工作流程如下:

  1. 你導出一個slug為**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">original-mode</font>**的模式,得到一個YAML文件。
  2. 你用文本編輯器打開這個文件,將里面的**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">slug</font>**字段值修改為**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">new-mode</font>**
  3. 你導入這個修改后的YAML文件。

此時,導入功能會自動處理后續所有事情:它會創建一個全新的模式**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">new-mode</font>**,并且會自動更新所有規則文件的內部路徑引用,讓它們與這個新**<font style="color:rgb(64, 64, 64);background-color:rgb(236, 236, 236);">slug</font>**匹配。你完全不需要手動去修改規則文件里的路徑,系統幫你搞定了一切。

創建和配置自定義模式的方法

1. 直接問Roo!(推薦)

最快創建基本自定義模式的方法就是直接讓Roo Code幫你完成。例如,你可以說:“創建一個名為’文檔編寫者’的新模式。它應該只能讀取文件和編寫Markdown文件。”

Roo Code會引導你完成整個過程,提示輸入所需信息,并使用首選的YAML格式創建模式。

2. 使用提示選項卡

打開提示選項卡,點擊模式標題右側的"新建"按鈕,填寫各個字段(名稱、slug、描述、保存位置、角色定義、可用工具和自定義指令),然后點擊"創建模式"按鈕。

3. 手動配置(YAML和JSON)

對于想要完全控制所有屬性的用戶,可以直接編輯配置文件來創建或修改自定義模式。Roo Code支持YAML(首選)和JSON格式。

YAML格式因其更好的可讀性、支持注釋、更清晰的多行字符串語法和更少的標點符號而成為首選格式。

customModes:- slug: docs-writername: 📝 Documentation Writerdescription: A specialized mode for writing and editing technical documentation.roleDefinition: You are a technical writer specializing in clear documentation.whenToUse: Use this mode for writing and editing documentation.customInstructions: Focus on clarity and completeness in documentation.groups:- read- - edit  # First element of tuple- fileRegex: \.(md|mdx)$  # Second element is the options objectdescription: Markdown files only- browser- slug: another-modename: Another Mode# ... other properties

JSON 格式示例:

{"customModes": [{"slug": "docs-writer","name": "📝 Documentation Writer","description": "A specialized mode for writing and editing technical documentation.","roleDefinition": "You are a technical writer specializing in clear documentation.","whenToUse": "Use this mode for writing and editing documentation.","customInstructions": "Focus on clarity and completeness in documentation.","groups": ["read",["edit", { "fileRegex": "\\.(md|mdx)$", "description": "Markdown files only" }],"browser"]},{"slug": "another-mode","name": "Another Mode"}]
}

模式特定指令:通過文件/目錄提供

除了使用customInstructions屬性外,你還可以通過工作區中的專用文件或目錄為自定義模式提供指令。這對于組織冗長或復雜的指令特別有用。

首選方法是使用目錄(.roo/rules-{mode-slug}/),你可以在其中放置一個或多個包含指令的文件。如果目錄不存在或為空,Roo Code會查找名為.roorules-{mode-slug}的單個文件。

覆蓋默認模式

你可以通過創建與默認模式相同slug的自定義模式來覆蓋Roo Code的內置模式(如💻 Code、🪲 Debug、? Ask等)。

這意味著你可以全局或項目特定地自定義默認模式的行為,比如限制文件訪問、為你的技術棧定制專業知識、添加自定義指令或更改可用工具。

理解正則表達式在自定義模式中的應用

正則表達式(fileRegex)提供了對文件編輯權限的細粒度控制。你可以創建模式來匹配文件路徑,從而精確控制哪些文件可以被編輯。

重要的是要注意在JSON字符串中,反斜杠(\)必須雙轉義(如\\.md$),而在YAML中,單個反斜杠通常就足夠了。

結語

Roo Code的自定義模式功能為開發者提供了前所未有的靈活性和控制力。無論你是想提高個人工作效率,還是希望標準化團隊工作流程,這些工具都能幫助你打造真正適合自己的AI編程助手。

通過合理利用自定義模式,你可以讓Roo Code成為你在不同開發任務中的專業合作伙伴,每個模式都像是一個專門為特定任務訓練的專業團隊成員。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97602.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97602.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97602.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Next.js渲染模式:SSR、SSG與ISR揭秘

Next.js 核心渲染模式深度解析&#xff1a;SSR、SSG 與 ISR 在構建現代 Web 應用時&#xff0c;性能和用戶體驗是至關重要的考量。Next.js 作為 React 生態中一個備受推崇的框架&#xff0c;其強大的服務端渲染&#xff08;SSR&#xff09;、靜態站點生成&#xff08;SSG&#…

Veo Videos Generation API 對接說明

本文介紹了如何對接 Veo Videos Generation API&#xff0c;通過輸入自定義參數生成Veo官方視頻。 下面將詳細闡述 Veo Videos Generation API 的對接流程。 申請流程 使用 API 前&#xff0c;需前往 Veo Videos Generation API 頁面申請服務。進入頁面后&#xff0c;點擊「…

YOLO 目標檢測:YOLOv3網絡結構、特征輸出、FPN、多尺度預測

文章目錄一、YOLOV31、網絡結構1.1 整體結構1.2 主干網絡1.3 特征輸出1.4 特征融合FPN&#xff08;Feature Pyramid Networks&#xff09;FPN 融合上采樣融合2、多尺度預測3、損失函數4、性能對比一、YOLOV3 YOLOv3&#xff08;You Only Look Once v3&#xff09;是YOLO系列中…

【GIS圖像處理】有哪些SOTA方法可以用于將1.5米分辨率遙感圖像超分辨率至0.8米精度的?

針對將1.5米分辨率遙感圖像超分辨率至0.8米的需求,當前主流方法可分為以下幾類,結合最新研究進展和實際應用場景,具體技術方案及SOTA方法如下: 一、基于Transformer的高效建模 1. Top-k標記選擇Transformer(TTST) 核心機制:通過動態選擇前k個關鍵標記(token),消除冗…

【電力電子】逆變器控制策略:PQ Droop下垂控制、電壓電流雙環控制與SPWM調制

逆變器中的 PQ Droop 控制。 1. PQ Droop 控制的定義 PQ Droop(有時也稱為功率下垂控制,Power Droop Control)是微電網、并聯系統或逆變器并網運行中常用的一種分布式功率控制方法。 P-Droop(有功下垂):通過調節逆變器輸出頻率與有功功率之間的關系實現功率分配。 Q-Dro…

【LeetCode 熱題 100】5. 最長回文子串——中心擴散法

Problem: 5. 最長回文子串 文章目錄整體思路完整代碼時空復雜度時間復雜度&#xff1a;O(N^2)空間復雜度&#xff1a;O(1)整體思路 這段代碼旨在解決經典的 “最長回文子串” (Longest Palindromic Substring) 問題。問題要求在一個給定的字符串 S 中&#xff0c;找到一個最長…

六、練習3:Gitee平臺操作

練習3&#xff1a;Gitee平臺操作 練習目標 掌握Gitee平臺的基本操作&#xff0c;包括創建倉庫、推送代碼、團隊協作等。 練習步驟 步驟1&#xff1a;Gitee賬號準備 訪問 gitee.com注冊賬號&#xff08;如果還沒有&#xff09;登錄Gitee 步驟2&#xff1a;配置SSH密鑰 # …

Git軟件版本控制

軟件版本控制作用&#xff1a;軟件源碼版本管理、多人協作開發、版本多分支開發、代碼回滾&#xff08;回退&#xff09;等功能。集中式版本控制&#xff1a;將代碼倉庫放在一臺服務器上&#xff0c;開發時要依賴這臺服務器。優點&#xff1a;簡單、方便管理、適合中小型項目缺…

生產環境Spark Structured Streaming實時數據處理應用實踐分享

生產環境Spark Structured Streaming實時數據處理應用實踐分享 一、業務場景描述 我們所在的電商平臺需要實時監控用戶行為數據&#xff08;如點擊、下單、支付等&#xff09;&#xff0c;基于事件級別的流式數據進行實時統計、會話聚合、漏斗分析&#xff0c;并將結果推送到Da…

海康相機開發---HCNetSDK

HCNetSDK&#xff08;Hikvision Network Software Development Kit&#xff09;是海康威視專為旗下安防監控設備打造的二次開發工具包&#xff0c;是連接上層應用與海康設備的核心橋梁。其封裝了設備底層通信協議&#xff08;包括私有協議與部分標準協議&#xff09;&#xff0…

構建無廣告私人圖書館Reader與cpolar讓電子書庫隨身攜帶

文章目錄前言&#xff1a;告別書荒&#xff0c;拯救靈魂的“摸魚神器”1、關于Reader&#xff1a;小而美的開源在線閱讀器2、Docker部署3、簡單使用reader和添加書源4.群暉安裝Cpolar工具5.創建reader閱讀器的公網地址6.配置固定公網地址前言&#xff1a;告別書荒&#xff0c;拯…

amd cpu是x86架構嗎

是的&#xff0c;AMD CPU屬于x86架構?&#xff0c;其64位擴展&#xff08;x86-64&#xff09;最初由AMD設計并成為行業標準。? ?AMD與x86架構的關系? ?技術淵源?&#xff1a;AMD自1976年起通過技術授權成為x86架構的合法制造商&#xff0c;與英特爾共同主導x86市場。2003…

vercel上線資源無法加載

背景&#xff1a;在本地跑開發服務器沒問題&#xff0c;但是部署到 vercel 上就有問題上一次出現類似問題是在更新游戲引擎方法后本地可以跑但是上線沒有成功&#xff0c;當時是因為 runner.html 是在部署時通過腳本從遠端倉庫拉取的&#xff0c;所以解決方案&#xff1a;1.更新…

Node.js 的模塊化規范是什么?CommonJS 和 ES6 模塊有什么區別?

目錄 一、為什么需要模塊化&#xff1f; 二、Node.js 的模塊化規范 三、CommonJS 模塊化 1. 基本語法 2. 特點 3. 缺點 四、ES6 模塊&#xff08;ESM&#xff09; 1. 基本語法 2. 特點 3. 在 Node.js 中的使用 五、CommonJS 和 ES6 模塊的區別 六、實際開發中的選擇…

設計模式:代理模式(Proxy Pattern)

文章目錄一、代理模式的定義二、實例分析三、示例代碼一、代理模式的定義 代理模式是一種結構型設計模式&#xff0c;它為某個對象提供一個代理或占位符&#xff0c;以控制對這個對象的訪問。簡單來說代理對象在客戶端和目標對象之間起到中介作用&#xff0c;客戶端并不會直接操…

數據類型序列化-封裝

/// <summary> /// 定義泛型接口 /// </summary> /// <typeparam name"T">T</typeparam> public interface ISettingValue<T> {/// <summary>/// value/// </summary>T DoubleValue { get; }/// <summary>/// key//…

PitVis-2023挑戰賽:內鏡下垂體瘤手術視頻中的手術流程識別|文獻速遞-深度學習人工智能醫療圖像

Title題目PitVis-2023 challenge: Workflow recognition in videos of endoscopic pituitary surgeryPitVis-2023挑戰賽&#xff1a;內鏡下垂體瘤手術視頻中的手術流程識別01文獻速遞介紹內鏡視覺挑戰賽與PitVis-2023挑戰賽背景及核心內容 “內鏡視覺&#xff08;EndoVis&#…

2025年8月個人工作生活總結

本文為 2025年8月工作生活總結。研發編碼 無處不在的AI 現在很多地方都在推AI&#xff0c;廣西的人工智能走在前列&#xff0c;要賦能各行各業。至于我&#xff0c;主要就是在寫點代碼&#xff0c;寫點交差的文檔。其實現在我已經有點分析哪些代碼哪些文字是AI寫的了。我工作用…

Dubbo常見面試題

1、默認使用的是什么通信框架&#xff0c;還有別的選擇嗎? 默認也推薦使用netty框架&#xff0c;還有mina。 2、服務調用是阻塞的嗎&#xff1f; 默認是阻塞的&#xff0c;可以異步調用&#xff0c;沒有返回值的可以這么做。 3、一般使用什么注冊中心&#xff1f;還有別的…

簡單的加密算法

// 加密函數&#xff08;32位版本&#xff09; //這里的 data 是ID&#xff0c; dword encrypt(dword data, dword key, int shift) {data ^ key; // 第一步&#xff1a;異或混淆// 循環左移&#xff08;shift范圍1-31&#xff09;return (data << sh…