// HEISE ONLINE — MODA & SOCIETÀ
OpenCode 2.1: Ein Coding-Agent, viele Modelle
Neue Datenfelder für Plug-ins und Clients, dauerhafte Terminals für Windows: Das bringt Version 2.1 des quelloffenen KI-Coding-Agenten OpenCode.
This article is also available in
English.
It was translated with technical assistance and editorially reviewed before publication.
OpenCode 2.1 ist da: Das Update ändert Schnittstellen für SDK, HTTP-Nachrichten, Ereignisse und Plug-ins. Wer OpenCode in eigene Werkzeuge eingebunden hat, muss mit der neuen Version mehrere Datenfelder anpassen. Für Anwender sichtbarer sind die dauerhaften Terminal-Sitzungen unter Windows und eine experimentelle Aufgabenliste in der Terminaloberfläche. Die jüngste Version baut auf OpenCode 2.0 auf, das den Coding-Agenten auf einen gemeinsamen Hintergrunddienst umgestellt hat.
OpenCode ist ein quelloffener KI-Coding-Agent für Entwickler. Er kann mit Sprachmodellen und Werkzeugen an Code arbeiten und lässt sich im Terminal, als Desktop-App oder im Browser bedienen. Auch andere Oberflächen wie OpenChamber können auf ihn zugreifen.
Den größten Umstellungsbedarf in Version 2.1 beschreibt das OpenCode-Changelog bei anbieterspezifischen Daten, die OpenCode bei späteren Modellaufrufen wiederverwendet. In den SDK-, HTTP- und Plug-in-APIs liegen diese Daten nun unter tool.native. Die bisherigen Felder providerState und providerResultState entfallen dort. Integrationen müssen die neuen Felder verwenden. Bereits gespeicherte Sitzungen und ältere Importe bleiben lesbar; eine Datenbankmigration ist laut Projekt nicht nötig.
Auch bei der Verdichtung langer Gespräche ändert sich das Datenformat. Neue Zusammenfassungen verweisen über metadata.keepID auf Nachrichten, deren Wortlaut erhalten bleibt, statt diesen Text nochmals zu speichern. Das Nachrichtenfenster für die weitere Verarbeitung durch einen Modellanbieter liegt jetzt unter native.messages statt unter providerContext. Wer Ereignisse zur Verdichtung abonniert, muss zudem auf die aktuellen Ereignisse session.compaction.started und session.compaction.ended wechseln; session.compacted entfällt.
Abseits der Schnittstellen erhalten Windows-Systeme mit x64- und ARM64-Prozessoren dauerhafte Pseudo-Terminals für denselben Terminal-Workflow wie macOS und Linux. Mit {"experimental":{"todo":true}} lässt sich außerdem das Werkzeug todowrite einschalten: Das Modell kann damit eine Aufgabenliste führen, die OpenCode in der Sitzung und in der Seitenleiste anzeigt. Länger laufende Befehle in der Terminaloberfläche sollen ihre Verbindung nicht mehr durch Buns bisherigen Standard-Fetch-Timeout von fünf Minuten verlieren.
Die Grundlage dafür legte Version 2.0. Wie das Projekt in seiner Vorstellung von OpenCode 2.0 erklärt, starten Terminaloberfläche, Weboberfläche und Desktop-App nicht mehr jeweils einen eigenen Agentenprozess. Stattdessen greifen sie auf einen gemeinsamen lokalen Hintergrunddienst zu. Skripte können diesen Dienst über den neuen Client ansprechen; OpenCode selbst kann über die überarbeitete API unter anderem Sitzungen verwalten und in Git-Worktrees verschieben.
Hinzu kommt der „Code Mode“. Darin kann der Agent Werkzeugaufrufe in einem Skript verknüpfen, statt jedes Ergebnis einzeln durch das Sprachmodell zu schicken. Bei einer Ticketsuche könnte er beispielsweise mehrere Einträge abrufen und nur die passenden Titel zurückgeben. Das hält Zwischenergebnisse aus dem Gesprächskontext heraus.
Der Versionssprung auf 2.0 war allerdings kein reines Funktionsupdate: Plug-ins für 1.x funktionieren nicht unverändert, und die Server-API wurde neu gefasst.