Roo Code
免費增值
AI工具大全 AI編程工具

Roo Code

面向編輯器的多模式開源AI開發代理

標籤:

Roo Code是什麼?

Roo Code是一種運行在Visual Studio Code中的開源AI編程代理,其前身與Cline生態系相關,目前則由Roo Code團隊獨立維護。它將大型語言模型整合到編輯器中,讓使用者能以自然語言來分析專案、修改多個檔案、執行指令、除錯,以及拆分複雜任務。

Roo Code並非一個內建了固定模型的聊天插件。它負責處理工作流程、工具、上下文以及編輯相關的功能,而推論功能則由Roo Router、外部模型API、雲端網關或本地模型來提供。

多檔案代碼編輯

Roo可以讀取專案檔案、搜尋程式碼、建立新檔案,並進行精確的修改。每次使用此工具時,其操作結果都會顯示在對話框中,使用者可以檢視修改內容,然後選擇儲存或拒絕這些修改。

跨檔案修改適合新增功能、介面遷移、測試補齊和重構,但模型可能改變無關代碼。任務應寫明目標目錄、禁止修改項和驗收命令。

終端命令執行

代理可以在VS Code終端中執行安裝、建構、測試、Lint以及Git相關的指令,並根據輸出結果來進一步修正問題。使用者可以逐一批准這些操作,或者為特定的動作設定自動批准的功能。

自動批准會放大錯誤操作的風險。請勿對刪除、部署、套件管理器腳本以及包含生產環境憑證的命令授予無限制的權限,建議設定連續請求的上限。

Code模式

Code模式適用於一般的開發任務,可讓人讀取、編輯及執行指令,很適合用來直接開發功能、修正錯誤以及進行重構。它通常擁有相當完整的工程工具權限。

需求不明確時不要直接進入Code模式。先用Ask或Architect確認範圍,可以減少反覆修改和模型費用。

Architect模式

Architect模式側重於理解程式碼庫、設計方案、拆分任務以及評估技術選擇,並會限制直接編寫程式碼的功能。目前版本會自動選擇適當的搜尋與上下文工具,包括可用的語意檢索功能。

架構建議仍需結合專案限制、團隊經驗及真實效能數據。完成方案後可切換到Code模式實施。

Ask與Debug模式

Ask模式用於解釋代碼、回答技術問題以及閱讀專案內容,並不以撰寫為核心;而Debug模式則有助於分析日誌、錯誤堆疊、運行結果及可能的根本原因,並提出或執行驗證步驟。

調試時應提供最小復現、實際錯誤及環境版本。讓模型在缺乏證據時直接修改代碼,容易掩蓋真正原因。

自訂模式

使用者可以建立自訂模式,定義角色的職責說明、工具權限、檔案範圍以及專屬指令,例如安全審查人員、測試工程師、React組件開發者、文件編寫者或只讀審核者。專案級的模式則可以與儲存庫一起共享。

自訂模式應遵循最小權限原則,僅開放任務所需的工具。過長或相互衝突的指令會降低模型執行的穩定性。

任務拆分與子任務

Roo能夠建立子任務並指定其執行模式,讓複雜的任務能依照研究、規劃、實作和測試等階段來進行。歷史視圖則可以顯示出遞歸式的子任務樹結構,幫助使用者了解任務的分配情況。

多層委派會增加模型調用、上下文切換以及狀態遺失的風險。每個子任務都應有明確的輸入、輸出及停止條件。

待辦清單

複雜任務可使用待辦清單記錄待辦、進行中及已完成的步驟,減少長時間會談中遺漏工作的情況。代理人會結合清單持續推進任務。

Todo狀態僅是代理記錄,而非測試通過的證明。最終仍需以代碼差異、建構、測試及運行結果來進行驗收。

Checkpoints檢查點

Roo會使用獨立的影子Git倉庫來為工作區建立快照,這樣就不必依賴專案的主Git歷史記錄。使用者可以比較不同的快照,或是恢復到之前的狀態,這對於嘗試不同方案以及撤銷不滿意的修改非常有用。

檢查點會追蹤工作區中的檔案,且與用於限制 AI 讀取內容的 rooignore 規則是相互獨立的。大型倉庫、快取以及 Git LFS 中的內容都應被設定為排除對象,而檢查點也無法取代正式的版本控制與備份機制。

代碼庫索引

代碼庫索引透過嵌入與Qdrant向量資料庫建立語義檢索,協助代理人在大型專案中找到意義相關的實作。初次建立索引的成本較高,之後的增量更新則通常較為便宜。

該功能需要嵌入模型密鑰和Qdrant,並會額外產生儲存與推理成本。敏感代碼應確認向量資料庫的位置與訪問權限。

上下文引用

使用者可透過引用語法加入檔案、資料夾、終端機、錯誤清單及其他項目資訊,以避免模型做出錯誤推測。API設定檔還能讓使用者為不同的任務選擇不同的供應商、模型及參數。

加入整個資料夾會快速擴大上下文。優先提供介面、錯誤與相關檔案,避免將無關數據與金鑰傳送給模型。

MCP外部工具

Roo Code支援Model Context Protocol,可連接資料庫、API、文件、瀏覽器自動化以及自訂腳本。MCP伺服器可在全局或專案設定中進行管理,且這些工具也可被單獨啟用、停用或審核。

MCP伺服器在本地或遠端執行實際操作,安裝前必須審查來源、指令、網路及金鑰權限。專案設定不應包含明文令牌。

瀏覽器自動化變化

早期的Roo Code內建了Puppeteer瀏覽器工具,可用於打開網頁、進行點擊操作以及截圖。從3.48版本開始,這個內建瀏覽器工具已被移除,現在必須透過Playwright或其他MCP伺服器來執行瀏覽器相關的操作。

舊教學資料中的browser_action以及內建會話面板已不再適用於新版本。瀏覽器MCP同樣需要經過審核,並且要防止網頁中的惡意提示。

Marketplace市場

Roo Marketplace提供經過整理的MCP和模式,用戶可將其安裝到當前專案或全域環境中,用於擴展框架開發、文件管理、資料庫以及自動化功能。

被收錄並不等於沒有安全風險。安裝後應查看生成的配置檔案、依賴項目與工具權限,並鎖定可復現的版本。

支援的模型供應商

Roo Code支援Anthropic、OpenAI、Amazon Bedrock、Google Vertex AI、Gemini、DeepSeek、Moonshot、Mistral、OpenRouter、Requesty、Vercel AI Gateway、xAI、Z AI、LiteLLM以及與OpenAI相容的服務等。

供應商名單會隨版本增刪。3.48版已經移除部分低使用率的自內建設定表單,原有的憑證會保留,但需要遷移到其他網關或相容介面。

Roo Code Router

Roo Router提供免手動配置多個API密鑰的模型入口,用戶充值額度後選擇可用模型,推理則依據模型Token與當前路由價格來計算費用。它適合希望快速開始使用且需要統一結賬方式的用戶。

路由器並非固定月費即可無限使用。實際費用會受到模型、上下文、快取、推理Token以及任務呼叫次數的影響,最終的費用將以帳戶明細為準。

自備API密鑰

使用者可直接連接Anthropic、OpenAI、OpenRouter、Bedrock、Vertex等帳戶,由對應的供應商收取費用。API設定檔可支援為不同模式儲存不同的模型、基礎地址及速率限制。

金鑰會被儲存在 VS Code 的 Secret Storage 中,因此不會以明文形式顯示。不過,在導出、同步或使用插件時仍需格外小心。請勿將金鑰放入倉庫的設定檔中。

本地模型

Roo支援Ollama和LM Studio,可在本機或自有的伺服器上運行模型,從而減少將代碼傳送到第三方雲端的次數。Ollama的設定會讀取模型本身的上下文資料。

代理依賴可靠的原生工具調用,普通的聊天模型或不完全的 OpenAI 相容介面可能無法運作。長上下文模型還需要較大的記憶體和顯示記憶體。

VS Code模型API

實驗性的 VS Code Language Model API 允許 Roo 使用 GitHub Copilot 或其他擴充功能所提供的模型。可用的模型、配額以及價格皆由相關的擴充功能決定,Roo 無法直接控制這些成本。

該介面仍可能變化,不適合在未測試的情況下作為團隊唯一模型來源。

Roo Code使用教學

完成一次基礎任務

  1. 明確要在Roo Code中完成的代碼任務、倉庫範圍和驗收標準;
  2. 連接或導入測試專案,並先備份當前分支;
  3. 先使用多檔案代碼編輯生成計劃,再確認將修改的檔案;
  4. 使用終端命令執行小範圍改動;
  5. 運行測試、靜態檢查和建構,不直接接受未驗證的代碼;
  6. 人工檢查權限、金鑰、依賴與異常處理後再合併;

建立可重複使用的專業工作流

  1. 選取一個低風險真實專案作為模板;
  2. 固定多檔案代碼編輯、終端命令執行和Code模式的使用順序;
  3. 記錄環境、模型、提示和失敗條件;
  4. 為寫入、部署和刪除動作設定人工審批;
  5. 比較速度、成本、測試通過率及返工量;
  6. 驗證穩定後再擴展到團隊或生產環境;

成本顯示與限制

  • Roo會在對話歷史中顯示輸入、輸出、緩存以及部分推理Token的估算費用;
  • 用戶可設定自動批准的最多連續請求數,在達到上限時暫停並重新確認;
  • 顯示金額僅為估算,最終以供應商帳單為準;
  • 減少無關上下文、拆分任務、使用緩存和按難度選擇模型可以控制成本;

Roo Code CLI

該專案還提供了實驗性的 Roo CLI,可透過終端機來發起任務、恢復會話以及傳遞任務設定。目前的預發布版本需要 Node.js 20 或更高版本,且主要支援在 macOS Apple Silicon、Linux x64 和 ARM64 平台上運作。

CLI仍在快速變化,部分版本預設自動批准工具與命令,生產使用前應檢查當前參數並明確開啟人工批准。

安裝方式

最常用的方式是,在VS Code的擴充市場中安裝Roo Code,打開側邊欄後選擇模型供應商並設定金鑰。或者也可以從官方的GitHub Release下載VSIX,以便在離線環境或受控環境中進行部署。

企業應固定擴展版本、審查更新說明並透過VS Code策略統一配置。版本升級可能移除工具、供應商或改變審批行為。

Roo Code價格

VS Code的擴充功能本身是免費的,沒有必須購買的Pro訂閱服務。在使用外部API時,則需按照模型提供商所定的價格來支付費用。

Roo Router則採用額度與按用量扣費;本地模型需要自行承擔硬件與運維成本。

舊Cloud套餐和促銷模型資訊變化較快,目前官網已更多轉向自託管雲代理Roomote。購買前應以帳戶內實時模型單價及新產品頁面為準。

Roo Code Cloud與Roomote

Roo團隊的雲端代理方向正在演進為Roomote,它是一種可自托管、與模型無關的工程協作工具,能夠連接倉庫、Issue、監控及資料系統,在隔離環境中執行任務並回傳PR與預覽內容。

Roomote與本地的Roo Code擴展並非同一產品。其代碼採用延遲轉換為Apache 2.0的Fair Core許可證,不可將其誤標為與Roo Code擴展相同的純Apache開源授權。

GitHub與開源狀態

Roo Code的官方儲存庫採用Apache License 2.0授權條款,其原始碼、問題報告以及版本資料皆公開,使用者可依照該授權條款來使用、修改及散布此專案。該專案主要以TypeScript作為開發語言。

擴展開源並不代表連接的Claude、GPT、Gemini等模型也開源,也不代表Roo Router的推理是免費的。雲端Roomote有獨立的許可證。

隱私與安全

Roo會處理用戶提供的代碼、提示、終端輸出以及工具的運作結果,並將其傳送給所選定的模型供應商。該專案還提供可選的遙測功能,以及rooignore檔案,用以限制AI的讀取範圍。

忽略檔案無法阻止檢查點儲存相同的檔案,亦無法取代作業系統的權限設定。企業應同時設定模型資料政策、MCP允許清單、網路控制以及密碼掃描功能。

適合哪些用戶?

  • 希望能在 VS Code 中使用代理式程式設計的開發者;
  • 需要自由切換Claude、OpenAI、Gemini和本地模型的用戶;
  • 想用不同模式控制規劃、實現與調試權限的團隊;
  • 需要MCP連接資料庫、文件及瀏覽器工具的進階使用者;
  • 重視開源、檢查點及可配置審批流程的工程師。

產品優勢

  • Apache 2.0是開源的,且保持模型無關性;
  • 模式、子任務和工具權限配置靈活;
  • 支援多檔案編輯、終端、索引與檢查點;
  • MCP和Marketplace擴展外部能力;
  • 支援雲API、路由器及本地模型;
  • 可顯示Token與成本並限制自動呼叫。

限制與注意事項

  • Roo功能多、設定複雜,對完全不懂模型API和權限的新手有一定門檻;
  • 模型與MCP費用可能因長任務迅速增加;
  • 自動批准、實驗性CLI和外部MCP都可能執行危險操作;
  • 應使用Git分支、最小權限、請求上限、測試和人工審查;

常見問題

Roo Code免費嗎?

擴展免費開源;模型API、Roo Router額度及本地硬體由用戶承擔費用。

Roo Code支援Claude嗎?

支援直接連接 Anthropic,亦可透過 Bedrock、Vertex、OpenRouter 和其他網關來使用 Claude。

Roo Code支援本地模型嗎?

支援Ollama和LM Studio,但模型必須能可靠地支援原生工具調用。

Roo Code有瀏覽器功能嗎?

新版已移除內建瀏覽器工具,需要安裝Playwright等MCP伺服器來實現瀏覽器自動化。

Roo Code支援MCP嗎?

支持,可在全局或專案範圍配置伺服器,並分別控制工具啟用與審批。

Roo Code是開源的嗎?

開源,VS Code擴充功能採用Apache 2.0許可證;Roomote雲代理則使用不同的許可證。

©️版權聲明:若無特殊說明,本站所有文章版權均歸AI工具分享本網站的內容為原創作品,任何人或機構在未獲許可的情況下,都不得轉載、抄襲或以其他方式複製並發表本網站的內容,亦不得在非本網站所屬的伺服器上建立其鏡像版本。否則,本網站將依法追究相關責任人的法律責任。

類似於Roo Code的工具