Skip to content

Sandbox-Backends

源码版本v2026.7.20

Verantwortung

Der Agent muss Befehle ausführen und Code laufen lassen, aber beliebige Befehle dürfen nicht direkt auf den Host durchschlagen. Das Terminal-Werkzeug von Hermes unterstützt 6 Ausführungs-Backends, gewählt nach Sicherheits-/Isolations-/Kosten-Trade-off: Local (direkt auf dem Host), Docker (Container-Isolation), SSH (entfernte Maschine), Singularity (HPC-Container), Modal (Cloud-Sandbox, direct oder managed), Daytona (Cloud-Dev-Umgebung). Container-Härtung + Namespace-Isolation; gefährliche Befehle werden zudem von Approval-Callbacks abgefangen.

Schlüsseldateien

Datenfluss

  1. Der Agent will einen Befehl ausführen → tool_call terminaltools/terminal_tool.py.
  2. Das Backend wird gemäß Job-Konfiguration gewählt (local/docker/modal/ssh/singularity/daytona):
  3. Gefährliche Befehle werden von Approval-Callbacks abgefangen – die Hauptschleife nutzt interaktive Approval; Subagenten sind per Default auto-deny (tools/delegate_tool.py:75); Cron/Batch kann opt-in auto-approve aktivieren.
  4. Die Befehlsausgabe wird in die Hauptschleife zurückgefüllt; lange Tasks können in den Hintergrund ausgelagert werden (tools/daemon_pool.py).

Zusammenfassung

Die Sandbox-Schicht ist «Ausführungs-Isolation + Kontrolle gefährlicher Befehle»: 6 Backends decken Host bis HPC bis Cloud ab; Docker prüft Bind-Mounts gegen Rechteausweitung; Modal unterscheidet direct-/managed-Anmeldedaten; gefährliche Befehle laufen einheitlich über Approval-Callbacks. Subagenten und Cron laufen über den nicht-interaktiven Pfad auto-deny/auto-approve.

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