How rkfshakti/hermes-glassbox works
Hermes Glassbox is a macOS Seatbelt terminal backend and inspection plugin. Hermes routes terminal and file-tool work through the provider; a preflight hook can give early denials for path-based file tools, while the generated Seatbelt profile is the actual boundary. The provider runs commands and records outcomes in a local audit log. Users and agents can inspect policy, verify containment, and view reports through registered tools, slash commands, or the CLI. The README documents these capabilities; some implementation details are unsampled, so the graph omits unverified links.
Main entry points: handlers.py Inspection Tools · provider.py Terminal Provider · audit.py Audit Log · __init__.py Plugin Registration
Components 18
Hermes Integration
- Plugin Registration
__init__.py - File Preflight
preflight.py - Inspection Tools
handlers.py - Tool Schemas
schemas.py - Slash Command
__init__.py
Containment Runtime
- Terminal Provider
provider.py - Policy Builder
policy.py - macOS Seatbelt
- Sandboxed Commands
provider.py
Audit and Inspection
- Audit Log
audit.py - Audit Summaries
audit.py - Text and HTML Reports
audit.py - Glassbox CLI
cli.py
Verification
- Containment Checks
verify.py - Tool Results
handlers.py
Other components
- Hermes Agent
- Hermes CLI
- Local Filesystem
Connections 31
- Hermes Agent → Plugin Registration: loads plugin
__init__.py - Plugin Registration → Terminal Provider: registers provider
__init__.py - Plugin Registration → File Preflight: registers hook
__init__.py - Plugin Registration → Inspection Tools: registers tools
__init__.py - Plugin Registration → Tool Schemas: registers schemas
__init__.py - Hermes Agent → Terminal Provider: dispatches commands
README.md - Hermes Agent → File Preflight: checks file paths
README.md - File Preflight → Policy Builder: checks access
preflight.py - Terminal Provider → Policy Builder: builds profile
provider.py - Terminal Provider → Sandboxed Commands: runs commands
provider.py - Sandboxed Commands → macOS Seatbelt: executes under
README.md - macOS Seatbelt → Local Filesystem: enforces access
README.md - Terminal Provider → Audit Log: records outcomes
provider.py - Audit Log → Local Filesystem: writes JSONL
audit.py - Audit Log → Audit Summaries: summarizes entries
audit.py - Audit Summaries → Text and HTML Reports: renders reports
audit.py - Hermes CLI → Glassbox CLI: invokes commands
cli.py - Glassbox CLI → Audit Log: reads entries
cli.py - Glassbox CLI → Text and HTML Reports: renders reports
cli.py - Glassbox CLI → Containment Checks: runs checks
cli.py - Hermes Agent → Inspection Tools: calls inspection tools
- Inspection Tools → Audit Log: reads entries
handlers.py - Inspection Tools → Audit Summaries: summarizes entries
handlers.py - Inspection Tools → Policy Builder: builds preview
handlers.py - Inspection Tools → Containment Checks: runs checks
handlers.py - Containment Checks → Terminal Provider: creates test environment
verify.py - Containment Checks → Tool Results: returns checks
handlers.py - Hermes Agent → Slash Command: invokes command
__init__.py - Slash Command → Audit Log: reads entries
__init__.py - Slash Command → Containment Checks: runs checks
__init__.py - Slash Command → Policy Builder: renders profile
__init__.py