CoreCoder: ein Coding-Agent in rund 1.100 Zeilen Python zum Lesen und Forken
Minimal AI coding agent (~1,000 lines of Python) inspired by Claude Code. Works with any LLM. Think NanoGPT for coding agents. Formerly NanoCoder.
Auf einen Blick
- Was ist das?
- CoreCoder ist ein minimaler Coding-Agent, dessen Engine laut Repository 1.161 Zeilen umfasst und der über jede OpenAI-kompatible API mit beliebigen Modellen spricht. Der Wert liegt nicht im Betrieb, sondern darin, dass der Code vollständig lesbar und veränderbar ist.
- Für wen ist es gedacht?
- Wer verstehen will, wie ein Coding-Agent intern aufgebaut ist, und bereit ist, den Code selbst zu lesen und zu verändern, findet in CoreCoder eine lauffähige Grundlage mit MIT-Lizenz. Wer einen ausgereiften Assistenten für den täglichen Einsatz sucht, sollte bei Claude Code oder aider bleiben.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 2 Tagen.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Python, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 15. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Ein Agent, der sich in einem Nachmittag lesen lässt
Produktionsagenten wie Claude Code oder Cursor bestehen laut README aus mehreren hunderttausend Zeilen, und der Quellcode ist nicht einsehbar. Aider bewegt sich im Bereich von zehntausenden Python-Zeilen. CoreCoder setzt dagegen auf eine Engine von 1.161 Zeilen nach Abzug von Leerzeilen und Kommentaren, das gesamte Paket umfasst laut Repository 24 Dateien mit 2.384 physischen und 1.931 Netto-Zeilen. Die Zielgruppe sind Entwickler, die die Mechanik eines Coding-Agenten nicht aus Vorträgen, sondern aus lauffähigem Code lernen wollen. Das Projekt beschreibt sich selbst als das NanoGPT der Coding-Agenten, also als minimale Referenzimplementierung, nicht als Wettbewerber zu den genannten Werkzeugen. Wer eine fertige Lösung für den Arbeitsalltag sucht, ist hier falsch adressiert.
Was der Agent tatsächlich tut
Der Kern ist laut README eine while-Schleife um ein großes Sprachmodell, ergänzt um sieben oder acht Werkzeuge, mit denen das Modell Dateien liest, Dateien schreibt, Shell-Befehle ausführt und Unteragenten startet. Die Schleife liegt in agent.py, das mit 213 Zeilen als Einstiegspunkt genannt wird. Daneben stehen llm.py für das Streaming der Modellantworten und weitere Module für Kontextverwaltung, Werkzeuge und Sitzungen. Der Kontext wird in drei Stufen kompaktiert, wenn er zu groß wird. Der Agent zählt außerdem die verbrauchten Token und die angefallenen Dollarkosten und gibt sie auf Anfrage aus. Jede Operation, die auf die Festplatte schreibt oder einen Befehl ausführt, hält vorher an und wartet auf Zustimmung. Diese Freigabeschicht kam mit v0.5.0 hinzu, v0.6.0 ergänzte MCP-Unterstützung, Hooks und einen Planungsmodus, v0.4.2 führte Checkpoints für /undo ein.
Installation und Modellwahl über zwei Umgebungsvariablen
Der empfohlene Weg ist ein Klon mit editierbarer Installation, damit man beim Lesen sofort ändern und neu starten kann:
git clone https://github.com/he-yufeng/CoreCoder cd CoreCoder pip install -e .
Alternativ genügt pip install corecoder. Für den Betrieb braucht der Agent einen Modellnamen und einen Schlüssel. Standardmäßig spricht er die OpenAI-kompatible API; der Wechsel des Anbieters läuft laut README meist über zwei Variablen. Für DeepSeek setzt man OPENAI_API_KEY, OPENAI_BASE_URL=https://api.deepseek.com und CORECODER_MODEL=deepseek-chat. Für ein lokales Ollama sind es OPENAI_API_KEY=ollama, OPENAI_BASE_URL=http://localhost:11434/v1 und CORECODER_MODEL=qwen2.5-coder. Der Schlüssel lässt sich exportieren oder in eine .env im Projektstamm legen, die beim Start geladen wird. Für Anbieter ohne OpenAI-kompatiblen Endpunkt gibt es das optionale LiteLLM-Backend über pip install "corecoder[litellm]". Gestartet wird interaktiv mit corecoder oder als Einmalaufruf mit corecoder -p "add error handling to parse_config()". Wichtig für Skripte: der Einmalmodus verweigert verändernde Werkzeuge, solange nicht --yes übergeben wird.
Die Freigabeschicht als bewusste Reibung
Dass -p ohne --yes keine schreibenden Werkzeuge ausführt, ist kein Fehler, sondern eine Designentscheidung, die das README ausdrücklich als Absicht benennt. Für unbeaufsichtigte Läufe bedeutet das, dass man die Freigabe explizit erteilen muss und damit auch die Verantwortung für alles übernimmt, was der Agent danach an Dateien und Prozessen anfasst. Die Schicht schützt also nur so lange, wie niemand --yes setzt. Wer CoreCoder in eine Pipeline einbaut, sollte diesen Punkt zuerst prüfen, denn er bestimmt, ob der Agent ein Werkzeug mit Sicherheitsnetz oder ein Werkzeug mit Aus-Schalter ist. Genau hier liegt auch der Grund, warum das Projekt sich nicht als täglichen Begleiter positioniert: die Reibung ist für das Lernen nützlich und für Automatisierung hinderlich.
Wo die Grenzen liegen
Das README ist offen darüber, dass die Lücken beabsichtigt sind. Fehlende Funktionen sind nicht halbfertig, sondern die Stellen, an denen man abzweigt und eigene Erweiterungen baut. Wer einen Agenten mit umfangreicher Werkzeugpalette, ausgereifter Projektanalyse oder tief integrierter Editorunterstützung braucht, wird hier nicht fündig, und das ist auch nicht das Versprechen. Ein zweiter Vorbehalt betrifft die Modellabhängigkeit: die Qualität des Ergebnisses hängt fast vollständig am gewählten Modell, und das Repository nennt zwar Smoke-Tests gegen DeepSeek, Qwen3 und Kimi K2 über einen OpenRouter-kompatiblen Endpunkt, bei denen jeweils der volle Zyklus aus Lesen, Bearbeiten, Ausführen und Berichten durchlief, aber daraus lässt sich keine Aussage über Zuverlässigkeit bei längeren oder ungewöhnlichen Aufgaben ableiten. Wer den Agenten auf ein bestehendes Repository mit vielen Dateien loslässt, sollte mit der dreistufigen Kontextkompaktierung rechnen, die bei großen Kontexten Einfluss auf das Verhalten hat.
Aider und Claude Code als Vergleichsmaßstab
Der Unterschied zu aider liegt weniger im Funktionsumfang als im Umfang des Codes selbst. Aider ist laut Vergleichstabelle ein ausgewachsenes Terminal-Werkzeug zum Pair-Programming mit zehntausenden Python-Zeilen; bis man sich darin zurechtfindet, vergehen laut README einige Tage. CoreCoder ist an einem Nachmittag gelesen, bietet dafür aber deutlich weniger. Claude Code wiederum ist geschlossen und laut Tabelle nicht lesbar. Die Gegenüberstellung mit NanoGPT macht die Absicht klarer: beide Projekte sind minimal und lesbar, nur ist das Thema bei NanoGPT das Trainieren eines GPT und bei CoreCoder ein Agent, der Code bearbeitet. Wer einen Agenten produktiv einsetzen will, sollte aider oder Claude Code wählen. Wer verstehen will, warum ein Agent so gebaut ist, wie er ist, findet bei CoreCoder den kürzeren Weg zum Quellcode.
Wartung, Lizenz und was vor dem Forken zu klären ist
CoreCoder steht unter der MIT-Lizenz, was das Forken, Verändern und Weiterverbreiten erlaubt, solange der Lizenztext und der Urheberrechtshinweis erhalten bleiben. Das Repository ist nicht archiviert, der letzte Push liegt laut Metadaten auf dem 8. September 2026, und die Versionsfolge 0.4.2, 0.5.0 und 0.6.0 fällt in einen kurzen Zeitraum, was auf aktive Entwicklung hindeutet. Daraus folgt ein konkreter Wartungspunkt: wer forkt, übernimmt die Pflege selbst, und bei einem Projekt dieser Größe ist der Aufwand überschaubar, aber nicht null. Vor dem eigenen Einsatz lohnt es sich, agent.py und die Freigabeschicht zu lesen, die mit v0.5.0 eingeführt wurde, und danach zu entscheiden, ob man die Reibung beibehalten oder durch --yes umgehen will. Diese Entscheidung ist der eigentliche Einstiegspunkt in den eigenen Fork.
Redaktionelles Fazit
Wer verstehen will, wie ein Coding-Agent intern aufgebaut ist, und bereit ist, den Code selbst zu lesen und zu verändern, findet in CoreCoder eine lauffähige Grundlage mit MIT-Lizenz. Wer einen ausgereiften Assistenten für den täglichen Einsatz sucht, sollte bei Claude Code oder aider bleiben. Vor dem Forken lohnt ein Blick in agent.py und in die Freigabeschicht aus v0.5.0, denn dort entscheidet sich, wie viel Schutz vor schreibenden Werkzeugen im eigenen Betrieb übrig bleibt.
Community-Notizen