Roo Code
Mehrmodes-Open-Source-AI-Entwicklungs-Agent für Editor
Tags:AI-ProgrammierwerkzeugeWas ist Roo Code?
Roo Code ist ein Open-Source-AI-Programmieragent, der in Visual Studio Code läuft. Seine Ursprünge liegen in der Cline-Ecosystem, doch derzeit wird er von dem Roo Code-Team unabhängig gewartet. Er ermöglicht es, große Sprachmodelle in den Editor einzubinden, sodass Nutzer Projekte in natürlicher Sprache analysieren, mehrere Dateien bearbeiten, Befehle ausführen, Fehler beheben und komplexe Aufgaben aufteilen können.
Roo Code ist kein Chat-Plugin mit einem eingebauten, festen Modell. Die Erweiterung ist für die Verwaltung von Workflows, Tools, Kontexten und Bearbeitungen zuständig; die Empfehlungen werden vom Roo Router, externen Modell-APIs, Cloud-Gateways oder lokalen Modellen bereitgestellt.
Mehrfachdatei-Code-Editor
Roo kann Projektdateien lesen, im Code suchen, neue Dateien erstellen und präzise Änderungen vornehmen. Jeder Aufruf des Tools wird im Dialog angezeigt, sodass der Benutzer die Unterschiede überprüfen, eine Gruppe von Änderungen speichern oder ablehnen kann.
Übergeordnete Dateiänderungen eignen sich für die Hinzufügung neuer Funktionen, den Umzug von Schnittstellen, das Ergänzen von Tests sowie die Refaktorisierung, können aber unverwandten Code verändern. Die Aufgabe sollte den Zielordner, die zu vermeidenden Änderungen sowie die Freigabekommandos angeben.
Ausführung von Terminal-Befehlen
Der Agent kann in der VS Code-Terminal-Befehlszeile Befehle für Installation, Kompilierung, Testing, Linting und Git ausführen und anhand der Ausgaben weiterhin Korrekturen vornehmen. Der Benutzer kann Aufträge einzeln genehmigen oder automatische Genehmigungen für bestimmte Aktionen konfigurieren.
Die automatische Genehmigung erhöht das Risiko von Fehlbedienungen. Geben Sie keine unbegrenzten Berechtigungen für Löschvorgänge, Bereitstellungen, Skripte des Paketmanagers sowie Befehle mit Produktionsdaten. Es wird empfohlen, Obergrenzen für aufeinanderfolgende Anfragen festzulegen.
Code-Modus
Der Code-Modus ist für herkömmliche Implementierungsaufgaben konzipiert und ermöglicht das Lesen, Bearbeiten und Ausführen von Befehlen. Er eignet sich zur direkten Entwicklung von Funktionen, zum Beheben von Fehlern sowie zur Umstrukturierung. In der Regel verfügt er über umfassende Rechte für Entwicklungswerkzeuge.
Gehen Sie nicht direkt in den Code-Modus, wenn die Anforderungen unklar sind. Bestimmen Sie zunächst mit „Ask“ oder „Architect“ den Umfang – so können wiederholte Änderungen sowie die damit verbundenen Kosten reduziert werden.
Architekt-Muster
Das Architect-Muster zielt darauf ab, Codebibliotheken, Designkonzepte, Aufgabenaufteilung sowie technische Auswahlmöglichkeiten zu verstehen, und beschränkt standardmäßig die Möglichkeit, direkt Code zu schreiben. Die aktuelle Version wählt intelligent Such- und Kontextwerkzeuge aus, einschließlich verfügbarer semantischer Suche.
Architekturvorschläge müssen weiterhin mit den Projektbeschränkungen, der Teamerfahrung sowie den tatsächlichen Leistungsdaten abgestimmt werden. Nach Fertigstellung des Plans kann auf den Code-Modus umgeschaltet werden, um die Umsetzung durchzuführen.
Ask- und Debug-Modus
Der Ask-Modus dient dazu, Code zu erklären, technische Fragen zu beantworten und Projekte zu durchlesen – er ist nicht auf das Schreiben ausgerichtet. Der Debug-Modus hingegen hilft dabei, Protokolle, Fehlermeldungen, Ausführungsergebnisse sowie mögliche Ursachen zu analysieren und prüft Schritte zur Überprüfung vor oder führt diese aus.
Bei der Fehlersuche sollten minimale Replikationsbedingungen, der tatsächliche Fehler sowie die Umgebungsversion bereitgestellt werden. Wenn das Modell ohne Beweise direkt den Code ändert, kann dies die wahren Ursachen verbergen.
Benutzerdefiniertes Muster
Benutzer können benutzerdefinierte Muster erstellen, in denen sie Beschreibungen von Rollen, Berechtigungen für Tools, Dateibereiche sowie spezielle Befehle definieren können – beispielsweise für Sicherheitsprüfungen, Testingenieure, React-Komponenten, Dokumentenautoren oder nur-Lese-Prüfer. Projektbezogene Muster können mit dem Repository geteilt werden.
Bei benutzerdefinierten Modellen sollte das Prinzip der Minimalberechtigung eingehalten werden – es sollten nur die Tools bereitgestellt werden, die für die Ausführung der Aufgabe notwendig sind. Zu lange oder widersprüchliche Anweisungen können die Stabilität der Modellausführung beeinträchtigen.
Aufteilung von Aufgaben in Unteraufgaben
Roo kann Unteraufgaben erstellen und Muster festlegen, damit komplexe Aufgaben in den Phasen Forschung, Planung, Umsetzung und Testung vorangetrieben werden können. Die Historikansicht zeigt einen rekursiven Baum der Unteraufgaben an, um den Nutzern die Zuweisungskette zu verdeutlichen.
Mehrschichtige Delegation erhöht das Risiko für Modellaufrufe, Kontextwechsel und Verlust von Zuständen. Jede Unteraufgabe sollte klare Eingangs-, Ausgangs- und Beendigungsbedingungen haben.
To-Do-Liste
Für komplexe Aufgaben kann eine To-Do-Liste verwendet werden, um zu erledigende, laufende und abgeschlossene Schritte zu verzeichnen – so wird das Vergessen von Aufgaben während langer Sitzungen vermieden. Der Agent setzt die Arbeit anhand der Liste fort.
Der Todo-Zustand ist lediglich ein Protokoll des Agenten, kein Nachweis für die Bestehen der Tests. Letztendlich muss die Akzeptanz anhand von Codeunterschieden sowie den Ergebnissen der Kompilierung, Tests und Ausführung erfolgen.
Checkpoints – Kontrollpunkte
Roo erstellt Snapshots der Arbeitsumgebung mithilfe eines eigenständigen, separaten Git-Repositorys – unabhängig von der Haupt-Git-Geschichte des Projekts. Benutzer können diese Checkpoints vergleichen oder wiederherstellen, was es ermöglicht, verschiedene Ansätze auszuprobieren und unerwünschte Änderungen rückgängig zu machen.
Checkpoints überwachen die Dateien im Arbeitsbereich und sind unabhängig von den rooignore-Regeln, die die Lesung durch KI einschränken. Große Repositorien, Caches sowie Inhalt von Git LFS sollten ausgeschlossen werden; Checkpoints können auch keine Ersatzlösung für eine ordnungsgemäße Versionskontrolle und Sicherung darstellen.
Codebibliotheks-Index
Der Codebibliotheks-Index erstellt durch Einbettung und die Qdrant-Vektordatenbank eine semantische Suche, die es den Agenten ermöglicht, in großen Projekten bedeutungsgleiche Implementierungen zu finden. Die Erstellung des Indexes ist beim ersten Mal aufwändig, während nachfolgende inkrementelle Aktualisierungen in der Regel günstiger sind.
Diese Funktion erfordert die Einbettung von Modell-Schlüsseln und Qdrant und verursacht zusätzliche Kosten für Speicherung und Berechnung. Sensitive Code-Teile sollten die Lage der Vektor-Datenbank sowie die Zugriffsrechte festlegen.
Zitat aus dem Kontext
Benutzer können mithilfe der Zitatsyntax Informationen zu Dateien, Ordnern, der Konsole, Fehlerlisten und anderen Elementen hinzufügen, um Spekulationen des Modells zu vermeiden. Die API-Konfigurationsdatei ermöglicht außerdem die Auswahl unterschiedlicher Anbieter, Modelle und Parameter für verschiedene Aufgaben.
Das Hinzufügen des gesamten Verzeichnisses erweitert den Kontext schnell. Es werden vorrangig Schnittstellen, Fehlermeldungen und relevante Dateien bereitgestellt, um zu vermeiden, dass uner relevante Daten sowie Schlüssel an das Modell gesendet werden.
externe MCP-Tools
Roo Code unterstützt das Model Context Protocol und ermöglicht die Verbindung zu Datenbanken, APIs, Dokumenten, der Automatisierung von Browsern sowie die Nutzung von benutzerdefinierten Skripten. MCP-Server können in der globalen oder projektbezogenen Konfiguration verwaltet werden; die Tools können einzeln aktiviert, deaktiviert oder freigegeben werden.
Der MCP-Server führt die tatsächlichen Operationen lokal oder über die Ferne aus; vor der Installation müssen Quelle, Befehle, Netzwerk und Schlüsselrechte überprüft werden. Die Projektkonfiguration sollte keine klaren Tokens enthalten.
Veränderungen bei der Automatisierung von Browsern
In frühen Versionen von Roo Code war das Puppeteer-Browserwerkzeug bereits enthalten, mit dem Webseiten geöffnet, darauf geklickt und Screenshots erstellt werden konnten. Ab Version 3.48 wurde dieses eingebettete Browserwerkzeug entfernt; heute müssen Browseroperationen über Playwright oder andere MCP-Server durchgeführt werden.
Die in den alten Anleitungen beschriebenen Funktionen „browser_action“ sowie das integrierte Session-Panel sind in den neuen Versionen nicht mehr verfügbar. Auch der Browser-MCP erfordert eine Genehmigung und schützt vor bösartigen Anzeigen auf Webseiten.
Marketplace-Markt
Roo Marketplace bietet strukturierte MCPs und Vorlagen, die von Benutzern in ihr aktuelles Projekt oder die globale Umgebung eingebunden werden können, um die Funktionalitäten für Framework-Entwicklung, Dokumentation, Datenbanken und Automatisierung zu erweitern.
In die Liste aufgenommen zu sein bedeutet nicht, dass es keine Sicherheitsrisiken gibt. Nach der Installation sollten die erstellten Konfigurationsdateien, Abhängigkeiten sowie Rechte der Tools überprüft werden, und eine reproduzierbare Version gespeichert werden.
Unterstützte Modellanbieter
Roo Code unterstützt Anthropic, OpenAI, Amazon Bedrock, Google Vertex AI, Gemini, DeepSeek, Moonshot, Mistral, OpenRouter, Requesty, Vercel AI Gateway, xAI, Z AI, LiteLLM sowie OpenAI-kompatible Dienste.
Die Liste der Anbieter wird mit den Versionen hinzugefügt oder entfernt. In der Version 3.48 wurden einige intern eingebettete Konfigurationsformulare mit geringer Nutzung entfernt. Die ursprünglichen Anmeldeinformationen bleiben bestehen, müssen jedoch auf ein anderes Gateway oder eine kompatible Schnittstelle übertragen werden.
Roo Code Router
Der Roo Router bietet eine Methode, bei der keine manuelle Konfiguration mehrerer API-Schlüssel erforderlich ist. Nach dem Aufladen des Kontos kann der Nutzer das gewünschte Modell auswählen; die Berechnung erfolgt anhand des Tokens des jeweiligen Modells sowie des aktuellen Tarifs für die Routing-Dienste. Er eignet sich für Nutzer, die schnell starten möchten und eine einheitliche Abrechnung wünschen.
Ein Router bietet keinen unbegrenzten Zugang zu einem festen Monatsbeitrag. Die tatsächlichen Kosten hängen vom Modell, vom Kontext, vom Cache, von den Inference-Tokens sowie von der Anzahl der ausgeführten Aufgaben ab. Die endgültige Rechnung richtet sich nach den Angaben im Kontoauszug.
Eigene API-Schlüssel mitbringen
Benutzer können sich direkt mit Konten von Anthropic, OpenAI, OpenRouter, Bedrock, Vertex usw. verbinden, wobei die jeweiligen Anbieter eine Gebühr erheben. Die API-Konfigurationsdateien ermöglichen es, für verschiedene Modi unterschiedliche Modelle, Basisadressen sowie Geschwindigkeitsbeschränkungen zu speichern.
Der Schlüssel wird im VS Code Secret Storage gespeichert und wird nicht in Klartext angezeigt. Dennoch ist bei der Exportierung, Synchronisierung sowie im Plugin-Umfeld Vorsicht geboten. Übergeben Sie Token nicht in die Repository-Konfiguration.
Lokales Modell
Roo unterstützt Ollama und LM Studio und ermöglicht es, Modelle lokal oder auf eigenen Servern auszuführen, wodurch der Versand von Code an Drittanbieter-Cloud-Dienste reduziert wird. Die Konfiguration von Ollama liest das eigene Kontextfenster des Modells.
Agenten sind von zuverlässigen Aufrufen nativer Tools abhängig; herkömmliche Chat-Modelle oder unvollständige OpenAI-kompatible Schnittstellen funktionieren möglicherweise nicht. Modelle für lange Texte benötigen außerdem viel Speicher und Grafikspeicher.
VS Code-Modell-API
Die experimentelle VS Code Language Model API ermöglicht es Roo, Modelle zu nutzen, die von GitHub Copilot oder anderen Erweiterungen bereitgestellt werden. Die verfügbaren Modelle, Quoten sowie Preise werden von den jeweiligen Erweiterungen festgelegt – Roo hat keinen direkten Einfluss auf die Kosten.
Diese Schnittstelle kann sich weiterhin ändern und eignet sich daher nicht als einzige Quelle für das Modell im Team, solange sie nicht getestet wurde.
Anleitung zur Verwendung von Roo Code
Eine grundlegende Aufgabe erledigen
- Klare Definition der in dem Roo-Code zu erledigenden Programmieraufgaben, des Scope des Repositories sowie der Akzeptanzkriterien;
- Verbinden oder importieren Sie das Testprojekt und erstellen Sie zunächst eine Sicherungskopie der aktuellen Branch.
- Erst wird mit einem mehrdateibasierten Code-Editor ein Plan erstellt, anschließend werden die zu ändernden Dateien überprüft;
- Verwenden Sie Terminal-Befehle, um kleine Änderungen durchzuführen;
- Ausführen von Tests, statischen Überprüfungen und der Kompilierung – unüberprüfter Code wird nicht direkt akzeptiert;
- Manuelle Überprüfung von Berechtigungen, Schlüsseln, Abhängigkeiten und Fehlerbehandlung vor der Kombination;
Erstellung wiederverwendbarer professioneller Workflows
- Wählen Sie ein real existierendes Projekt mit niedrigem Risiko als Vorlage aus;
- Festlegung der Reihenfolge für die Code-Editierung mit mehreren Dateien, die Ausführung von Terminal-Befehlen und die Verwendung des Code-Modus;
- Erfassen von Umgebung, Modellen, Hinweisen und Fehlbedingungen;
- Manuelle Freigabe für Schreib-, Bereitstellungs- und Löschvorgänge einrichten;
- Vergleichen Sie Geschwindigkeit, Kosten, Testbestehensrate und Anzahl der Nacharbeiten;
- Erst nach Überprüfung der Stabilität auf Team- oder Produktionsumgebung ausweiten;
Kostenanzeige und -beschränkungen
- Roo zeigt im Dialogverlauf die Eingaben, Ausgaben, den Cache sowie eine Schätzung der Kosten für einige Inferenz-Tokens an;
- Der Benutzer kann die maximale Anzahl an aufeinanderfolgenden Anfragen festlegen, die automatisch genehmigt werden dürfen. Wenn diese Grenze erreicht ist, wird die Genehmigung vorübergehend ausgesetzt und erneut bestätigt.
- Der angezeigte Betrag ist nur eine Schätzung, der endgültige Betrag richtet sich nach der Rechnung des Anbieters.
- Durch die Reduzierung von irrelevanten Kontexten, die Aufteilung von Aufgaben, den Einsatz von Caching sowie die Auswahl von Modellen nach Schwierigkeitsgrad lässt sich die Kostenkontrolle gewährleisten.
Roo Code CLI
Das Projekt bietet außerdem die experimentelle Roo CLI, mit der Aufgaben über die Terminalanzeige gestartet, Sessions wiederhergestellt sowie Aufgabekonfigurationen übertragen werden können. Die aktuelle Vorabversion erfordert Node.js 20 oder neuer und ist hauptsächlich für macOS Apple Silicon sowie Linux x64 und ARM64 verfügbar.
Die CLI entwickelt sich weiterhin rasant – in einigen Versionen werden Tools und Befehle standardmäßig automatisch genehmigt. Vor der Verwendung in der Produktion sollten die aktuellen Parameter überprüft werden, und eine manuelle Genehmigung muss explizit aktiviert werden.
Installationsmethode
Die gängigste Methode ist es, Roo Code über den VS Code Extension Market zu installieren. Nachdem die Seitenleiste geöffnet wurde, wählt man den Anbieter des Modells aus und konfiguriert den Schlüssel. Alternativ kann man auch eine VSIX-Datei von den offiziellen GitHub-Releases herunterladen, um eine Offline- oder kontrollierte Installation durchzuführen.
Unternehmen sollten feste Erweiterungsversionen festlegen, die Update-Beschreibungen überprüfen und die Konfiguration über VS Code-Strategien standardisieren. Versionserhöhungen können Tools entfernen, Anbieter wechseln oder das Genehmigungsverhalten ändern.
Roo Code-Preis
Die VS Code-Erweiterung selbst ist kostenlos – es gibt keine obligatorische Pro-Mitgliedschaft, die man erwerben muss. Bei der Verwendung externer APIs werden die Kosten gemäß den Preisen des Anbieters berechnet.
Der Roo Router verwendet eine Gebührenstruktur nach festen Limits sowie nach Verbrauch; das lokale Modell muss die Kosten für Hardware und Wartung selbst tragen.
Die Informationen zu den alten Cloud-Paketen und -Aktionen ändern sich schnell. Die aktuelle Website konzentriert sich zunehmend auf den selbst gehosteten Cloud-Proxy Roomote. Vor dem Kauf sollten die aktuellen Preise pro Modell in dem Konto sowie die Informationen auf der Seite zu den neuen Produkten herangezogen werden.
Roo Code Cloud und Roomote
Die Cloud-Proxy-Lösung des Roo-Teams entwickelt sich weiter zu Roomote – einem selbstverwaltbaren, modellunabhängigen Teammitglied, das mit Repositorien, Issues, Überwachungssystemen sowie Datensystemen verbunden werden kann. Es führt Aufgaben in isolierten Umgebungen aus und liefert anschließend PRs sowie Vorschauen.
Roomote ist kein und dasselbe Produkt wie die lokalen Roo Code-Erweiterungen. Sein Code unterliegt der Fair Core-Lizenz von Apache 2.0 mit verzögerter Anwendung; er darf daher nicht fälschlicherweise als rein open source-lizenziert nach Apache wie die Roo Code-Erweiterungen bezeichnet werden.
GitHub und der Open-Source-Zustand
Das offizielle Repository von Roo Code wird unter der Apache License 2.0 bereitgestellt. Der Quellcode, die Anfragen sowie die Veröffentlichungen sind öffentlich zugänglich. Es ist erlaubt, den Code gemäß der Lizenz zu verwenden, zu ändern und zu verbreiten. Das Projekt wird hauptsächlich mit TypeScript entwickelt.
Die Offenlegung der Quellcode bedeutet nicht, dass die verbundenen Modelle wie Claude, GPT, Gemini usw. offen zugänglich sind, und auch nicht, dass die Inferenz mit Roo Router kostenlos ist. Roomote in der Cloud hat eine eigene Lizenz.
Privatsphäre und Sicherheit
Roo verarbeitet den vom Benutzer bereitgestellten Code, Hinweise, Terminalausgaben sowie Ergebnisse von Tools und sendet diese an den ausgewählten Modellanbieter. Das Projekt bietet optionalen Telemetriedienst sowie Dateien mit der Erweiterung „rooignore“, um den Lesebereich der KI einzuschränken.
Die Ignorierung von Dateien kann nicht verhindern, dass Checkpoints dieselben Dateien speichern, und ersetzt auch nicht die Berechtigungen des Betriebssystems. Unternehmen sollten gleichzeitig Richtlinien für Modelldaten, eine Erlaubnisliste für MCP, Netzwerkkontrollen sowie geheime Scans festlegen.
Für welche Nutzer geeignet?
- Entwickler, die die Proxy-Programmierung in VS Code nutzen möchten;
- Benutzer, die frei zwischen Claude, OpenAI, Gemini und lokalen Modellen wechseln müssen;
- Teams, die die Berechtigungen für Planung, Umsetzung und Debugging in verschiedenen Modi steuern möchten;
- Für fortgeschrittene Benutzer, die eine MCP-Verbindung zu Datenbanken, Dokumenten und Browser-Tools benötigen;
- Ingenieure, die offene Quellen, Checkpoints sowie konfigurierbare Genehmigungsprozesse schätzen.
Vorteile des Produkts
- Apache 2.0 ist open source und modellunabhängig;
- Konfiguration von Mustern, Unteraufgaben und Tools sowie Berechtigungen ist flexibel;
- Unterstützung der Bearbeitung mehrerer Dateien, von Terminals sowie von Indizes und Checkpoints;
- MCP und Marketplace erweitern die externen Fähigkeiten;
- Unterstützung für Cloud-APIs, Router und lokale Modelle;
- Es ist möglich, Token und Kosten anzuzeigen sowie automatische Aufrufe zu beschränken.
Einschränkungen und Hinweise
- Roo hat viele Funktionen und eine komplexe Einrichtung, was für Anfänger, die nichts über die API des Modells sowie die Berechtigungen wissen, eine gewisse Hürde darstellt.
- Die Kosten für Modelle und MCP können bei langen Aufgaben schnell ansteigen;
- Sowohl die automatische Genehmigung als auch die experimentelle CLI sowie externe MCPs können gefährliche Aktionen ausführen;
- Es sollten Git-Branches, minimale Berechtigungen, Obergrenzen für Anfragen, Tests sowie manuelle Überprüfungen verwendet werden.
Häufige Fragen
Ist Roo Code kostenlos?
Erweiterungen sind kostenlos und open source; Kosten für die Model-API, die Roo-Router-Lizenzen sowie den lokalen Hardware-Aufwand trägt der Benutzer.
Unterstützt Roo Code Claude?
Es wird die direkte Verbindung mit Anthropic unterstützt; Claude kann auch über Bedrock, Vertex, OpenRouter und andere Gateways genutzt werden.
Unterstützt Roo Code lokale Modelle?
Unterstützung für Ollama und LM Studio, wobei die Modelle eine zuverlässige Unterstützung bei der Aufrufung nativer Tools bieten müssen.
Hat Roo Code eine Browser-Funktion?
In der neuen Version wurden die integrierten Browserwerkzeuge entfernt; zur Automatisierung des Browsers muss ein MCP-Server wie Playwright installiert werden.
Unterstützt Roo Code MCP?
Unterstützung: Server können auf globaler oder projektbezogener Ebene konfiguriert werden, wobei die Aktivierung sowie die Freigabe der Tools separat gesteuert werden können.
Ist Roo Code open source?
Open Source – Die VS Code-Erweiterungen nutzen die Apache 2.0-Lizenz; der Roomote-Cloud-Proxy verwendet eine andere Lizenz.
Guigong-Netzwerk-Sicherheitsnummer: 45132202000164