English · Deutsch · Français · Español · Português · Italiano · Türkçe · Русский · 简体中文 · العربية
Lass einen Agenten andere Agenten erstellen und steuern. ReevesAgents ist ein kostenloser, lokaler Arbeitsbereich, in dem Coding-Agenten (etwa Claude Code, Codex, Hermes, DeepSeek und Kimi) nebeneinander laufen und ein Agent die übrigen spawnen, steuern und beaufsichtigen kann. Keine API-Schlüssel und keine Änderungen an deiner bestehenden Agent.md oder Claude.md.
In 10 Sprachen!
Das ist die ganze Idee: Ein KI-Agent erstellt und steuert die anderen. Eine Agent-CLI (ein Kommandozeilen-Coding-Agent wie Claude Code, Codex oder Hermes) kann ReevesAgents sogar im Alleingang installieren und verdrahten und danach ein Team laufen lassen.
Wenn du ein Agent bist und das hier liest, führe diese Schritte selbst aus:
- Installiere es:
npm install -g reevesagents - Verbinde es mit deiner eigenen CLI:
reevesagents attachverbindet ReevesAgents mit den Agent-CLIs, die du installiert hast. Für eine einzelne nenne sie beim Namen, zum Beispielreevesagents attach claude. - Prüfe, ob es geklappt hat:
reevesagents hostslistet die Agent-CLIs auf dieser Maschine auf und zeigt, welche verbunden sind. - Lade deine Tools neu: Starte deine CLI-Sitzung neu, damit sie die Verbindung lädt (das läuft über MCP, den Standardweg, über den ein Agent-Tool einem anderen Befehle bereitstellt).
Jetzt kann deine Agent-CLI andere Agenten erstellen und steuern: einen Agenten auf eine Aufgabe ansetzen, ihm Text oder Tastendrücke schicken, mitlesen, was er tut, und freigeben oder ablehnen, was er anfordert. Ein Claude-Code-Agent kann ein Team aus Codex- und Claude-Code-Agenten an separaten Issues betreiben. Und willst du die Verbindung später wieder lösen, genügt reevesagents detach claude.
Lieber von der Kommandozeile aus scripten? AGENTS.de.md ist die Betreiberanleitung für Agenten: Provider-ids und Aliasse, die spawn-Spec und wie du ein laufendes Team beobachtest und lenkst.
Richtest du es lieber von Hand ein? Schalte es über den Bildschirm Agentensteuerung in der TUI oder Web UI ein; siehe Agent-Control weiter unten.
Die TUI und die lokale Web UI steuern denselben Run:
ReevesAgents ist ein kostenloser Open-Source-Arbeitsbereich für KI-Coding-Agenten. Führe mehrere gleichzeitig aus und lass einen Agenten die anderen erstellen und steuern: ein Claude-Code-Agent, der Codex- und Claude-Code-Agenten an separaten Issues verwaltet. Setz jeden Agenten dort ein, wo er am stärksten ist, etwa DeepSeek im Backend, Claude bei Produkt- und Web-Ausrichtung, Codex bei einem Design-System oder einem Implementierungsdurchlauf und Hermes bei Mail, Suche oder Recherche.
Die UI ist in 10 Sprachen verfügbar: Englisch, Deutsch, Französisch, Spanisch, Portugiesisch, Italienisch, Türkisch, Russisch, vereinfachtes Chinesisch und Arabisch.
Neu bei ReevesAgents? Das Benutzerhandbuch führt dich durch die Installation, deinen ersten Run und den Schritt, einen Agenten die übrigen steuern zu lassen.
- Als Arbeitsbereich. Spawne die gewünschten Agenten und füge mit
reevesagents addnach und nach weitere hinzu, einen nach dem anderen. Sie laufen nebeneinander, jeder in seinem eigenen tmux-Fenster, und keiner steuert einen anderen. Das ist der einfachste Einstieg: deine verschiedenen CLIs zusammen an einem lokalen Ort. - Als Orchestrator. Häng den optionalen Agent-Control-MCP an eine CLI, und dieser Agent bekommt die Tools, um die übrigen zu spawnen und zu steuern. Das ist die Kernfunktion, und sie bleibt aus, bis du sie einschaltest.
Beide nutzen dieselben Runs und dieselben Oberflächen, du kannst also als schlichter Arbeitsbereich anfangen und später zur Orchestrierung greifen, oder nie.
| Oberfläche | Wofür sie gut ist |
|---|---|
| TUI | Schnelle, tastaturorientierte Steuerung direkt im Terminal. |
| Web UI | Eine visuelle Ansicht über Runs, Agenten, Live-Panes und Verlauf. |
| CLI | Skripte, schnelle spawn-Befehle, doctor-Prüfungen und das Öffnen von tmux. |
| tmux | Echte Provider-CLI-Fenster, die lokal weiterlaufen. |
| Agent-Control | Die Kernidee: Ein Agent erstellt und steuert die anderen. Du schaltest es pro CLI frei, danach kann ein Claude-Code-Agent gleichzeitig Codex-, Hermes- und Claude-Code-Agenten betreiben. |
- Lass deinen Agenten Agenten steuern. Deine leitende CLI (etwa Claude Code) startet und lenkt eine Gruppe von Claude-, Codex-, DeepSeek-, Hermes-, OpenCode- oder anderen Agenten über MCP.
- Multitasking und Dauerbetrieb. Führe mehrere Agenten parallel an verschiedenen Teilen eines Projekts aus, lass langlaufende Agenten weiterarbeiten und behalte alle in einer Ansicht im Blick. Setz ein günstigeres Modell davor, das die Arbeit an stärkere oder kleinere Agenten verteilt.
- Halte die Kosten im Rahmen. Lass günstige oder kostenlose Modelle Routine-Code und Tests schreiben, während du mit einem größeren Modell planst und entwirfst, statt alles durch ein einziges teures Standardmodell zu schieben.
- Ein Arbeitsbereich, kein verlorener Faden. Wenn du ohnehin zwischen Claude, Codex, DeepSeek, Hermes oder OpenCode springst, bündelt ReevesAgents diese Sitzungen an einem lokalen Ort. Jeden Agenten öffnest du direkt aus der TUI oder Web UI und steuerst ihn dort.
- Bleib anbieterflexibel. Das Provider-Login bleibt bei der jeweiligen CLI. ReevesAgents speichert niemals Zugangsdaten und leitet keinen Modell-Traffic weiter, du kannst CLIs also frei hinzufügen, entfernen oder wechseln.
- Sieh die Arbeit auf einen Blick. Aktive Runs, Agenten, Modelle, Berechtigungsmodi, Stopp- und Löschaktionen sowie der Verlauf in einer Web-UI-Ansicht, während tmux die echten CLIs am Leben hält.
Das ist keine Cloud-Agenten-Plattform, sondern eine kleine lokale Schicht um echte CLIs: keine Datenbank, kein Docker, kein Hintergrund-Daemon, und API-Schlüssel speichert ReevesAgents erst gar nicht.
Installiere ReevesAgents mit Homebrew oder global mit einem beliebigen
Node-Paketmanager (pnpm, npm, Yarn oder Bun) und prüfe die Maschine anschließend
mit doctor.
# Homebrew
brew install mertkayacs/reevesagents/reevesagents
# oder ein Node-Paketmanager, hier mit pnpm
pnpm add -g reevesagentsreevesagents doctor
reevesagentsUm eine Version zu pinnen, hänge @<version> an den Paketnamen an, zum Beispiel
pnpm add -g reevesagents@<version>.
pnpm
pnpm add -g reevesagents
reevesagents doctor
reevesagentsEinmalig, ohne globale Installation:
pnpm dlx reevesagents doctornpm
npm install -g reevesagents
reevesagents doctor
reevesagentsEinmalig, ohne globale Installation:
npx reevesagents doctorYarn
Einmalig mit Yarn (Berry):
yarn dlx reevesagents doctorGlobale Installation mit Yarn Classic:
yarn global add reevesagents
reevesagents doctor
reevesagentsBun
bun add -g reevesagents
reevesagents doctor
reevesagentsEinmalig, ohne globale Installation:
bunx reevesagents doctorHomebrew
brew tap mertkayacs/reevesagents
brew install reevesagents
reevesagents doctor
reevesagentsAus dem Quellcode
Nutze den Quellcode, wenn du den Code inspizieren, beitragen oder direkt aus dem Repository heraus arbeiten möchtest.
git clone https://github.com/mertkayacs/reevesagents.git
cd reevesagents
pnpm install
pnpm build
pnpm link --global
reevesagents doctor
reevesagentsReevesAgents ist local-first. Es erwartet eine normale Entwicklermaschine, auf der tmux und mindestens eine Provider-CLI bereits installiert sind.
- macOS, Linux oder WSL. Natives Windows ist keine Ziel-Laufzeitumgebung; nutze WSL.
- Node.js
20.19+. - tmux. Empfohlen ist Version
3.0+. - Eine normale interaktive Shell auf dem
PATH. - Mindestens eine unterstützte Provider-CLI auf dem
PATH.
ReevesAgents kann diese Provider-CLIs starten, wenn sie auf deiner Maschine installiert und authentifiziert sind: Claude Code, Codex CLI, OpenCode, Hermes, Kimi, DeepSeek, Pi, Qwen und Aider. Jede CLI behält ihr eigenes Login, ihre Modelle, Kontingente und Berechtigungsabfragen, ganz so, als hättest du sie selbst gestartet. Genau deshalb muss ReevesAgents nie einen API-Schlüssel halten oder im Traffic-Pfad sitzen.
reevesagents # die TUI starten
reevesagents web # die lokale Web UI öffnen
reevesagents doctor # die Maschine prüfenStarte einen benannten Run aus der CLI. Die erste Spec ist der Lead, der Rest sind
Worker, und jede Spec lautet provider[:nickname[:model]]:
reevesagents spawn deepseek:backend claude-code:product codex:system hermes:research \
--name "launch week build" \
--prompt "Plan the backend, product surface, design system, and research notes."Oder fang klein an und lass den Arbeitsbereich Agent für Agent wachsen. add
hängt sich an den jüngsten Run, du musst also nie eine Run-id herumkopieren:
reevesagents spawn claude-code:product # start a workspace
reevesagents add codex:system # add to it later
reevesagents add hermes:researchEine vollständige Schritt-für-Schritt-Anleitung findest du im Benutzerhandbuch.
Ohne Argumente startet die TUI. Die Subcommands sind die Bedienoberfläche für Menschen und Skripte.
Die Befehle für den Alltag:
reevesagents: Die TUI starten (kein Subcommand).spawn [spec...]: Einen Run mit einem oder mehreren Provider-Agenten starten. Jedespeclautetprovider[:nickname[:model]]. Die erste Spec ist der Lead, der Rest sind Worker. Ohne Spec istcodexder Standard. Wichtige Flags:--name <name>(Standardrun),--cwd <dir>(Standard: aktuelles Verzeichnis),--prompt <text>(wird in jeden Agenten eingefügt),--skip(Berechtigungsabfragen überspringen),--run <run-id>(Agenten einem bestehenden Run hinzufügen),--auth-mode <mode>,--effort <level>,--extra-args <args>(Flags, die an jeden Agentenstart angehängt werden, zum Beispiel"--remote-control"),--json.add [spec...]: Einen oder mehrere Agenten zum aktuellen Arbeitsbereich hinzufügen, dem jüngsten aktiven Run, ohne eine Run-id zu übergeben. Damit lässt du einen Arbeitsbereich Agent für Agent wachsen. Dieselben Flags pro Agent wie beispawn, plus--run <run-id>, um einen bestimmten Run statt des jüngsten anzusteuern.runs: Aktive Runs auflisten, einen pro Zeile. Wichtige Flags:--json(vollständige Run-Datensätze als JSON-Array).agents [run-id]: Agenten über alle Runs hinweg auflisten, oder nur die eines Runs. Wichtige Flags:--json.open <id>: tmux zum Reeves-Fenster eines Runs oder zu einem Agentenfenster wechseln. Innerhalb von tmux wird gewechselt; außerhalb von tmux auf einem TTY wird verbunden; ansonsten wird ein einfügbarer tmux-Befehl ausgegeben. Akzeptiert eine Run-id/-name oder eine Agenten-id/-nickname (Präfix-Übereinstimmung erlaubt).peek <agent-id>: Die jüngste Ausgabe eines Agenten anzeigen. Wichtige Flags:-n, --lines <n>(Standard20),--json(Zeilen als Array).send <agent-id> <text...>: Text am Prompt eines Agenten einfügen. Schickt nicht ab; sende danachkey <agent-id> enter.key <agent-id> <key>: Eine einzelne Taste senden:enter,escape,backspace,tab,space,up,down,left,rightoderctrl-c.interrupt <agent-id>: ctrl-c an einen Agenten senden.stop <run-id>: Einen Run stoppen. Wichtige Flags:-y, --yes(oderALLOW_DESTRUCTIVE=1).kill <agent-id>: Einen Agenten stoppen. Wichtige Flags:-y, --yes(oderALLOW_DESTRUCTIVE=1).doctor: Health-Checks der Umgebung ausführen (Node, tmux, State-Pfad, Provider-CLIs). Beendet sich bei jeder fehlgeschlagenen Prüfung mit Exit-Code ungleich null. Wichtige Flags:--json.web: Die lokale, nur an Loopback gebundene Web UI bei Bedarf starten. Läuft im Vordergrund; nach dem Beenden laufen die Agenten weiter. Wichtige Flags:--port <n>(bevorzugter Port, weicht auf den nächsten freien aus),--no-open(den Browser nicht öffnen).
Erkennung, Freigaben, Agent-Control, Konfiguration und Aufräumen:
providers: Jeden Provider mit Verfügbarkeit, Aliassen und bekannten Modellen auflisten. Wichtige Flags:--models,--json.approvals: Offene Freigabeanfragen von Agenten auflisten. Wichtige Flags:--json.approve <approval-id> [note]: Eine Freigabeanfrage freigeben.deny <approval-id> [note]: Eine Freigabeanfrage ablehnen.hosts: Die Agent-CLIs auf dieser Maschine auflisten und zeigen, mit welchen ReevesAgents verbunden ist.attach [cli]: ReevesAgents mit einer Agent-CLI verbinden, oder mit allen installierten, wenn kein Name angegeben ist. Führt das eigenemcp adddieser CLI aus.detach <cli>: ReevesAgents von einer Agent-CLI trennen. Führt das eigenemcp removedieser CLI aus.mcp: Den Agent-Control-MCP-Server über stdio starten. Nicht von Hand auszuführen; die CLI, an die du ihn anhängst, führt ihn aus.config [key] [value]: Alle editierbaren Einstellungen anzeigen, eine einzelne lesen oder setzen. Wichtige Flags:--json.presets: Gespeicherte Run-Vorlagen (Presets) auflisten. Wichtige Flags:--json.save-preset <run-id> <name> [description...]: Einen laufenden Run als wiederverwendbare Vorlage speichern.start-preset <name>: Einen neuen Run aus einer Vorlage starten. Wichtige Flags:--name <run>,--cwd <dir>.delete-preset <name>: Eine Vorlage löschen. Wichtige Flags:-y, --yes.delete <agent-id>: Den Datensatz eines beendeten Agenten löschen. Wichtige Flags:-y, --yes.delete-run <run-id>: Einen beendeten Run löschen und in den Verlauf archivieren. Wichtige Flags:-y, --yes.history: Archivierte beendete und veraltete Runs auflisten. Wichtige Flags:--json.delete-history <id>: Einen archivierten Verlaufseintrag löschen. Wichtige Flags:-y, --yes.
stop, kill und die delete-Befehle sind destruktiv. Ohne --yes oder
ALLOW_DESTRUCTIVE=1 verweigern sie die Ausführung.
ReevesAgents bringt einen optionalen MCP-Server mit, über den eine KI-CLI andere KI-CLIs starten und steuern kann: einen Agenten starten, einen Prompt einfügen, Tasten senden, Ausgabe lesen und Freigabeanfragen auflösen. Es ist ein flacher Mechanismus, keine Orchestrierungsrichtlinie: keine Rollen, keine autonomen Schleifen, kein Koordinationsprotokoll.
Standardmäßig ist es aus, und ReevesAgents hängt es nie von selbst an eine CLI an.
Du schaltest es über den Bildschirm Agentensteuerung in der TUI oder der Web UI ein. Dieser
Bildschirm listet die CLIs auf dieser Maschine auf, die einen MCP-Server hosten können (claude,
codex, kimi, qwen, opencode, hermes), und lässt dich anhängen, trennen oder alle auf einmal anhängen.
Das Anhängen führt das eigene mcp add der jeweiligen CLI aus (zum Beispiel
claude mcp add reevesagents -- reevesagents mcp); das Trennen führt das passende
remove aus. ReevesAgents ruft nur den jeweils eigenen Befehl jeder CLI auf und bearbeitet niemals
Provider-Konfigurationsdateien von Hand. OpenCode ist die Ausnahme: sein mcp add ist interaktiv
und ein remove gibt es nicht, daher markiert der Bildschirm es als von Hand anzuhängen.
Sobald eine CLI angehängt ist, hat sie die Agent-Control-Tools bei jedem Start. Die Installation ist deine ausdrückliche Entscheidung, und diese Entscheidung ist die Zustimmung. Ein Run besteht aus der steuernden CLI als Kopf plus den von ihr gestarteten Agenten, und die ganze Gruppe erscheint in der TUI und Web UI wie jeder andere Run.
Gestartete Worker bekommen den MCP standardmäßig nicht und können deshalb keine weiteren
Agenten starten. Damit ein Worker eigene Sub-Worker steuern darf, hänge den MCP über
denselben Bildschirm an die CLI dieses Workers an. Die Leitplanken sitzen auf Ressourcenebene: eine
Agenten-Obergrenze pro Run (max_agents), die greift, sobald das spawn-Tool einem Run Agenten
hinzufügt, plus die Tatsache, dass jeder Agent ein echter CLI-Prozess in seinem eigenen tmux-Pane ist.
Eine angehängte CLI kann außerdem herausfinden, was sie starten kann: Das list_providers-Tool
und die Ressource reevesagents://providers liefern die Provider auf dieser Maschine
mit ids, Installationsstatus, Aliassen und bekannten Modellen, sodass ein Agent eine
echte id an spawn übergibt, statt zu raten.
Siehe docs/mcp.md für das vollständige Design und die Tool-Liste.
State und Konfiguration sind schlichte JSON-Dateien auf deiner Platte. Es gibt also nichts zu administrieren, und solange du es nicht benutzt, läuft auch nichts.
Der State liegt unter ~/.reeves:
~/.reeves/
config.json globale Einstellungen (peek-Intervall, Sprache, Standardberechtigungen, Limits)
presets/ gespeicherte Run-Vorlagen
runs/ ein Ordner pro aktivem Run (run.json plus agents/<id>.json)
history/ archivierte beendete und veraltete Runs (history/runs/<id>.json)
Zwei Umgebungsvariablen überschreiben die Standardwerte, hauptsächlich für isolierte Tests oder die Nutzung mehrerer Profile:
REEVES_REGISTRY: überschreibt das State-Root. Ersetzt~/.reevesals Verzeichnis fürruns/,history/undpresets/.REEVES_CONFIG: überschreibt den Pfad der Konfigurationsdatei. Ersetzt~/.reeves/config.json.
Alles, was ein Geheimnis enthalten könnte, wird geschwärzt, bevor es eine Datei erreicht.
Verteile ein Projekt auf die CLIs, die zur jeweiligen Aufgabe passen:
reevesagents spawn deepseek:backend claude-code:product codex:review \
--name "feature x" --prompt "Backend, product copy, and a review pass."Liste auf, was gerade läuft, und greif dir die Run-id:
reevesagents runs
reevesagents runs --json # skriptfreundlichBeobachte einen einzelnen Agenten, ohne deine Shell zu verlassen, und spring hinein, wenn er dich braucht:
reevesagents peek backend -n 40
reevesagents open backendIst die Arbeit erledigt, stoppst du den ganzen Run mit einem Aufruf:
reevesagents stop "feature x" --yesDie Web UI ist lokal und nur an Loopback gebunden.
reevesagents webSie antwortet nur auf 127.0.0.1 und bleibt im Vordergrund, bis du sie stoppst. Für
die Agenten ändert das nichts, denn die leben in tmux und nicht in der Seite. Im
Browser legst du Runs an, fügst Agenten mit gewähltem Modell und Berechtigungsmodus
hinzu, stoppst, was gestoppt gehört, und gräbst dich durch den Verlauf, während die
echten CLIs darunter weiterarbeiten.
Die Web UI nutzt zwei optionale Laufzeitmodule, ws und @lydell/node-pty. npm
installiert sie standardmäßig mit. CLI und TUI funktionieren auch ohne sie, und der
web-Befehl erklärt, was fehlt.
Um die Web UI von einer anderen Maschine zu erreichen, leite den Loopback-Port über SSH weiter. Einen eingebauten Tunnel gibt es nicht:
ssh -L 8080:127.0.0.1:8080 user@host
# dann http://localhost:8080 im Browser öffnentmux ist nicht installiert. ReevesAgents braucht tmux für die fensterbasierte Navigation.
Installiere es (brew install tmux oder apt install tmux) und führe
reevesagents doctor aus. Die TUI legt sich beim Start von selbst in eine tmux-Sitzung
namens reeves; setze REEVES_NO_TMUX_WRAPPER=1, um dieses Verhalten zu überspringen.
Eine Provider-CLI fehlt oder Doctor meldet einen Fehler. ReevesAgents startet nur
Provider-CLIs, die bereits auf deinem PATH liegen und authentifiziert sind. Führe
reevesagents doctor aus, um zu sehen, welche Provider erkannt werden und was fehlschlägt,
und installiere dann die benötigte Provider-CLI oder melde dich dort an.
Die Web UI meldet fehlende Pakete. Die Web UI braucht ws und
@lydell/node-pty. Sie können fehlen, wenn es für die Plattform kein vorgebautes
@lydell/node-pty-Binary gibt oder die Installation optionale Abhängigkeiten ausgelassen hat.
Installiere mit aktivierten optionalen Abhängigkeiten neu und führe dann reevesagents doctor aus.
Port bereits in Verwendung. reevesagents web startet standardmäßig auf Port 8080. Ist
er belegt, bindet der Server den nächsten freien Port in einem kleinen Bereich und gibt die
gewählte URL aus. Übergib --port <n>, um einen anderen Startport zu wählen.
Für normale, stabile Agenten-Runs brauchst du keine bei ReevesAgents gespeicherten
API-Schlüssel, keine Datenbank, kein Docker, keinen Hintergrunddienst und kein MCP-Setup.
Die Installation ist passiv: Sie schreibt keine Provider-Konfiguration um, und eine
globale Installation zeigt nur einen kurzen Hinweis. Das Anhängen des Agent-Control-MCP ist der eine ausdrückliche
Opt-in-Schritt, der die Provider-Konfiguration berührt, und das nur über das eigene
mcp add der jeweiligen CLI.
Siehe CONTRIBUTING.md für Branches und den Pull-Request-Ablauf, SECURITY.md für das Melden von Schwachstellen und CHANGELOG.md für aktuelle Änderungen. Die Contributor-Dokumentation liegt unter docs/.
Endnutzer brauchen die Entwicklungs-Toolchain nicht. Mitwirkende nutzen pnpm, TypeScript, tsup, Vitest und ESLint aus dem Repository.
- Website: https://reevesagents.mertkayacs.com
- npm: https://www.npmjs.com/package/reevesagents
- GitHub: https://github.com/mertkayacs/reevesagents
- Releases: https://github.com/mertkayacs/reevesagents/releases
- Issues: https://github.com/mertkayacs/reevesagents/issues
- Changelog: CHANGELOG.md
- Lizenz: Apache-2.0
Apache-2.0


