Skip to main content

hermes-agent-control-room

Control Room template for managing Hermes agents from one VPS agent to specialist teams and orchestrated workflows

Zur Installation springen

Quellinformationen

Repository
reason-machines/hermes-skills
Letzte Quellaktivität
17. Mai 2026 um 21:48
Erkannte Sprache von SKILL.md
Englisch
Sterne
5
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
hermes-agent-control-room
description
Control Room template for managing Hermes agents from one VPS agent to specialist teams and orchestrated workflows
triggers
["set up a hermes agent control room","create an agent control room for my vps","organize my hermes agents with a control room","bootstrap hermes agent infrastructure","set up orchestrator and specialist agents","create a multi-agent hermes system","manage multiple hermes agents on my server","design an agent control plane"]
# Hermes Agent Control Room > Skill by [ara.so](https://ara.so) — Hermes Skills collection. ## Overview Hermes Agent Control Room is a governance and documentation framework for running Hermes agents as a managed system instead of disconnected bots. It provides: - **Control plane structure** for documenting agents, runbooks, secrets, and backups - **Architecture levels** from one agent → specialists → orchestrator → automated team - **Task bus pattern** for orchestrator-to-specialist delegation - **Bundled skills** for VPS setup, agent management, security audits, and backups - **Templates** for agent inventory, Docker configs, env maps, runbooks, and backup plans The core principle: **set up the Control Room first, then plug agents into it.** ## Architecture Levels ### Level 1: Control Room + One Agent Single Hermes agent with documented setup, runbooks, and secret management. ### Level 2: Direct Specialist Agents Multiple role-specific agents (`hermes-seo`, `hermes-dev`, `hermes-cmo`) that you talk to directly. ### Level 3: Orchestrator + Specialists Add `hermes-orchestrator` as a front door that routes tasks to specialists via the task bus. ### Level 4: Automated Agent Team Recurring workflows, audits, and automated task routing after manual workflows work. ## Installation ### Option A: Clone to Existing VPS ```bash ssh root@YOUR_SERVER git clone https://github.com/shannhk/hermes-agent-control-room.git /root/agent-control-room cd /root/agent-control-room cat docs/starter-guide.md ``` ### Option B: Bootstrap New Hetzner VPS Use the bundled `create-vps` and `setup-control-room` skills: ```bash # Agent workflow: # 1. create-vps → creates Hetzner VPS, SSH key, SSH alias # 2. setup-control-room → installs Node, Claude Code, Codex, Docker, Hermes, clones repo # 3. SSH in and complete auth ``` The `setup-control-room` skill will: - Install base packages (git, curl, build-essential) - Install Node.js via nvm - Install Claude Code, Codex CLI, Hermes Agent - Clone this repo to `/root/agent-control-room` - Link bundled skills to `~/.claude/skills` After bootstrap, complete interactive auth: ```bash ssh <alias> claude /login codex hermes ``` ## Folder Structure ```text agent-control-room/ README.md # This file agents/ # Per-agent folders hermes-life/ inventory.md # Agent metadata docker.md # Container notes env-map.md # Secret map (no raw values) runbook.md # Start/stop/debug procedures backup.md # Backup plan docs/ architecture.md # System design levels.md # Growth stages naming.md # Agent naming conventions security.md # Security model task-bus.md # Task routing spec orchestrator.md # Orchestrator design starter-guide.md # First steps shared/ api-keys-sop.md # Secret management SOP commands.md # Common commands security.md # Security checklist templates/ agent/ # Agent doc templates docker/ # Docker compose templates task-bus/ # Task bus templates skills/ # Bundled agent skills examples/ # Example setups per level ``` ## Registering Your First Agent ```bash cd /root/agent-control-room mkdir -p agents/hermes-life cp templates/agent/*.md agents/hermes-life/ ``` Fill in the templates: **agents/hermes-life/inventory.md** ```markdown # hermes-life Agent Inventory **Agent Name:** hermes-life **Role:** Personal assistant **Port:** 3000 **Status:** Active **Created:** 2026-05-15 **Owner:** Your Name ## Purpose Personal Hermes agent for daily tasks, research, and file management. ## Tools - Terminal - File system - Web research - Email (via API) ## Secrets Required - ANTHROPIC_API_KEY - GMAIL_API_KEY (optional) ``` **agents/hermes-life/env-map.md** ```markdown # hermes-life Environment Map **DO NOT COMMIT RAW SECRETS** ## Required Secrets | Name | Provider | Scope | Location | Rotated | |------|----------|-------|----------|---------| | ANTHROPIC_API_KEY | Anthropic | Full API | /srv/hermes-life/data/.env | 2026-05-10 | | GMAIL_API_KEY | Google | Gmail read/send | /srv/hermes-life/data/.env | Never | ## Storage Location `/srv/hermes-life/data/.env` ## Backup Location Encrypted backup in `/root/backups/hermes-life-env.gpg` ``` **agents/hermes-life/runbook.md** ```markdown # hermes-life Runbook ## Start Agent ```bash cd /srv/hermes-life docker-compose up -d ``` ## Stop Agent ```bash docker-compose down ``` ## View Logs ```bash docker-compose logs -f ``` ## Restart After Config Change ```bash docker-compose restart ``` ## Emergency Recovery 1. Check logs: `docker-compose logs --tail=100` 2. Verify .env exists: `ls -la /srv/hermes-life/data/.env` 3. Restore from backup if needed: `gpg -d /root/backups/hermes-life-env.gpg > /srv/hermes-life/data/.env` 4. Restart: `docker-compose restart` ``` ## Runtime Split Keep control plane separate from runtime state: ```text /root/agent-control-room/ Control plane: docs, templates, runbooks, registry No raw secrets /srv/<agent-name>/data/ Runtime: .env, memory, skills, sessions, crons, logs Raw secrets live here ``` ## Adding Direct Specialist Agents (Level 2) ```bash # Create specialist agent folders cd /root/agent-control-room mkdir -p agents/{hermes-seo,hermes-dev,hermes-cmo,hermes-ops} # Copy templates for agent in hermes-seo hermes-dev hermes-cmo hermes-ops; do cp templates/agent/*.md agents/$agent/ done ``` Document each specialist's: - **Role**: What it does (SEO audits, code changes, marketing, ops) - **Tools**: Specific tool access (Ahrefs API, GitHub, Mailchimp, Docker socket) - **Secrets**: Scoped credentials (not full system access) - **Port**: Unique port per agent (3001, 3002, 3003, etc.) ## Adding an Orchestrator (Level 3) ### Create Orchestrator Agent ```bash mkdir -p agents/hermes-orchestrator cp templates/agent/*.md agents/hermes-orchestrator/ ``` **agents/hermes-orchestrator/inventory.md** ```markdown # hermes-orchestrator Agent Inventory **Agent Name:** hermes-orchestrator **Role:** Front door / task router **Port:** 3100 **Status:** Active ## Purpose Routes user requests to specialist agents via the task bus. Synthesizes results from multiple specialists. ## Tools - File system (task bus access) - No direct access to specialist credentials - Read/write to `/srv/agent-bus/{inbox,working,outbox,archive}` ## Does NOT Have - Database credentials - API keys for specialist services - SSH keys to other systems ## Delegation Model 1. Receives user request 2. Writes task to `/srv/agent-bus/inbox/<specialist>/` 3. Specialist picks up task, works on it, writes result to `/srv/agent-bus/outbox/` 4. Orchestrator reads result, synthesizes, responds to user ``` ### Set Up Task Bus ```bash # Create task bus directories mkdir -p /srv/agent-bus/{inbox,working,outbox,archive} mkdir -p /srv/agent-bus/inbox/{seo,dev,cmo,ops} # Copy task bus config cp agent-control-room/templates/task-bus/agents.yaml /srv/agent-bus/ ``` **Task Bus Workflow** ```text 1. User → Orchestrator: "Audit SEO for example.com" 2. Orchestrator → Task Bus: /srv/agent-bus/inbox/seo/task-001.md --- Task: SEO audit for example.com Requested: 2026-05-17T10:00:00Z Requestor: User via hermes-orchestrator --- 3. hermes-seo → Picks Up Task: Moves task-001.md to /srv/agent-bus/working/seo/ 4. hermes-seo → Works: Runs Ahrefs audit, generates report 5. hermes-seo → Completes: /srv/agent-bus/outbox/seo/result-001.md Moves task to /srv/agent-bus/archive/seo/ 6. Orchestrator → Reads Result: Synthesizes and responds to user ``` ## Task Bus Example **Task Template** (`/srv/agent-bus/inbox/dev/task-002.md`): ```markdown --- task_id: task-002 specialist: dev created: 2026-05-17T14:30:00Z requestor: hermes-orchestrator priority: normal --- # Task: Add Contact Form to Website ## Requirements - Add contact form to /contact page - Fields: name, email, message - POST to /api/contact endpoint - Basic validation ## Context User requested contact form for their business site. ## Expected Deliverables - Updated HTML/CSS - Form validation script - Deployed to staging ``` **Result Template** (`/srv/agent-bus/outbox/dev/result-002.md`): ```markdown --- task_id: task-002 specialist: dev completed: 2026-05-17T15:45:00Z status: success --- # Result: Contact Form Added ## What Was Done - Created /contact.html with form fields - Added client-side validation in contact.js - Configured backend endpoint at /api/contact - Deployed to staging: https://staging.example.com/contact ## Files Changed - /public/contact.html (new) - /public/js/contact.js (new) - /api/contact.js (new) ## Testing - Tested form submission - Verified email delivery - Checked validation for all fields ## Next Steps User can review at staging URL. Ready for production deploy on approval. ``` ## Docker Compose for Orchestrator **templates/docker/docker-compose.orchestrator.yml**: ```yaml version: '3.8' services: hermes-orchestrator: image: hermes-agent:latest container_name: hermes-orchestrator restart: unless-stopped ports: - "3100:3000" volumes: - /srv/hermes-orchestrator/data:/app/data - /srv/agent-bus:/srv/agent-bus environment: - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - AGENT_ROLE=orchestrator - TASK_BUS_PATH=/srv/agent-bus networks: - agent-net networks: agent-net: driver: bridge ``` ## Security Best Practices ### Secret Storage ```bash # Store secrets in per-agent .env files /srv/hermes-life/data/.env /srv/hermes-seo/data/.env /srv/hermes-dev/data/.env # Backup encrypted gpg -c /srv/hermes-life/data/.env -o /root/backups/hermes-life-env.gpg # Never commit to git echo "*.env" >> /root/agent-control-room/.gitignore ``` ### Agent Credential Scope ```text ❌ BAD: Orchestrator has all API keys ✅ GOOD: Each specialist has only its scoped keys hermes-seo: - AHREFS_API_KEY - GOOGLE_SEARCH_CONSOLE_KEY hermes-dev: - GITHUB_TOKEN - DEPLOY_KEY hermes-orchestrator: - ANTHROPIC_API_KEY (for LLM) - NO access to specialist service APIs ``` ### Port Security ```bash # Check exposed ports ss -tulpn | grep LISTEN # Use firewall for non-orchestrator agents ufw allow 3100/tcp # orchestrator only ufw deny 3001/tcp # hermes-seo (internal only) ufw deny 3002/tcp # hermes-dev (internal only) ``` ## Bundled Skills The repo includes agent skills for VPS and control room management: | Skill | Purpose | |-------|---------| | `create-vps` | Create Hetzner VPS, SSH key, SSH alias | | `setup-control-room` | Bootstrap VPS with Node, Docker, Hermes, Control Room | | `agent-control-room` | Manage Control Room docs and agent folders | | `agent-task-router` | Route tasks from orchestrator to specialists | | `agent-registry-manager` | Maintain agent registry | | `agent-backup-manager` | Design and audit per-agent backups | | `agent-security-auditor` | Check ports, dashboards, SSH, Docker, secrets | | `agent-team-cron-planner` | Plan recurring multi-agent workflows | After running `setup-control-room`, skills are linked to `~/.claude/skills/`. ## Common Commands ### Manage Control Room ```bash # Update Control Room repo cd /root/agent-control-room git pull # Register new agent mkdir -p agents/hermes-newagent cp templates/agent/*.md agents/hermes-newagent/ # List all agents ls agents/ # View agent inventory cat agents/hermes-seo/inventory.md ``` ### Manage Agents ```bash # Start agent cd /srv/hermes-seo docker-compose up -d # View logs docker-compose logs -f # Restart agent docker-compose restart # Stop agent docker-compose down ``` ### Task Bus Operations ```bash # Create task for specialist cat > /srv/agent-bus/inbox/seo/task-003.md <<EOF ---
Auf GitHub ansehen
Diese SKILL.md ist sehr gross, daher zeigt SkillsMP hier nur den ersten Abschnitt. Auf GitHub ansehen