- agent-shell ist eine auf comint-mode basierende native Shell, mit der sich AI-Agenten direkt in Emacs steuern lassen
- Mit ACP (Agent Client Protocol) bietet sie die Flexibilität, nicht an einen bestimmten Agenten gebunden zu sein und mit verschiedenen Agenten zu kommunizieren
- Eine Echtzeit-Traffic-Analyse und die Funktion für Fake-Agent- Replays steigern die Effizienz bei Tests und Entwicklung
- Obwohl noch nicht alle Protokollfunktionen implementiert sind, zeigt die Umsetzung bereits schnell ein praxistaugliches Niveau
- agent-shell und acp.el sind beide auf GitHub veröffentlicht, und Feedback zu zusätzlichen Funktionen oder Bugs ist willkommen
Einführung
- Kürzlich wurde durch das in Emacs Lisp implementierte acp.el die Anbindung an das von Zed und Google gemeinsam entwickelte Agent Client Protocol (ACP) möglich
- Bisher wurde nur eine grundlegende Integration mit LLMs wie chatgpt-shell bereitgestellt, während der ernsthafte Einsatz von AI-Agenten eher schleppend voranging
- Mit der Einführung von ACP wuchs der Bedarf an Agenten-Integration in der Emacs-Umgebung, was zur Entwicklung der nativen Emacs-agent-shell führte
Überblick über agent-shell
agent-shell basiert auf comint-mode und läuft innerhalb des vertrauten Buffersystems von Emacs
- Dadurch entsteht eine Umgebung, die sich ohne separate Umschaltung zwischen Zeichen- und Zeilenmodus wie eine normale Emacs-Shell verwenden lässt
Agent-agnostisch
- Dank ACP lässt sich mit einem einzigen Protokoll eine konsistente User Experience für die Kommunikation mit verschiedenen Agenten umsetzen
- Anhand von Konfigurationsbeispielen wird gezeigt, wie sich verschiedene Agenten wie Gemini CLI oder Claude Code mit nur kleinen Codeänderungen einsetzen lassen
- Beispielcode: Erläuterung der Konfiguration von Authentifizierung, Befehlen und Umgebungsvariablen für die jeweiligen Agenten
- Auch andere Agenten lassen sich auf die gleiche Weise leicht integrieren
Traffic-Ansicht
- Da noch keine Vertrautheit mit der Nutzung des ACP-Protokolls bestand, war es nötig, den Kommunikations-Traffic in Echtzeit zu analysieren
- agent-shell bietet dafür einen eigenen Traffic-Viewer-Buffer, in dem sich JSON-basierter Traffic mit dem Befehl
M-x agent-shell-view-traffic visuell prüfen lässt
Fake Agents (Fake-Agenten und Replays)
- Wegen Kosten und zeitlicher Ineffizienz bei der Entwicklung mit echten kostenpflichtigen Agenten wurde die Funktion für Fake-Agent-Replays eingeführt
- Gespeicherte Kommunikationsdaten aus dem Traffic-Buffer lassen sich wiedergeben, wodurch schnelle wiederholte Tests möglich werden
- Es gibt zwar einige Einschränkungen und Grenzen, doch Debugging und Entwicklungsprozess werden deutlich effizienter
Weitere Pläne und aktueller Status
- Derzeit ist nur ein Teil des Agent Client Protocol Schema implementiert, daher bleiben noch unvollständige Bereiche
- Es wird mit innovativer UX experimentiert, etwa mit einem Quick-(diff)-Buffer auf Basis der Tasten n/p und einem Permission-Dialog
- Geplant ist, den vollständigen Funktionsumfang des Protokolls zu erfassen und weiter zu implementieren
Veröffentlichung auf GitHub und Nutzungshinweise
- agent-shell und acp.el sind beide auf GitHub veröffentlicht
- agent-shell: ein Paket für Agenten-Nutzer
- acp.el: eine Bibliothek für Entwickler, die Integrationspakete rund um Agenten erstellen möchten
- Beide Projekte befinden sich noch in einer sehr frühen Beta-Phase; das Einreichen von Bugs und Feature-Requests wird empfohlen
- Bei der Nutzung von Cloud-LLM-Diensten entstehen zusätzliche Kosten, und auch Open-Source-Entwicklung selbst erfordert Aufwand und Ressourcen
- Wenn das Projekt nützlich ist, wird zur Unterstützung (Sponsoring) ermutigt
1 Kommentare
Hacker-News-Kommentare