How rkfshakti/hermes-sidecar works
Sidecar bridges a remote Hermes agent to command execution on the user's local machine: Hermes selects the Sidecar terminal backend, which sends requests to a paired local daemon. The daemon authenticates each request, applies local policy and approval, executes permitted commands, and records decisions in a local audit log. Pairing and inspection are supporting workflows. The README documents the overall bridge; sampled source confirms the provider/client and daemon internals, while some daemon execution details are not shown in the excerpts.
Main entry points: daemon.py Local HTTP daemon · client.py HTTP client · provider.py Terminal provider · __init__.py Plugin registration
Components 14
Hermes integration
- Terminal provider
provider.py - Remote settings
config.py - Status and audit tools
handlers.py - Plugin registration
__init__.py
Pairing and bridge
- Sidecar CLI
cli.py - Pairing tokens
pairing.py - HTTP client
client.py - Local HTTP daemon
daemon.py
Local execution controls
- Command policy
policy.py - Approval prompt
daemon.py - Command execution
daemon.py
Audit and inspection
- Local audit log
audit.py
Other components
- Remote Hermes
- Local user
Connections 17
- Remote Hermes → Terminal provider: selects backend
README.md - Plugin registration → Terminal provider: registers
__init__.py - Plugin registration → Status and audit tools: registers
__init__.py - Terminal provider → Remote settings: loads settings
provider.py - Terminal provider → HTTP client: sends commands
provider.py - HTTP client → Local HTTP daemon: HTTP requests
README.md - Local HTTP daemon → HTTP client: returns output
README.md - Sidecar CLI → Pairing tokens: creates pairing
README.md - Pairing tokens → Local HTTP daemon: authorizes requests
README.md - Local HTTP daemon → Command policy: checks command
daemon.py - Local HTTP daemon → Approval prompt: requests approval
README.md - Local user → Approval prompt: approves or denies
README.md - Local HTTP daemon → Command execution: runs approved command
README.md - Local HTTP daemon → Local audit log: records decisions
README.md - Status and audit tools → HTTP client: reads status and audit
handlers.py - HTTP client → Local audit log: fetches audit entries
README.md - Sidecar CLI → HTTP client: tests bridge
cli.py