Cline-Architekturüberblick
In einem Satz
Cline ist ein KI-Programmierassistent aus VSCode-Erweiterung + rekursiver Agent-Schleife (agent loop) + Werkzeugkoordinator: activate montiert den Controller → der Nutzer sendet eine Nachricht und erzeugt eine Task → die Task treibt über recursivelyMakeClineRequests rekursiv den Kreislauf „LLM-Stream → Assistenten-Nachricht parsen → Werkzeug ausführen → Ergebnis zurückfließen lassen" bis zum Ende des Turn an. Werkzeuge werden vom ToolExecutorCoordinator namensbasiert verteilt, Provider in buildApiHandler per switch weitergeleitet, MCP/Sub-Agent/Kontextabschnitt/Checkpoints/Hooks sind jeweils unabhängig.
Schichten
Jede Schicht in einem Satz
- Start und Host:
activatemontiert der Reihe nach host→Migration→webview→Befehlsregistrierung, der Controller hält Task, McpHub, StateManager. - Agent-Hauptschleife: Die Task-Klasse ist eine Zustandsmaschine für einen einzelnen Turn,
recursivelyMakeClineRequeststreibt rekursiv jede Runde an. - Assistenten-Nachrichten-Analyse:
parseAssistantMessageV2schneidet den LLM-Textstream in text/tool/reasoning-Blocks, der Diff-Algorithmus konstruiert den neuen Dateiinhalt. - Werkzeugsystem: Der
ToolExecutorCoordinatorverteilt nachClineDefaultTool-Namen an 25+ Handler. - Provider-Kanäle:
buildApiHandlerleitet über einen switch an 40+ Hersteller-Handler weiter. - System-Prompts und Modi: Der PromptBuilder setzt den System-Prompt nach Modellvariante zusammen, die Modi plan/act steuern, ob nur geplant oder auch ausgeführt wird.
- MCP und Sub-Agent: McpHub verbindet externe MCP-Server, SubagentRunner führt isolierte Teilaufgaben aus, ContextManager kürzt die Historie ab.
- Speicher und Hooks: StateManager persistiert den globalen Zustand, Hooks triggern bei Lebenszyklus-Ereignissen externe Befehle, Checkpoints erstellen Aufgaben-Snapshots.
Schichtenmotivation
Cline entkoppelt „Wie in VSCode integriert werden" (Host), „Wie ein Turn angetrieben wird" (Task-Schleife), „Wie LLM-Ausgabe geparst wird" (parsing), „Wie Werkzeuge ausgeführt werden" (tools), „Wie das Modell aufgerufen wird" (providers), „Wie Prompts gebaut werden" (prompts), „Wie erweitert wird" (MCP/Sub-Agent) und „Wie persistiert wird" (storage) vollständig. So lässt sich das Modell wechseln, ohne die Werkzeuge zu beeinflussen, Werkzeuge wechseln, ohne die Schleife zu beeinflussen, MCP-Server hinzufügen, ohne den Kern zu ändern. Die Task-Klasse ist der einzige Knotenpunkt, der gesamte Turn-Zustand liegt bei ihr.
Häufige Missverständnisse
- „Cline ist ein ChatGPT-Wrapper" — nicht ganz. Das Provider-Routing ist nur die Oberfläche; der eigentliche Kern ist die rekursive Agent-Schleife + der Werkzeugkoordinator, die LLM ist nur ein Schritt innerhalb der Schleife.
- „Die Werkzeuge sind hartcodiert" — nein. Der ToolExecutorCoordinator ist als Registry ausgeführt, die Handler liegen in eigenen Dateien und lassen sich nach Name registrieren und erweitern.
- „plan und act sind zwei Codebasen" — nein. Beide nutzen dieselbe Task-Schleife, nur System-Prompt und erlaubter Werkzeugsatz unterscheiden sich.
Empfohlene Lesereihenfolge
Zuerst Start und Host lesen, dann Task-Klasse und Rekursive Ansteuerung, danach in der Reihenfolge Werkzeugsystem → Provider → System-Prompts und Modi → MCP und Sub-Agent → Speicher und Hooks weitergehen.
Siehe offizielle Dokumentation: Cline-Website · Cline-Dokumentation · GitHub