Modell / Datensatz
tigicion/dao-code avatar
tigicion/dao-code

Dao Code: ein Terminal-Agent für DeepSeek V4, der den Prefix-Cache zum Architekturprinzip macht

Open-source TypeScript terminal coding agent for DeepSeek-V4 — builds on DeepSeek's strong price-performance and ultra-cheap cache pricing, engineering byte-stable prefixes and cache-reusing forks so cross-session memory and a continuous self-correction layer add almost no token cost; 1M context, Skills/MCP/Hooks, Claude Code config compatible.

1.084 Sterne43 ForksTypeScriptMIT

Auf einen Blick

Was ist das?
Dao Code ist ein quelloffener TypeScript-Coding-Agent für DeepSeek V4, der byte-stabile Prefixes und cache-wiederverwendende Forks einsetzt, um Memory und Selbstkorrektur fast kostenlos zu halten. Die Kostenzahlen stammen aus dem projekteigenen Eval-Suite, nicht aus unabhängiger Prüfung.
Für wen ist es gedacht?
Wer DeepSeek V4 bereits nutzt, in einer Region ohne bequemen Anthropic-Zugang arbeitet und die Cache-Disziplin als Architektur akzeptiert, findet hier einen schlanken Terminal-Agenten mit MIT-Lizenz. Wer einen reifen Agenten mit breiter Modellwahl, langer Release-Historie oder unabhängig nachgerechneten Kostenbelegen braucht, sollte warten.
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 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich TypeScript, 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

Das Problem: Agenten scheitern an Kosten und Verfügbarkeit, nicht an Modellqualität

Ein Terminal-Agent, der Code liest, schreibt, Befehle ausführt und Fehler behebt, verbraucht pro Aufgabe erhebliche Kontextmengen. Jeder Turn schickt den System-Prompt, die Tool-Tabelle und den bisherigen Verlauf erneut an das Modell. Bei den Preisen geschlossener Anbieter wird genau das zum Kostentreiber, und in Regionen ohne bequemen Zugang zu Anthropic-Konten kommt die Verfügbarkeit als zweite Hürde dazu. Das README nennt diesen Doppelengpass explizit und positioniert Dao Code als Antwort darauf: DeepSeek sei registrier- und sofort nutzbar sowie direkt in Festlandchina erreichbar, und die Cache-Preise lägen weit unter den Miss-Preisen. Die Zielgruppe sind damit Entwickler, die einen Agenten im Terminal wollen, aber weder den Anbieterwechsel noch die laufenden Kosten eines Premium-Modells mitmachen wollen. Das ist eine bewusste Einschränkung: Das Projekt zielt auf ein einziges Modell, nicht auf Modellvielfalt.

Byte-stabiler Prefix als eigentliche Architektur

Der Mechanismus, auf dem alles ruht, ist der Prefix-Cache von DeepSeek. Er greift nur, wenn der Anfang des Prompts über Turns hinweg unverändert bleibt. Dao Code hält deshalb System-Prefix, Tool-Tabelle und Memory byte-stabil, damit der Cache-Anfang nie neu geschrieben wird. Reflexion und Memory laufen nach Angabe des README nicht im Hauptstrang, sondern als Forks, die denselben Prefix-Cache wiederverwenden, ohne ihn zu brechen. Das ist der Kern des Entwurfs: Qualitätsfunktionen wie Selbstprüfung und Erinnerung sollen keinen zusätzlichen Token-Aufwand erzeugen, weil sie auf bereits bezahlten Cache-Treffern aufsetzen. Der Preis dieser Disziplin ist Starrheit. Wer den System-Prompt zur Laufzeit umbaut, verliert den Cache. Das Projekt stellt dafür mit /audit cache und einem Vier-Dimensionen-Fingerprint ein Werkzeug bereit, das nach Angabe des README eingrenzt, was den Cache gebrochen hat. Dass ein solches Diagnosewerkzeug überhaupt nötig ist, zeigt, wie fragil die Eigenschaft in der Praxis sein kann.

Kontextverwaltung: Kompaktierung, Spill auf Platte, harte Truncation als letzte Stufe

Für lange Aufgaben beschreibt das README eine mehrstufige Kompaktierung: einen reaktiven Retry, das In-Place-Löschen veralteter Tool-Ergebnisse, eine inkrementelle Zusammenfassung und als Fallback eine harte Truncation, falls der Summarizer fehlschlägt. Zusätzlich wandern übergroße Ausgaben auf die Platte, im Kontext bleibt nur ein Zeiger zurück. Diese Kette ist bemerkenswert ehrlich dokumentiert, weil sie einen Fehlerfall eingesteht: Der Summarizer kann versagen. Die harte Truncation ist dann kein elegantes Verhalten, sondern der Notausgang, und sie kostet Kontext, den der Agent danach nicht mehr hat. Wer den Agenten autonom über Stunden laufen lässt, sollte wissen, dass die Qualität gegen Ende einer sehr langen Sitzung von der Zuverlässigkeit der Zusammenfassung abhängt. Das README nennt außerdem eine periodische Refokussierung gegen Scope Creep, ohne den Mechanismus im gelieferten Ausschnitt näher zu beschreiben. Hier bleibt die Dokumentation dünn.

Memory, das sich gegen den lebenden Code prüft

Cross-Session-Memory ist in Agenten meist eine Ansammlung von Notizen, die nie altern. Dao Code geht laut README einen anderen Weg: Am Sitzungsende werden Präferenzen, Projektkonventionen und Fakten destilliert, beim Start jedoch deterministisch gegen den aktuellen Code verifiziert. Veraltete Einträge werden verworfen, geänderte markiert. Ein Decay-GC räumt tote Erinnerungen ab, und das Modell kann per memory_read bei Bedarf nachlesen. Das ist der überzeugendste Teil des Entwurfs, weil er ein reales Problem adressiert: falsch erinnertes Wissen ist schlimmer als gar keines. Ob die Verifikation tatsächlich deterministisch arbeitet und wie sie geänderte Fakten erkennt, lässt sich aus dem vorliegenden Material nicht ableiten. Das README behauptet die Eigenschaft, belegt sie im zitierten Ausschnitt aber nicht. Wer Memory als verlässlich voraussetzt, sollte diesen Punkt zuerst selbst prüfen.

Installation und Konfiguration

Der Agent wird als npm-Paket dao-code ausgeliefert, das Kommando heißt dao. Das README nennt Node ≥ 20, belegt durch die .nvmrc im Repository. Für die Kostenkontrolle nennt die Dokumentation zwei Befehle: /cost zeigt Trefferquote und Ausgaben, /audit cache grenzt Cache-Brüche ein. Der Befehl npm run accept:cache startet laut README eine mehrstufige Konversation gegen die Live-API, damit sich der Anstieg der Trefferquote vom Kaltstart bis zum eingeschwungenen Zustand beobachten lässt. Das ist ausdrücklich als Mechanismus-Demo deklariert, nicht als Kostenmessung. Die Konfiguration ist Claude-Code-kompatibel, und das Projekt unterstützt Skills, MCP und Hooks. Eine Einschränkung ist im Material sichtbar: Das README ist chinesisch-first, die englische Fassung existiert, aber die primäre Sprache der Dokumentation ist Chinesisch. Für Teams ohne chinesische Sprachkenntnisse bedeutet das, sich auf die übersetzte Fassung zu verlassen.

Die Kostenargumentation und ihre Grenzen

Das README präsentiert sieben SWE-bench-artige Aufgaben aus realen Open-Source-Repositories (valibot, date-fns, es-toolkit, sqlglot, hono) mit insgesamt 3,89 Millionen Eingabe-Tokens und einer aggregierten Cache-Trefferquote von 95,8 Prozent, pro Aufgabe zwischen 85,4 und 97,7 Prozent. Bei den zum Stand Juni 2026 genannten DeepSeek-V4-Pro-Preisen ergibt das laut Projekt 0,07 bis 0,21 Yuan pro Aufgabe, im Schnitt 0,15 Yuan, insgesamt 1,07 Yuan. Die Gegenrechnung gegen Claude Opus 4.8 und Sonnet 4.6 verwendet dieselbe Token-Spur und rechnet den hohen Trefferquotenvorteil zugunsten von Claude ein, was die Methodik fairer macht als eine reine Listenpreisgegenüberstellung. Trotzdem bleiben es Zahlen des Projekts über sein eigenes Eval-Suite. Die Logs liegen unter evals/runs/<task>/run-1/agent.log, und das README verweist auf die Nachprüfbarkeit per /cost. Das ist besser als nichts, aber es ist keine unabhängige Messung. Wer die Zahlen als Einkaufsargument behandelt, sollte die Logs selbst nachrechnen. Der Hinweis, dass die Preise Stand Juni 2026 sind, macht die Rechnung zudem zeitabhängig.

Wo Dao Code das falsche Werkzeug ist

Die Bindung an DeepSeek V4 ist keine Nebenbedingung, sondern die Grundlage des Cache-Arguments. Ein Team, das aus Compliance- oder Vertragsgründen auf einem anderen Anbieter arbeiten muss, verliert den zentralen Vorteil und behält die Starrheit des byte-stabilen Prefixes. Auch die Benchmark-Aussage ist begrenzt: 13 von 14 Aufgaben im SWE-bench-Stil und 70 von 89 Aufgaben in Terminal-Bench 2.1 bei 1× Timeout, ausgeführt über Harbor. Das sind solide Zahlen für ein junges Projekt, aber die Auswahl der Aufgaben stammt aus dem Projekt selbst, und die Terminal-Bench-Aufgaben decken Sysadmin, Security, Data Science und Debugging ab, nicht den Alltag eines Produktteams. Ein weiterer Punkt: Die Release-Historie im vorliegenden Material reicht bis v0.4.7 vom Juli 2026, der letzte Push datiert auf September 2026. Ein Projekt in dieser Versionsstufe ändert Konfigurationsformate und Verhalten erfahrungsgemäß noch. Wer einen Agenten für ein reguliertes Umfeld mit stabilem Verhalten braucht, ist hier falsch.

Alternative: Claude Code und der Unterschied im Ansatz

Das README nennt Claude Code als Inspiration und als Kontrast. Der Unterschied liegt nicht im Funktionsumfang, sondern in der Verteilung der Kosten. Claude Code setzt auf ein teures Modell und kauft sich Erfahrung über Modellqualität; Dao Code setzt auf ein günstiges Modell und baut die Erfahrung über Cache-Disziplin, Memory-Verifikation und eine Reflexionsschicht nach. Das ist ein realer architektonischer Unterschied mit Konsequenzen: Bei Claude Code ist die Prompt-Struktur weitgehend eine Implementierungsdetails des Anbieters, bei Dao Code ist sie die Kernressource, die der Nutzer nicht verletzen darf. Umgekehrt erkauft sich Claude Code Unabhängigkeit von einem einzelnen Modellanbieter, die Dao Code bewusst aufgibt. Wer Modellwahlfreiheit oder einen Anbieter mit eigener Infrastruktur in der EU braucht, hat mit Claude Code oder einem anderen Agenten mit austauschbarem Backend einen anderen Ausgangspunkt. Die Wahl ist damit keine Geschmacksfrage, sondern eine Frage, ob man Cache-Disziplin oder Anbieterflexibilität höher gewichtet.

Wartung, Lizenz und was vor dem Einsatz zu prüfen ist

Dao Code steht unter MIT-Lizenz, was kommerzielle Nutzung, Änderung und Weitergabe erlaubt, solange Lizenz- und Copyright-Hinweis erhalten bleiben. Das Material enthält keine Hinweise auf zusätzliche Bedingungen, Namensrechte oder Beiträge-Drittlizenzen; das ist vor einem kommerziellen Einsatz im LICENSE-File und in den Abhängigkeiten selbst zu prüfen, nicht aus der README-Zusammenfassung. Die Wartungslage ist aus dem vorliegenden Material nur grob ablesbar: drei Releases zwischen Juni und Juli 2026, ein letzter Push im September 2026, keine Angabe zu Maintainer-Anzahl oder Release-Kadenz. Das README verweist auf CONTRIBUTING.md und eine CI-Pipeline, was auf einen gepflegten Prozess hindeutet, aber keine Aussage über langfristige Betreuung erlaubt. Die Kosten des Betriebs hängen direkt an den DeepSeek-Preisen, die sich ändern können, und an der eigenen Fähigkeit, den Prefix stabil zu halten. Wer den Agenten produktiv einsetzt, sollte vorher mindestens den Live-Test npm run accept:cache ausführen und die Trefferquote im eigenen Repository beobachten, weil die dokumentierten 95,8 Prozent aus fremden Repositories mit anderen Konventionen stammen.

Redaktionelles Fazit

Wer DeepSeek V4 bereits nutzt, in einer Region ohne bequemen Anthropic-Zugang arbeitet und die Cache-Disziplin als Architektur akzeptiert, findet hier einen schlanken Terminal-Agenten mit MIT-Lizenz. Wer einen reifen Agenten mit breiter Modellwahl, langer Release-Historie oder unabhängig nachgerechneten Kostenbelegen braucht, sollte warten. Vor dem Einsatz zu prüfen: ob die im Repository dokumentierten Eval-Logs und der Befehl npm run accept:cache auf der eigenen Maschine tatsächlich reproduzierbar sind, denn die Kostenargumentation des Projekts steht und fällt mit der Cache-Trefferquote.

Offizielle Quellen

  1. License: MIT
  2. Project website
  3. README
  4. Releases
  5. tigicion/dao-code on GitHub
Community-Notizen

Community-Notizen