Skip to content

ACP-Protokoll

源码版本v2026.7.20

Verantwortung

ACP (Agent Client Protocol) ist das Standardprotokoll, über das Editor/IDE mit dem Agenten kommunizieren. acp_adapter/ stellt Hermes als ACP-Server bereit, sodass ACP-fähige Clients (Zed, VS-Code-Erweiterungen u. a.) Hermes direkt antreiben können: Sitzungen verwalten, Ressourcen (Dateien/Bilder) lesen/schreiben, Edits genehmigen, Provenance nachverfolgen, Werkzeuge nach Berechtigungen isolieren. Damit ist Hermes nicht nur Nachrichtenplattform, sondern auch in Entwickler-Workflows eingebettet.

Schlüsseldateien

Datenfluss

  1. Ein ACP-Client (Editor) entdeckt via acp_registry/agent.json und startet den Hermes-ACP-Server (acp_adapter/__main__.py).
  2. Der Client öffnet eine Sitzung → SessionManager:175 erzeugt eine SessionState, richtet cwd aus (acp_adapter/session.py:29) und klappt die Toolsets auf (acp_adapter/session.py:129).
  3. Der Client sendet Nachrichten/Ressourcen → Ressourcen-Konvertierung:201 wandelt die ACP-Ressource (Datei/Bild, beschränkt durch acp_adapter/server.py:96) in OpenAI-Content-Parts und füttert run_conversation:588.
  4. Will der Agent eine Datei ändern, wird aus dem Werkzeugaufruf über build_edit_proposal:178 ein EditProposal, das über den Approval-Requester (acp_adapter/edit_approval.py:51) dem Nutzer zur Bestätigung vorgelegt wird.
  5. Die Werkzeugausführung wird durch acp_adapter/permissions.py berechtigt; jede Aktion wird über acp_adapter/provenance.py:22 als Provenance festgehalten.
  6. Streaming-Output und Events (acp_adapter/events.py) werden an den Client zurückgesendet.

Zusammenfassung

ACP bettet Hermes in Editor-Workflows ein: Sitzungsverwaltung, Ressourcen-Lesen/Schreiben, Edit-Genehmigung, Berechtigungs-Isolation, Provenance. Der Kern ist server.py (Protokoll-Adapter) + session.py (Sitzung) + edit_approval.py (menschliche Edit-Prüfung). Komplementär zum Gateway – das Gateway bindet Nachrichtenplattformen an, ACP bindet die IDE an.

Inoffizielle Community-Lernseite. Basiert auf dem MIT-lizenzierten NousResearch/hermes-agent-Quellcode.