Externe Agenten (ACP)
Chimera kann einen Coding-Zug an einen Agenten übergeben, den es nicht geschrieben hat — Claude Code, Gemini CLI oder jeden Adapter, der das Agent Client Protocol spricht. Transkript, Verifizierer, Sicherungskopie und Rückgängig bleiben Chimeras; die Arbeit ist die eines anderen.
Warum
Chimeras These war nie, dass seine Schleife die einzig gute ist. Es ist die Governance um eine Schleife herum: das Kontaminationsregister, die Schreibregion, die Kopie vor dem Zug, das Urteil danach, der Beleg, der sagt, was tatsächlich passiert ist. Das gilt für jeden Ausführenden. Sich zu weigern, einen Ausführenden zu steuern, dem Sie bereits vertrauen, hieße auf der uninteressanteren Hälfte des Produkts zu beharren.
Was garantiert ist und was nicht
Lesen Sie diesen Teil vor der Installation — er entscheidet, ob diese Funktion für Sie richtig ist.
Ein ACP-Agent erklärt, welche Client-Fähigkeiten er nutzen wird, und Chimera bietet
fs/read_text_file und fs/write_text_file an. Anbieten ist nicht Durchsetzen. Die Agenten, die
es zu steuern lohnt, haben eigene Datei- und Shell-Werkzeuge: Claude Code schreibt über das Claude
Agent SDK und ist nicht verpflichtet, uns vorher zu fragen.
Konkret:
| Chimeras eigene Schleife | Externer Agent | |
|---|---|---|
| Schreibregion weist Schreibvorgänge außerhalb ab | Immer | Nur was über uns läuft |
| Shell läuft in der konfigurierten Sandbox | Immer | Der Agent führt auf seine Art aus |
| Kontaminationsregister schärft die Sperre | Immer | Nur bei Werkzeugen, die wir vermitteln |
| Momentaufnahme des Arbeitsordners vor dem Zug | Ja | Ja |
| Ganzen Zug mit einem Klick rückgängig machen | Ja | Ja |
| Jede erteilte Berechtigung steht im Beleg | — | Ja |
Die letzten drei Zeilen sind die echte Garantie, und sie sind das, was die Haltungszeile im
Code-Bildschirm verspricht, sobald ein externer Agent gewählt ist. Sie sagt nicht mehr „bearbeitet
innerhalb von /projekt, führt keine Befehle aus" — dieser Satz beschreibt Werkzeuge, die Chimera
besitzt — sondern dass eine Kopie gemacht wurde und der Zug rückgängig gemacht werden kann. Ein
Bildschirm, der den stärkeren Satz behielte, gäbe ein Versprechen ab, das der Zug nicht halten kann.
Chimera lehnt außerdem die Terminal-Fähigkeit von ACP ab. Ein von uns bereitgestelltes Terminal wäre ein zweiter Ausführungsweg neben der Sandbox, ohne eine ihrer Regeln.
Einrichtung
Für die Agenten, die Chimera kennt, ist nichts zu konfigurieren:
npm i -g @agentclientprotocol/claude-agent-acp # Claude Code, benötigt Node 22+
npm i -g @google/gemini-cli # Gemini CLI (ACP-Modus ist upstream experimentell)
Prüfen Sie dann, was diese Maschine wirklich ausführen kann:
chimera doctor
external_agents meldet jeden mit available: true/false und, wenn falsch, die Zeile, die es
behebt. Die Verfügbarkeit wird auf der Maschine ermittelt, auf der der Sidecar läuft — bei einem
paketierten Desktop-Build eine von der CI zusammengebaute Maschine, die niemand angesehen hat. Also:
„das sollte da sein" ist kein Beleg.
Die Desktop-App zeigt über dem Eingabefeld eine Zeile Wer arbeitet mit dem, was doctor gefunden
hat. Ist nichts Lauffähiges installiert, erscheint die Zeile gar nicht; doctor ist der Ort für
„das haben Sie noch nicht, und so bekommen Sie es".
Zugangsdaten
Jeder von Chimera gestartete Kindprozess bekommt eine Umgebung ohne API_KEY / TOKEN /
SECRET-Variablen, damit ein Shell-Befehl keinen Anbieterschlüssel ausgeben kann. Ein ACP-Agent ist
ein Programm, dessen ganze Aufgabe einen braucht, also erklärt jeder Agent namentlich, welche
Variablen er benötigt, und nur diese werden zurückgegeben:
- Claude Code:
ANTHROPIC_API_KEY,ANTHROPIC_AUTH_TOKEN,ANTHROPIC_BASE_URL,CLAUDE_CONFIG_DIR - Gemini CLI:
GEMINI_API_KEY,GOOGLE_API_KEY,GOOGLE_APPLICATION_CREDENTIALS
Die ganze Umgebung durchzureichen wäre einfacher und gäbe jedem künftigen Adapter jeden Schlüssel auf der Maschine.
Ein eigener Adapter
Codex und andere erreichen ACP über Drittanbieter-Adapter, die dieses Projekt nicht ausgeführt hat. Statt einen ungeprüften Befehl aufzulisten — was „wir haben es nicht geprüft" in „unterstützt" verwandeln würde — richten Sie Chimera auf den, den Sie haben:
// POST /api/code/turn
{
"message": "repariere den fehlschlagenden Test",
"provider": "custom",
"provider_command": "npx -y ein-acp-adapter --flag"
}
Der Befehl wird shell-artig zerlegt und ohne Shell ausgeführt, sodass eine versehentliche Pipe
ein Argument ist und kein zweiter Befehl. Unter Windows wird ein Argument mit cmd.exe-Syntax
(& | < > ^ %), das einen .cmd-Starter erreicht, abgelehnt statt maskiert: die Anführungsregeln
unterscheiden sich je Starter, und ein falscher Tipp führt Ihre Maschine aus statt eines Programms
darauf.
Wie es funktioniert
- Ein Kindprozess pro Unterhaltung, nicht pro Zug. Ein
session/promptist eine Nachricht in einem Kontext, den der Agent hält; ein frischer Prozess jedes Mal machte jeden Zug zum ersten Zug. - Höchstens vier gleichzeitig, und einer, der eine Stunde unberührt bleibt, wird geschlossen. Jeder ist ein Prozess, der eine Modellverbindung hält.
- Der Prozess startet in einer eigenen Gruppe und wird als Baum beendet — ein Coding-Agent ist ein
Starter, und nur den Prozess zu beenden, den wir halten, ließe die Arbeiter laufen und den Ordner
gesperrt. Ein
atexit-Reaper deckt den Fall ab, dass die App mitten im Zug beendet wird. - Die
session/update-Benachrichtigungen des Agenten werden in dieselben Ereignisse übersetzt, die die native Schleife ausgibt, sodass der Bildschirm keine zweite Implementierung braucht. Gedankenfragmente werden verworfen statt in die Antwort gefaltet; eindiff-Block wird zu dem vereinheitlichten Patch, den das Transkript ohnehin darstellt. - Zahlen, die die native Schleife besitzt und diese nicht melden kann —
steps,context_peak_tokens— kommen alsnullstatt0. Null läse sich als „es hat nichts getan".
Grenzen
- Berechtigungsanfragen werden mit
allow_oncebeantwortet und im Beleg festgehalten. Eine Anfrage abzufangen, die der Agent gar nicht stellen musste, ist Theater; die ehrliche Variante ist gewähren, festhalten und sich auf die Sicherungskopie verlassen — die auch die Schreibvorgänge abdeckt, die nie gefragt haben. - Fusion, Rollen, Gedächtnis und die Repository-Karte gehören Chimeras eigener Schleife. Ein externer
Zug meldet
fused: falseund keine Gedächtnisnutzung, weil nichts davon stattgefunden hat. - Geminis ACP-Modus ist upstream als experimentell markiert und kann sich zwischen Releases ändern.