Description
There is currently no documented way to connect one Hermes Agent instance to another remote Hermes Agent instance as a delegation target or "source" for task execution.
Current Behavior
Each Hermes Agent instance operates independently. While the configuration supports:
- Remote terminal backends (Docker, Modal, Daytona, Singularity)
- Local delegation via subagents
- Messaging gateway for user interaction
There is no mechanism to network two Hermes Agent instances together to delegate reasoning, tool execution, or access the remote instance's environment/resources.
Desired Behavior
A user with:
- MacBook Hermes (local, limited compute)
- Server Hermes (remote, GPU/storage access)
Should be able to:
- Configure Server Hermes to expose an RPC/HTTP interface for remote task execution
- Configure MacBook Hermes to register the Server Hermes endpoint as a delegation target
- Delegate tasks dynamically:
delegate_task(goal="...", remote_agent="server")
- Route expensive operations (training, inference, data processing) to the server instance
Use Cases
- GPU Offloading: Run inference/training on server GPU, reasoning on MacBook CPU
- Data Access: Execute file operations on server's local filesystem from MacBook
- Redundancy: Failover between multiple Hermes instances
- Distributed Workflows: Coordinate complex multi-step tasks across instances
- Resource Separation: Keep sensitive operations isolated on specific hardware
Proposed Solution
Add to ~/.hermes/config.yaml:
remotes:
server:
url: "http://server.local:8765/api"
api_key: "secret-token-here"
default_toolsets: [terminal, file]
timeout: 300
delegation:
max_iterations: 50
default_toolsets: [terminal, file, web]
remote_agent: "server" # Route eligible tasks to this remote
CLI override:
hermes chat --delegate-to server
hermes delegate_task --goal "train model" --remote server
Related Issues/Documentation
config.yaml allows custom terminal backends (Modal, Daytona) but no agent-to-agent backend
delegation config exists for subagents but only supports local processes
- No RPC/HTTP protocol documented for inter-agent communication
gateway system connects messaging platforms but not Hermes instances
Additional Notes
This could be implemented alongside existing delegation infrastructure by treating a remote Hermes instance as another backend option, similar to how Modal/Daytona are treated for terminal execution.
Description
There is currently no documented way to connect one Hermes Agent instance to another remote Hermes Agent instance as a delegation target or "source" for task execution.
Current Behavior
Each Hermes Agent instance operates independently. While the configuration supports:
There is no mechanism to network two Hermes Agent instances together to delegate reasoning, tool execution, or access the remote instance's environment/resources.
Desired Behavior
A user with:
Should be able to:
delegate_task(goal="...", remote_agent="server")Use Cases
Proposed Solution
Add to
~/.hermes/config.yaml:CLI override:
hermes chat --delegate-to server hermes delegate_task --goal "train model" --remote serverRelated Issues/Documentation
config.yamlallows custom terminal backends (Modal, Daytona) but no agent-to-agent backenddelegationconfig exists for subagents but only supports local processesgatewaysystem connects messaging platforms but not Hermes instancesAdditional Notes
This could be implemented alongside existing delegation infrastructure by treating a remote Hermes instance as another backend option, similar to how Modal/Daytona are treated for terminal execution.