Modell / Datensatz
xenodium/agent-shell avatar
xenodium/agent-shell

agent-shell: ACP-Agenten im nativen Emacs-Buffer

A native Emacs buffer to interact with LLM agents powered by ACP

1.860 Sterne235 ForksEmacs LispGPL-3.0

Auf einen Blick

Was ist das?
agent-shell verbindet Emacs über das Agent Client Protocol mit Claude, Codex, Gemini CLI, Goose und weiteren ACP-Agenten. Der Ansatz ist ungewöhnlich, die Bindung an acp.el und die Abhängigkeit von externen CLI-Agenten sind es ebenfalls.
Für wen ist es gedacht?
agent-shell ist für Emacs-Nutzer gedacht, die bereits einen ACP-fähigen Agenten wie Claude Agent, Codex oder Gemini CLI installiert haben und dessen Sitzungen im Editor statt im Terminal führen wollen. Wer keinen dieser Agenten betreibt oder Emacs nicht als Hauptarbeitsumgebung nutzt, gewinnt nichts.
Darf ich es kommerziell nutzen?
Ja, unter Bedingungen. GPL-3.0 ist eine Copyleft-Lizenz: Wenn Sie Software weitergeben, die sie enthält, müssen Sie deren Quellcode unter derselben Lizenz veröffentlichen. Wer sie nur intern betreibt, ohne sie weiterzugeben, löst diese Pflicht nicht aus.
Wird es noch gepflegt?
Ja. Das Repository hat innerhalb des letzten Tages neue Commits erhalten.
In welcher Sprache ist es geschrieben?
Hauptsächlich Emacs Lisp, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 16. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Ein Buffer statt vieler Terminalfenster

Wer Claude Agent, Codex oder die Gemini CLI nutzt, kennt das Muster: Der Agent läuft in einem Terminal, der Code liegt in Emacs, und die Kontextwechsel summieren sich über den Tag. agent-shell setzt genau dort an. Das Projekt beschreibt sich selbst als nativer Emacs-Shell für die Interaktion mit LLM-Agenten, die das Agent Client Protocol (ACP) sprechen. Statt die Agenten neu zu implementieren, bleibt der jeweilige CLI-Agent der eigentliche Gesprächspartner, und Emacs wird zur Oberfläche. Die README nennt Claude Agent, Codex, Gemini CLI, Goose, Grok Build, Cursor, Kimi Code CLI, CodeBuddy, Kiro CLI, Qwen Code, Auggie, Mistral Vibe, Factory Droid, Pi, Oh My Pi, Opencode und Antigravity. Diese Liste ist keine Empfehlung, sondern eine Aufzählung dessen, was laut Projekt ACP spricht. Die Zielgruppe ist entsprechend eng: Menschen, die Emacs ohnehin als Hauptwerkzeug verwenden und bereits einen dieser Agenten einsetzen. Für alle anderen ist der Nutzen gering, weil agent-shell selbst keinen Agenten mitbringt.

acp.el als eigentliche Schnittstelle

Die Architektur ist zweistufig. agent-shell ist die Emacs-Oberfläche, die Kommunikation übernimmt acp.el, ein separates Paket aus demselben Autorenumfeld. Die README formuliert es knapp: agent-shell relies on acp.el to communicate with agents via ACP. Das Agent Client Protocol ist ein offener Standard, der beschreibt, wie ein Client mit einem Agenten spricht. Wer das Protokoll implementiert, kann von jedem konformen Client angesprochen werden. Für agent-shell bedeutet das: Die Liste der unterstützten Agenten wächst nicht durch Änderungen an agent-shell, sondern durch neue ACP-Implementierungen auf der Agentenseite. Das ist ein bewusster Verzicht auf eigene Adapter, der das Projekt klein hält, aber auch bedeutet, dass jede Eigenheit eines Agenten über das Protokoll abgebildet werden muss. Wo ein Agent Funktionen außerhalb von ACP anbietet, erreichen sie Emacs nicht ohne Weiteres. Die README macht dazu keine Angaben, und aus dem Repository-Aufbau lässt sich das ebenfalls nicht ableiten.

Installation über MELPA und die Frage des Agenten

Die README zeigt ein MELPA-Badge, das Paket ist also über MELPA verfügbar. Der übliche Weg führt über die Paketverwaltung: M-x package-install mit dem Paketnamen agent-shell, nachdem MELPA in package-archives eingetragen und der Paketindex mit M-x package-refresh-contents aktualisiert wurde. Da agent-shell auf acp.el angewiesen ist, muss dieses Paket ebenfalls verfügbar und installiert sein. Die README verlinkt acp.el auf GitHub, nennt aber keine Bezugsquelle innerhalb von MELPA. Ob acp.el dort liegt oder aus einem anderen Archiv stammt, geht aus dem Material nicht hervor. Das ist der erste Punkt, den man vor der Installation klären sollte. Der zweite Punkt ist der Agent selbst. agent-shell startet keinen Agenten, es verbindet sich mit einem. Wer Claude Agent nutzen will, braucht die Claude-CLI, für Codex das entsprechende ACP-Paket, für Gemini CLI die Google-CLI. Ohne einen installierten und funktionsfähigen Agenten bleibt der Emacs-Buffer leer. Konkrete Konfigurationsschlüssel für die Agentenauswahl nennt die README nicht. Sie verweist stattdessen auf Blogbeiträge, darunter agent-shell 0.63 updates und die Einführungsbeiträge zu agent-shell und acp.el, in denen die Einrichtung beschrieben sein dürfte.

Was das Ökosystem über den Kern verrät

Auffällig ist die Liste der Related projects. Sie umfasst Sidebar-Integrationen, Bookmarks, Org-Transkripte, Desktop-Benachrichtigungen, Tramp-Unterstützung, ein Org-Babel-Backend, eine macOS-Erweiterung, einen Slack-Zugang über agent-shell-to-go und mehrere Verwaltungsoberflächen für parallele Sitzungen. Diese Aufteilung ist ein Signal: Der Kern deckt den Buffer und die Protokollkommunikation ab, alles darüber hinaus wird ausgelagert. Für Nutzer heißt das, dass Funktionen wie das Wiederaufnehmen einer Sitzung nach dem Neustart von Emacs nicht selbstverständlich sind. agent-shell-desktop.el speichert Sitzungen nach Ordner, Konfiguration und Session-ID, agent-recall durchsucht Transkripte, agent-shell-bookmark setzt Lesezeichen. Wer solche Dinge erwartet, muss zusätzliche Pakete einplanen, jedes mit eigener Wartung und eigener Kompatibilität zum Kern. Die Breite des Ökosystems zeigt auch, dass mehrere Personen das Projekt aktiv erweitern, ohne dass daraus etwas über die Qualität des Kerns folgt.

Grenzen: kein Agent, kein Betrieb ohne CLI

Die deutlichste Einschränkung steckt im Konzept. agent-shell ist ein Client. Es bringt kein Modell, keinen API-Schlüssel und keine Authentifizierung mit. Fällt die externe CLI aus, ändert sich ihr Verhalten oder wird sie eingestellt, trifft das die Emacs-Oberfläche unmittelbar. Die README listet zwar viele Agenten, gibt aber keine Auskunft darüber, wie vollständig ACP in jedem Fall umgesetzt ist. Unterschiede im Verhalten zwischen Claude Agent, Codex und Gemini CLI sind damit zu erwarten, ohne dass die Dokumentation sie benennt. Ein zweiter Punkt ist die Plattform. Emacs Lisp läuft überall, wo Emacs läuft, aber die Agenten-CLIs sind nicht überall gleich verfügbar. Für Windows-Nutzer ist die Lage unklar, die README schweigt dazu. Und wer Emacs nicht täglich nutzt, für den ist der Wechsel in einen Buffer kein Gewinn, sondern eine zusätzliche Schicht zwischen sich und dem Agenten. In diesem Fall ist ein Terminal oder die Weboberfläche des Anbieters das passendere Werkzeug.

Abgrenzung zu Editor-Integrationen mit eigenem Modellzugriff

Die naheliegende Alternative sind Erweiterungen, die den Modellzugriff selbst mitbringen, etwa in VS Code oder als eigenständige Chat-Anwendungen. Der Unterschied liegt nicht in der Oberfläche, sondern in der Zuständigkeit. Solche Werkzeuge verwalten API-Schlüssel, Modellauswahl und Sitzungsverlauf selbst und sind damit unabhängig von einer lokalen CLI. agent-shell delegiert all das an den Agenten und beschränkt sich auf die Darstellung und die Protokollschicht. Das hat Vorteile: Der Agent behält seine eigenen Werkzeuge, Berechtigungen und Konfigurationsdateien, und ein Wechsel des Anbieters bedeutet nur einen anderen Agenten hinter demselben Protokoll. Der Preis ist die Abhängigkeit. Wer keinen ACP-Agenten betreiben will oder darf, für den ist agent-shell von vornherein keine Option. Umgekehrt gilt: Wer bereits in eine bestimmte CLI investiert hat, bekommt mit agent-shell eine Oberfläche, die diesen Aufwand nicht dupliziert.

Wartung, Lizenz und Finanzierung

Das Projekt steht unter GPL-3.0. Wer es unverändert nutzt, hat damit keine besonderen Pflichten. Wer es weiterverbreitet oder verändert weitergibt, muss die Bedingungen der GPL-3.0 einhalten, was insbesondere die Offenlegung des Quellcodes betrifft. Das ist eine allgemeine Einordnung, keine Rechtsberatung. Bemerkenswert ist der Finanzierungshinweis. Die README beginnt mit einem Abschnitt This project needs your funding und verweist auf GitHub Sponsors. Der Autor schreibt, dass er die Entwicklung und Wartung mit Unterstützung nachhaltiger gestalten will. Das ist ein ehrlicher Hinweis auf ein Projekt, das nicht von einer Firma getragen wird. Die Blogbeiträge zu den Versionen 0.5, 0.17, 0.25, 0.47, 0.55 und 0.63 zeigen eine Reihe von Zwischenversionen, was auf regelmäßige Änderungen hindeutet. Wer agent-shell produktiv einsetzt, sollte mit Anpassungen an der eigenen Konfiguration rechnen. Ein Erscheinungsdatum für die letzte Veröffentlichung liegt nicht vor, die README nennt keine Versionsnummer für den aktuellen Stand.

Redaktionelles Fazit

agent-shell ist für Emacs-Nutzer gedacht, die bereits einen ACP-fähigen Agenten wie Claude Agent, Codex oder Gemini CLI installiert haben und dessen Sitzungen im Editor statt im Terminal führen wollen. Wer keinen dieser Agenten betreibt oder Emacs nicht als Hauptarbeitsumgebung nutzt, gewinnt nichts. Vor der Installation ist zu prüfen, ob acp.el aus der angegebenen Quelle verfügbar ist, welche Emacs-Version vorausgesetzt wird und wie sich das GPL-3.0-Lizenzmodell mit der eigenen Konfiguration verträgt.

Offizielle Quellen

  1. Issues
  2. License: GPL-3.0
  3. Project website
  4. README
  5. xenodium/agent-shell on GitHub
Community-Notizen

Community-Notizen