hermes-agent-control-room
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHermes Agent Control Room
Hermes Agent控制中心
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.
Hermes Agent控制中心是一套治理与文档框架,用于将Hermes Agent作为托管系统运行,而非孤立的机器人。它提供以下功能:
- 控制平面结构:用于记录Agent、运行手册、密钥和备份信息
- 架构层级:从单个Agent → 专业Agent → 编排器 → 自动化团队的演进路径
- 任务总线模式:实现编排器到专业Agent的任务委派
- 内置Skill:包含VPS搭建、Agent管理、安全审计和备份相关功能
- 模板库:提供Agent清单、Docker配置、环境变量映射、运行手册和备份计划模板
核心原则:先搭建控制中心,再将Agent接入其中。
Architecture Levels
架构层级
Level 1: Control Room + One Agent
层级1:控制中心 + 单个Agent
Single Hermes agent with documented setup, runbooks, and secret management.
拥有文档化配置、运行手册和密钥管理的单一Hermes Agent。
Level 2: Direct Specialist Agents
层级2:直接对接专业Agent
Multiple role-specific agents (, , ) that you talk to directly.
hermes-seohermes-devhermes-cmo多个特定角色的Agent(、、),可直接与其交互。
hermes-seohermes-devhermes-cmoLevel 3: Orchestrator + Specialists
层级3:编排器 + 专业Agent
Add as a front door that routes tasks to specialists via the task bus.
hermes-orchestrator添加作为入口,通过任务总线将任务路由至对应专业Agent。
hermes-orchestratorLevel 4: Automated Agent Team
层级4:自动化Agent团队
Recurring workflows, audits, and automated task routing after manual workflows work.
在手动工作流验证可行后,实现周期性工作流、审计和自动化任务路由。
Installation
安装
Option A: Clone to Existing VPS
选项A:克隆至现有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.mdbash
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.mdOption B: Bootstrap New Hetzner VPS
选项B:快速搭建新的Hetzner VPS
Use the bundled and skills:
create-vpssetup-control-roombash
undefined使用内置的和 Skill:
create-vpssetup-control-roombash
undefinedAgent workflow:
Agent工作流:
1. create-vps → creates Hetzner VPS, SSH key, SSH alias
1. create-vps → 创建Hetzner VPS、SSH密钥、SSH别名
2. setup-control-room → installs Node, Claude Code, Codex, Docker, Hermes, clones repo
2. setup-control-room → 安装Node、Claude Code、Codex、Docker、Hermes,并克隆仓库
3. SSH in and complete auth
3. 登录SSH完成认证
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
`setup-control-room` Skill将完成以下操作:
- 安装基础包(git、curl、build-essential)
- 通过nvm安装Node.js
- 安装Claude Code、Codex CLI、Hermes Agent
- 将本仓库克隆至`/root/agent-control-room`
- 将内置Skill链接至`~/.claude/skills`
初始化完成后,完成交互式认证:
```bash
ssh <alias>
claude /login
codex
hermesFolder 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 leveltext
agent-control-room/
README.md # 本文件
agents/ # 单个Agent的文件夹
hermes-life/
inventory.md # Agent元数据
docker.md # 容器配置说明
env-map.md # 密钥映射(不包含原始值)
runbook.md # 启动/停止/调试流程
backup.md # 备份计划
docs/
architecture.md # 系统设计文档
levels.md # 成长阶段说明
naming.md # Agent命名规范
security.md # 安全模型
task-bus.md # 任务路由规范
orchestrator.md # 编排器设计
starter-guide.md # 入门指南
shared/
api-keys-sop.md # 密钥管理标准流程
commands.md # 常用命令
security.md # 安全检查清单
templates/
agent/ # Agent文档模板
docker/ # Docker Compose模板
task-bus/ # 任务总线模板
skills/ # 内置Agent Skill
examples/ # 各层级示例配置Registering Your First Agent
注册首个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
undefinedbash
cd /root/agent-control-room
mkdir -p agents/hermes-life
cp templates/agent/*.md agents/hermes-life/填写模板内容:
agents/hermes-life/inventory.md
markdown
undefinedhermes-life Agent Inventory
hermes-life Agent清单
Agent Name: hermes-life
Role: Personal assistant
Port: 3000
Status: Active
Created: 2026-05-15
Owner: Your Name
Role: Personal assistant
Port: 3000
Status: Active
Created: 2026-05-15
Owner: Your Name
Agent名称: hermes-life
角色: 个人助理
端口: 3000
状态: 活跃
创建时间: 2026-05-15
所有者: 你的姓名
角色: 个人助理
端口: 3000
状态: 活跃
创建时间: 2026-05-15
所有者: 你的姓名
Purpose
用途
Personal Hermes agent for daily tasks, research, and file management.
用于日常任务、调研和文件管理的个人Hermes Agent。
Tools
工具
- Terminal
- File system
- Web research
- Email (via API)
- 终端
- 文件系统
- 网络调研
- 邮件(通过API)
Secrets Required
所需密钥
- ANTHROPIC_API_KEY
- GMAIL_API_KEY (optional)
**agents/hermes-life/env-map.md**
```markdown- ANTHROPIC_API_KEY
- GMAIL_API_KEY(可选)
**agents/hermes-life/env-map.md**
```markdownhermes-life Environment Map
hermes-life环境变量映射
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 | Gmail read/send | /srv/hermes-life/data/.env | Never |
| 名称 | 提供商 | 权限范围 | 存储位置 | 轮换时间 |
|---|---|---|---|---|
| ANTHROPIC_API_KEY | Anthropic | 完整API权限 | /srv/hermes-life/data/.env | 2026-05-10 |
| GMAIL_API_KEY | Gmail读写权限 | /srv/hermes-life/data/.env | 从未轮换 |
Storage Location
存储位置
/srv/hermes-life/data/.env/srv/hermes-life/data/.envBackup Location
备份位置
Encrypted backup in
/root/backups/hermes-life-env.gpg
**agents/hermes-life/runbook.md**
```markdown加密备份存储于
/root/backups/hermes-life-env.gpg
**agents/hermes-life/runbook.md**
```markdownhermes-life Runbook
hermes-life运行手册
Start Agent
启动Agent
bash
cd /srv/hermes-life
docker-compose up -dbash
cd /srv/hermes-life
docker-compose up -dStop Agent
停止Agent
bash
docker-compose downbash
docker-compose downView Logs
查看日志
bash
docker-compose logs -fbash
docker-compose logs -fRestart After Config Change
配置变更后重启
bash
docker-compose restartbash
docker-compose restartEmergency Recovery
紧急恢复
- Check logs:
docker-compose logs --tail=100 - Verify .env exists:
ls -la /srv/hermes-life/data/.env - Restore from backup if needed:
gpg -d /root/backups/hermes-life-env.gpg > /srv/hermes-life/data/.env - Restart:
docker-compose restart
undefined- 查看日志:
docker-compose logs --tail=100 - 验证.env文件存在:
ls -la /srv/hermes-life/data/.env - 必要时从备份恢复:
gpg -d /root/backups/hermes-life-env.gpg > /srv/hermes-life/data/.env - 重启:
docker-compose restart
undefinedRuntime 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将控制平面与运行时状态分离:
text
/root/agent-control-room/
控制平面:文档、模板、运行手册、注册表
不包含原始密钥
/srv/<agent-name>/data/
运行时:.env、内存数据、Skill、会话、定时任务、日志
原始密钥存储于此Adding Direct Specialist Agents (Level 2)
添加直接对接的专业Agent(层级2)
bash
undefinedbash
undefinedCreate specialist agent folders
创建专业Agent文件夹
cd /root/agent-control-room
mkdir -p agents/{hermes-seo,hermes-dev,hermes-cmo,hermes-ops}
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.)for agent in hermes-seo hermes-dev hermes-cmo hermes-ops; do
cp templates/agent/*.md agents/$agent/
done
为每个专业Agent记录以下信息:
- **角色**: 功能定位(SEO审计、代码变更、营销、运维)
- **工具**: 特定工具权限(Ahrefs API、GitHub、Mailchimp、Docker套接字)
- **密钥**: 限定范围的凭证(不提供全系统权限)
- **端口**: 每个Agent使用唯一端口(3001、3002、3003等)Adding an Orchestrator (Level 3)
添加编排器(层级3)
Create Orchestrator Agent
创建编排器Agent
bash
mkdir -p agents/hermes-orchestrator
cp templates/agent/*.md agents/hermes-orchestrator/agents/hermes-orchestrator/inventory.md
markdown
undefinedbash
mkdir -p agents/hermes-orchestrator
cp templates/agent/*.md agents/hermes-orchestrator/agents/hermes-orchestrator/inventory.md
markdown
undefinedhermes-orchestrator Agent Inventory
hermes-orchestrator Agent清单
Agent Name: hermes-orchestrator
Role: Front door / task router
Port: 3100
Status: Active
Role: Front door / task router
Port: 3100
Status: Active
Agent名称: hermes-orchestrator
角色: 入口/任务路由器
端口: 3100
状态: 活跃
角色: 入口/任务路由器
端口: 3100
状态: 活跃
Purpose
用途
Routes user requests to specialist agents via the task bus.
Synthesizes results from multiple specialists.
通过任务总线将用户请求路由至专业Agent,并汇总多个专业Agent的结果。
Tools
工具
- File system (task bus access)
- No direct access to specialist credentials
- Read/write to
/srv/agent-bus/{inbox,working,outbox,archive}
- 文件系统(任务总线访问权限)
- 无专业Agent凭证的直接访问权限
- 可读写
/srv/agent-bus/{inbox,working,outbox,archive}
Does NOT Have
无权限访问
- Database credentials
- API keys for specialist services
- SSH keys to other systems
- 数据库凭证
- 专业服务的API密钥
- 其他系统的SSH密钥
Delegation Model
委派模型
- Receives user request
- Writes task to
/srv/agent-bus/inbox/<specialist>/ - Specialist picks up task, works on it, writes result to
/srv/agent-bus/outbox/ - Orchestrator reads result, synthesizes, responds to user
undefined- 接收用户请求
- 将任务写入
/srv/agent-bus/inbox/<specialist>/ - 专业Agent获取任务并处理,将结果写入
/srv/agent-bus/outbox/ - 编排器读取结果,汇总后回复用户
undefinedSet Up Task Bus
搭建任务总线
bash
undefinedbash
undefinedCreate task bus directories
创建任务总线目录
mkdir -p /srv/agent-bus/{inbox,working,outbox,archive}
mkdir -p /srv/agent-bus/inbox/{seo,dev,cmo,ops}
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 usercp agent-control-room/templates/task-bus/agents.yaml /srv/agent-bus/
**任务总线工作流**
```text
1. 用户 → 编排器: "Audit SEO for example.com"
2. 编排器 → 任务总线:
/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 → 获取任务:
将task-001.md移动至 /srv/agent-bus/working/seo/
4. hermes-seo → 处理任务:
运行Ahrefs审计,生成报告
5. hermes-seo → 完成任务:
/srv/agent-bus/outbox/seo/result-001.md
将任务移动至 /srv/agent-bus/archive/seo/
6. 编排器 → 读取结果:
汇总结果并回复用户Task Bus Example
任务总线示例
Task Template ():
/srv/agent-bus/inbox/dev/task-002.mdmarkdown
---
task_id: task-002
specialist: dev
created: 2026-05-17T14:30:00Z
requestor: hermes-orchestrator
priority: normal
---任务模板 ():
/srv/agent-bus/inbox/dev/task-002.mdmarkdown
---
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
- 在/contact页面添加联系表单
- 字段:姓名、邮箱、留言
- 提交至/api/contact端点
- 基础验证
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
---- 更新后的HTML/CSS
- 表单验证脚本
- 部署至预发布环境
**结果模板** (`/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
- 创建带表单字段的/contact.html
- 在contact.js中添加客户端验证
- 配置后端端点/api/contact
- 部署至预发布环境:https://staging.example.com/contact
Files Changed
修改文件
- /public/contact.html (new)
- /public/js/contact.js (new)
- /api/contact.js (new)
- /public/contact.html(新增)
- /public/js/contact.js(新增)
- /api/contact.js(新增)
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.
undefined用户可在预发布URL查看,待批准后即可部署至生产环境。
undefinedDocker Compose for Orchestrator
编排器Docker Compose配置
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: bridgetemplates/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: bridgeSecurity Best Practices
安全最佳实践
Secret Storage
密钥存储
bash
undefinedbash
undefinedStore secrets in per-agent .env files
将密钥存储于每个Agent的.env文件中
/srv/hermes-life/data/.env
/srv/hermes-seo/data/.env
/srv/hermes-dev/data/.env
/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
gpg -c /srv/hermes-life/data/.env -o /root/backups/hermes-life-env.gpg
Never commit to git
禁止提交至git
echo "*.env" >> /root/agent-control-room/.gitignore
undefinedecho "*.env" >> /root/agent-control-room/.gitignore
undefinedAgent Credential Scope
Agent凭证范围
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 APIstext
❌ 错误做法:编排器拥有所有API密钥
✅ 正确做法:每个专业Agent仅拥有其所需的限定密钥
hermes-seo:
- AHREFS_API_KEY
- GOOGLE_SEARCH_CONSOLE_KEY
hermes-dev:
- GITHUB_TOKEN
- DEPLOY_KEY
hermes-orchestrator:
- ANTHROPIC_API_KEY(用于LLM)
- 无专业服务API的访问权限Port Security
端口安全
bash
undefinedbash
undefinedCheck exposed ports
检查暴露的端口
ss -tulpn | grep LISTEN
ss -tulpn | grep LISTEN
Use firewall for non-orchestrator agents
为非编排器Agent配置防火墙
ufw allow 3100/tcp # orchestrator only
ufw deny 3001/tcp # hermes-seo (internal only)
ufw deny 3002/tcp # hermes-dev (internal only)
undefinedufw allow 3100/tcp # 仅开放编排器端口
ufw deny 3001/tcp # hermes-seo(仅内部访问)
ufw deny 3002/tcp # hermes-dev(仅内部访问)
undefinedBundled Skills
内置Skill
The repo includes agent skills for VPS and control room management:
| Skill | Purpose |
|---|---|
| Create Hetzner VPS, SSH key, SSH alias |
| Bootstrap VPS with Node, Docker, Hermes, Control Room |
| Manage Control Room docs and agent folders |
| Route tasks from orchestrator to specialists |
| Maintain agent registry |
| Design and audit per-agent backups |
| Check ports, dashboards, SSH, Docker, secrets |
| Plan recurring multi-agent workflows |
After running , skills are linked to .
setup-control-room~/.claude/skills/本仓库包含用于VPS和控制中心管理的Agent Skill:
| Skill | 用途 |
|---|---|
| 创建Hetzner VPS、SSH密钥、SSH别名 |
| 在VPS上快速部署Node、Docker、Hermes和控制中心 |
| 管理控制中心文档和Agent文件夹 |
| 将编排器的任务路由至专业Agent |
| 维护Agent注册表 |
| 设计和审计每个Agent的备份方案 |
| 检查端口、仪表盘、SSH、Docker和密钥安全 |
| 规划多Agent周期性工作流 |
运行后,Skill将被链接至。
setup-control-room~/.claude/skills/Common Commands
常用命令
Manage Control Room
管理控制中心
bash
undefinedbash
undefinedUpdate Control Room repo
更新控制中心仓库
cd /root/agent-control-room
git pull
cd /root/agent-control-room
git pull
Register new agent
注册新Agent
mkdir -p agents/hermes-newagent
cp templates/agent/*.md agents/hermes-newagent/
mkdir -p agents/hermes-newagent
cp templates/agent/*.md agents/hermes-newagent/
List all agents
列出所有Agent
ls agents/
ls agents/
View agent inventory
查看Agent清单
cat agents/hermes-seo/inventory.md
undefinedcat agents/hermes-seo/inventory.md
undefinedManage Agents
管理Agent
bash
undefinedbash
undefinedStart agent
启动Agent
cd /srv/hermes-seo
docker-compose up -d
cd /srv/hermes-seo
docker-compose up -d
View logs
查看日志
docker-compose logs -f
docker-compose logs -f
Restart agent
重启Agent
docker-compose restart
docker-compose restart
Stop agent
停止Agent
docker-compose down
undefineddocker-compose down
undefinedTask Bus Operations
任务总线操作
bash
undefinedbash
undefinedCreate task for specialist
为专业Agent创建任务
cat > /srv/agent-bus/inbox/seo/task-003.md <<EOF
task_id: task-003 specialist: seo created: $(date -Iseconds) requestor: manual
cat > /srv/agent-bus/inbox/seo/task-003.md <<EOF
task_id: task-003 specialist: seo created: $(date -Iseconds) requestor: manual
Task: Run SEO audit for newsite.com
任务:为newsite.com运行SEO审计
EOF
EOF
Check task status
检查任务状态
ls /srv/agent-bus/working/seo/
ls /srv/agent-bus/outbox/seo/
ls /srv/agent-bus/working/seo/
ls /srv/agent-bus/outbox/seo/
Archive completed tasks
归档已完成任务
mv /srv/agent-bus/outbox/seo/* /srv/agent-bus/archive/seo/
undefinedmv /srv/agent-bus/outbox/seo/* /srv/agent-bus/archive/seo/
undefinedTroubleshooting
故障排查
Agent Won't Start
Agent无法启动
bash
undefinedbash
undefinedCheck Docker logs
查看Docker日志
docker-compose logs --tail=50
docker-compose logs --tail=50
Verify .env exists
验证.env文件存在
ls -la /srv/<agent-name>/data/.env
ls -la /srv/<agent-name>/data/.env
Check port conflicts
检查端口冲突
ss -tulpn | grep <port>
ss -tulpn | grep <port>
Restart Docker
重启Docker
systemctl restart docker
docker-compose up -d
undefinedsystemctl restart docker
docker-compose up -d
undefinedOrchestrator Can't Find Specialists
编排器无法找到专业Agent
bash
undefinedbash
undefinedVerify task bus directories exist
验证任务总线目录存在
ls -la /srv/agent-bus/inbox/
ls -la /srv/agent-bus/inbox/
Check permissions
检查权限
chmod -R 755 /srv/agent-bus
chmod -R 755 /srv/agent-bus
Verify agents.yaml
验证agents.yaml配置
cat /srv/agent-bus/agents.yaml
undefinedcat /srv/agent-bus/agents.yaml
undefinedSecret Not Found
密钥未找到
bash
undefinedbash
undefinedCheck .env file
检查.env文件
cat /srv/<agent-name>/data/.env | grep API_KEY
cat /srv/<agent-name>/data/.env | grep API_KEY
Restore from backup
从备份恢复
gpg -d /root/backups/<agent-name>-env.gpg > /srv/<agent-name>/data/.env
gpg -d /root/backups/<agent-name>-env.gpg > /srv/<agent-name>/data/.env
Restart agent
重启Agent
cd /srv/<agent-name>
docker-compose restart
undefinedcd /srv/<agent-name>
docker-compose restart
undefinedTask Not Being Picked Up
任务未被处理
bash
undefinedbash
undefinedCheck task format
检查任务格式
cat /srv/agent-bus/inbox/<specialist>/task-*.md
cat /srv/agent-bus/inbox/<specialist>/task-*.md
Verify specialist is running
验证专业Agent正在运行
docker ps | grep hermes-<specialist>
docker ps | grep hermes-<specialist>
Check specialist logs
检查专业Agent日志
cd /srv/hermes-<specialist>
docker-compose logs --tail=100
undefinedcd /srv/hermes-<specialist>
docker-compose logs --tail=100
undefinedRecommended First Milestone
推荐首个里程碑
Do not build a full team immediately. Start with:
- Control Room exists on VPS:
/root/agent-control-room - One agent documented:
agents/hermes-life/ - No raw secrets in repo
- Can restart/debug agent using runbook
Then expand to Level 2 (direct specialists), Level 3 (orchestrator), Level 4 (automation).
不要立即搭建完整团队,从以下步骤开始:
- VPS上已搭建控制中心:
/root/agent-control-room - 已完成一个Agent的文档化:
agents/hermes-life/ - 仓库中无原始密钥
- 可通过运行手册重启/调试Agent
之后再扩展至层级2(直接对接专业Agent)、层级3(编排器)、层级4(自动化)。
Environment Variables
环境变量
Reference environment variables in agent configs:
yaml
undefined在Agent配置中引用环境变量:
yaml
undefineddocker-compose.yml
docker-compose.yml
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GITHUB_TOKEN=${GITHUB_TOKEN}
- DATABASE_URL=${DATABASE_URL}
Store actual values in `/srv/<agent-name>/data/.env`:
```bash
ANTHROPIC_API_KEY=sk-ant-...
GITHUB_TOKEN=ghp_...
DATABASE_URL=postgresql://...environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- GITHUB_TOKEN=${GITHUB_TOKEN}
- DATABASE_URL=${DATABASE_URL}
实际值存储于 `/srv/<agent-name>/data/.env`:
```bash
ANTHROPIC_API_KEY=sk-ant-...
GITHUB_TOKEN=ghp_...
DATABASE_URL=postgresql://...Access Paths
访问路径
You have multiple ways to interact with agents:
Control Path: Edit Control Room docs directly
bash
vim /root/agent-control-room/agents/hermes-seo/runbook.mdDirect Path: Talk directly to specialist agents
bash
curl http://localhost:3001 # hermes-seo
curl http://localhost:3002 # hermes-devOrchestrated Path: Use orchestrator as front door
bash
curl http://localhost:3100 -d "Audit SEO for example.com"你可以通过多种方式与Agent交互:
控制路径:直接编辑控制中心文档
bash
vim /root/agent-control-room/agents/hermes-seo/runbook.md直接路径:直接与专业Agent交互
bash
curl http://localhost:3001 # hermes-seo
curl http://localhost:3002 # hermes-dev编排路径:使用编排器作为入口
bash
curl http://localhost:3100 -d "Audit SEO for example.com"Orchestrator → Task Bus → Specialist → Result → Orchestrator → You
编排器 → 任务总线 → 专业Agent → 结果 → 编排器 → 用户
undefinedundefinedResources
资源
- GitHub: https://github.com/shannhk/hermes-agent-control-room
- License: MIT
- Topics: agent-control-room, ai-agents, hermes-agent, multi-agent, vps
- GitHub: https://github.com/shannhk/hermes-agent-control-room
- 许可证: MIT
- 相关主题: agent-control-room, ai-agents, hermes-agent, multi-agent, vps