Skip to main content

NemoClaw Hermes Agent

Back to agent catalog | main doc

Type: NemoClaw Framework: Nous Research Hermes (v2026.4.13) LLM: LiteMaaS (via LiteLLM proxy) Supervisor: No (standalone container) Sandbox Model: Tier 3 (K8s Deployment, no supervisor) Status: Deployed, platform + security tests pass. Inference tests skip (internal protocol).

1. Overview

Hermes is an autonomous AI agent from Nous Research integrated via NVIDIA NemoClaw. It provides an always-on gateway with support for Telegram, Discord, and Slack messaging platforms, plus an OpenAI-compatible API server.

In the Rossoctl PoC, Hermes runs as a standalone K8s Deployment built from the upstream NemoClaw source (pinned to v0.0.28). The gateway binds to 127.0.0.1:15053 internally; a socat bridge exposes it on 0.0.0.0:8642 for K8s Service access.

2. Architecture

3. Files

deployments/openshell/agents/nemoclaw-hermes/
├── Dockerfile # Built from python:3.12-slim, installs hermes-agent
│ # from GitHub release (pinned v2026.4.13)
└── deployment.yaml # Deployment + Service + AgentRuntime CR + ConfigMap

4. Deployment

# Kind
docker build -t nemoclaw-hermes:latest deployments/openshell/agents/nemoclaw-hermes/
kind load docker-image nemoclaw-hermes:latest --name rossoctl
kubectl apply -f deployments/openshell/agents/nemoclaw-hermes/deployment.yaml

The fulltest script (openshell-full-test.sh) builds and deploys automatically.

5. Capabilities

CapabilitySupportedNotes
A2A protocolNoInternal gateway protocol (not HTTP REST)
Multi-turn contextYes (gateway sessions)Managed by hermes gateway
Tool callingYesPython plugins, MCP
Subagent delegationNo
Memory/knowledgeYesDisk-based memories (SOUL.md)
Skill executionNoNo A2A adapter yet
HITL approvalN/ANo supervisor
Messaging platformsYesTelegram, Discord, Slack

6. Rossoctl Integration

6.1 Communication Adapter

TCP connectivity only — Hermes gateway uses an internal protocol on port 15053 (not HTTP REST or A2A JSON-RPC). The socat bridge on port 8642 forwards TCP but the protocol is not OpenAI-compatible without the full NemoClaw plugin stack.

TODO(a2a-adapter): Wrap Hermes with an A2A JSON-RPC adapter to join the standard agent test suite.

6.2 LLM Configuration

Hermes reads OPENAI_API_KEY and OPENAI_API_BASE environment variables. The deployment points at the in-cluster LiteLLM proxy:

env:
- name: OPENAI_API_BASE
value: "http://litellm-model-proxy.team1.svc:4000/v1"
- name: OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: litellm-virtual-keys
key: api-key

6.3 Known Limitations

LimitationImpactWorkaround
Gateway binds to 127.0.0.1K8s Service can't reach directlysocat bridge on 0.0.0.0:8642
No HTTP health endpointReadiness probe uses tcpSocketTCP connect verifies availability
Internal protocol (not HTTP)Can't test via httpxTCP connectivity test only
Needs NemoClaw plugin for full APIOpenAI-compat API not exposedDeploy with NemoClaw plugin stack

7. Policy Configuration

# policy.yaml (ConfigMap)
version: 1
filesystem_policy:
include_workdir: true
read_only: [/usr, /lib, /etc, /app, /sandbox/.hermes]
read_write: [/sandbox/.hermes-data, /tmp]
process:
run_as_user: sandbox
run_as_group: sandbox
network_policies:
internal:
endpoints:
- host: "*.svc.cluster.local"
port: 4000 # LiteLLM
- host: "*.svc.cluster.local"
port: 8080 # Other agents

8. Testing Status

Test FileTestsPassSkipNotes
test_11_nemoclaw_smoke (platform)330Deployment, pod running, framework label
test_11_nemoclaw_smoke (health)110TCP connectivity
test_11_nemoclaw_smoke (inference)101Internal protocol, needs NemoClaw plugin
test_11_nemoclaw_smoke (security)440AuthBridge, capabilities, escalation, secret
Total981

9. NemoClaw Source Pinning

ComponentVersionSource
NemoClawv0.0.28NVIDIA/NemoClaw
Hermes Agentv2026.4.13NousResearch/hermes-agent
Base imagepython:3.12-slimSHA-pinned in Dockerfile