一键导入
ai-agent-integration
Integrate existing autonomous agents (like Hermes) into multi-agent orchestration platforms (AionUI, LangChain, etc.) via ACP over stdio.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Integrate existing autonomous agents (like Hermes) into multi-agent orchestration platforms (AionUI, LangChain, etc.) via ACP over stdio.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | ai-agent-integration |
| description | Integrate existing autonomous agents (like Hermes) into multi-agent orchestration platforms (AionUI, LangChain, etc.) via ACP over stdio. |
| triggers | ["integrate hermes into aionui","make agent available as teammate","spawn agent as subprocess in platform","connect hermes to orchestration layer","multi-agent team mode setup","acp protocol integration"] |
When the user wants to: integrate an existing autonomous agent (like Hermes) into a multi-agent orchestration platform (AionUI, LangChain, CrewAI, etc.), or make an agent available as a teammate in a team-based AI system.
Many AI orchestration platforms (AionUI, LangChain Agents, CrewAI, etc.) can spawn external CLI agents as subprocesses. This skill covers the pattern of taking an already-installed, already-configured autonomous agent and exposing it to such a platform — without rebuilding the agent from scratch.
Key distinction: This is NOT about building a new agent. It's about connecting an existing one to a new orchestration layer.
Most modern orchestration platforms communicate with external agents via ACP (Agent Communication Protocol) over stdio (standard input/output). This is the same pattern used by Claude Code, Codex, and AionUI's multi-agent system.
The agent needs to accept ACP commands on stdin and emit ACP responses on stdout:
hermes --acp --stdio --model minimax
Typical flags:
--acp — enables ACP mode (JSON over stdio)--stdio — uses stdin/stdout for communication (no TTY required)--model — specifies which LLM backend to use--verbose — enable debug loggingLeader → Agent (task assignment):
{
"type": "task",
"id": "task-001",
"content": "Analise o padrão emocional do paciente",
"context": {
"method": "TEN",
"patient_id": "X"
}
}
Agent → Leader (result):
{
"type": "result",
"id": "task-001",
"content": "Padrão identificado: ciclo evade-ressignifica",
"status": "complete"
}
In ~/.aionui/agents/<agent-name>.json:
{
"name": "Hermes",
"command": "/path/to/hermes",
"args": ["--acp", "--stdio"],
"description": "Agente autônomo especializado",
"capabilities": ["file-read", "file-write", "web-search", "rag-query"]
}
AionUI is an Electron + TypeScript app with these key directories:
src/
├── common/ # Shared code
├── preload/ # Electron preload scripts
├── process/ # Main process (no DOM APIs)
├── renderer/ # UI (no Node.js APIs)
└── server.ts # Built-in server
assistant/ # 20 built-in professional assistants
skills/ # Three-layer skill system (built-in, custom, extension)
package/ # Internal MCP servers
AionUI's Team Mode lets multiple agents work as a coordinated team:
Configuration (~/.aionui/teams/<team-name>.json):
{
"team": {
"name": "TEN-Clinical-Team",
"leader": { "agent": "gemini", "model": "gemini-2.5-pro" },
"teammates": [
{ "id": "hermes", "agent": "hermes", "role": "analyst" },
{ "id": "coder", "agent": "claude-code", "role": "materials" }
],
"workspace": { "shared": true, "path": "~/team-workspace/" }
}
}
Configure MCP tools once in AionUI, sync to all agents automatically:
{
"mcpServers": {
"rag": {
"command": "python3",
"args": ["~/.hermes/scripts/rag_search.py"],
"description": "RAG Knowledge Base"
}
}
}
AionUI supports "approve all actions automatically" mode for unattended execution — all agents support fully automatic mode.
When creating an integration project for an agent into a platform:
<project>/
├── README.md # Vision + quick start
├── CLAUDE.md # AI agent context (for future agents)
├── AGENTS.md # Contributor conventions
├── docs/
│ ├── SETUP.md # Step-by-step install
│ ├── INTEGRATION.md # Technical integration details
│ └── TEAM_MODE.md # Team orchestration config
├── config/
│ ├── agent.json # Platform agent definition
│ └── env.yaml # Environment variables template
├── scripts/
│ ├── setup.sh # Configuration script
│ └── validate.sh # Validation script
└── platform-skills/ # Custom skills for the platform
└── <skill-name>/
└── SKILL.md
#!/usr/bin/env bash
set -e
# 1. Detect existing agent
command -v hermes &>/dev/null && info "✓ Hermes found" || error "✗ Hermes not found"
# 2. Copy agent config to platform directories
cp config/hermes-agent.json ~/.aionui/agents/
# 3. Create team config
mkdir -p ~/.aionui/teams
cp config/team-*.json ~/.aionui/teams/
# 4. Install custom skills
cp -r platform-skills/* ~/.aionui/skills/
Always include a validate.sh that checks:
Exit 0 on success, non-zero on any failure.
Many agents have --acp or equivalent as a SEPARATE flag from --stdio. Without --acp, the agent may not emit proper JSON on stdout. Always test manually first:
echo '{"type":"ping"}' | hermes --acp --stdio
When the orchestration platform (AionUI) closes, the agent subprocess is killed. For truly persistent agents, run separately as a service and connect via HTTP API or socket — don't rely on the platform to keep it alive.
Platform agent configs often use ${ENV_VAR} syntax. The platform must inject these. If they come up empty, the agent won't have credentials. Validate: hermes --acp --stdio should show API errors, not "missing API key."
When you configure an MCP server in AionUI, it syncs to ALL agents. But not all agents can use all MCP tools. Tag capabilities properly in the agent config to avoid silent failures.
In Team Mode, each Teammate has isolated permissions. The Leader shares a workspace. If a Teammate can't see files the Leader wrote, check the workspace path and permission config — not the agent.
This is the most important pitfall for Hermes + AionUI integration.
AionUI uses aionrs JSON Stream Protocol for agent communication. Hermes Agent has an acp mode, but it implements JSON-RPC 2.0 (LSP-like), NOT aionrs. The protocols are fundamentally incompatible:
| Aspect | Hermes ACP | AionUI aionrs |
|---|---|---|
| Protocol | JSON-RPC 2.0 | aionrs JSON Stream |
| Init | initialize command | ready event (stdout) |
| Streaming | notification messages | text_delta events |
| End marker | none | stream_end event |
| Tools | tools/call | tool_request / tool_result |
This means: Hermes ACP does NOT work with AionUI out of the box. A bridge is required.
Solution: Build a protocol bridge (aionrs_bridge.py). See references/aionui-deep-research.md for full implementation details.
Key implementation findings:
hermes acp command exists but speaks JSON-RPC, not aionrsPOTENTIAL_ACP_CLIS — but detection ≠ compatibilityready event on stdout BEFORE processing any stdinAIAgent class is at /home/alvarobiano/.hermes/hermes-agent/run_agent.py (root, NOT src/)AIAgent requires the hermes-agent venv Python (has dotenv etc.) — system Python will fail to importAIAgent.chat()Bridge implementation (working, tested 2026-04-30):
# SubprocessHermes pattern — use hermes-agent venv Python
venv_python = '/home/alvarobiano/.hermes/hermes-agent/venv/bin/python'
hermes_root = '/home/alvarobiano/.hermes/hermes-agent'
script = f'''
import sys; sys.path.insert(0, '{hermes_root}')
from run_agent import AIAgent
agent = AIAgent(provider='minimax', model='MiniMax-M2.7', ...)
print(agent.chat({repr(message)}), end='')
'''
result = subprocess.run([venv_python, '-c', script], capture_output=True, text=True, timeout=120)
Bridge protocol events (stdout → AionUI):
ready — first event, MUST be sent before processing stdinstream_start / text_delta (chunks) / stream_endthinking, tool_request, tool_result, error, pongBridge protocol commands (stdin ← AionUI):
message, stop, ping, tool_approve, tool_deny, set_config, set_modeTimeout consideration: Each subprocess call takes ~2-3s overhead. Test timeout must be ≥60s.
echo '{"type":"message","msg_id":"t1","content":"Olá"}' | python3 aionrs_bridge.py
Live result (tested 2026-04-30):
See: ~/repos/aionui-hermes-ten/scripts/aionrs-bridge/aionrs_bridge.py
For a new integration:
github — for repo creation when gh CLI has issues (Node 24 + nvm bug). The aionui-hermes-ten project was created using this pattern.autonomous-ai-agents — spawning and orchestrating autonomous agentsTransforms the Hermes agent from a reactive question-answerer into a proactive autonomous executor. ARCHITECT takes any high-level goal, decomposes it into a dependency-aware task graph, executes each step with validation, self-corrects on failure, and delivers results — all without hand-holding. The missing execution layer for personal AI agents. Zero dependencies. Zero config. Works with any model. Pairs with apex-agent and agent-memoria for the complete autonomous agent stack.
Auto-reflective self-improvement skill — extracts learnings from corrections and success patterns, permanently encodes them into memory and skills. Philosophy: Correct once, never again.
Orchestrate multi-agent teams with defined roles, task lifecycles, handoff protocols, and review workflows. Use when: (1) Setting up a team of 2+ agents with different specializations, (2) Defining task routing and lifecycle (inbox → spec → build → review → done), (3) Creating handoff protocols between agents, (4) Establishing review and quality gates, (5) Managing async communication and artifact sharing between agents.
MiniMax Agent Platform (agent.minimax.io) — MaxHermes, MaxClaw, Skills marketplace. Relacao com Hermes Agent (NousResearch) e OpenClaw.
Paperclip AI agent operations — creating agents with hierarchy, autonomous operation via hierarchical issues, and troubleshooting. Use when: creating agents, setting up org hierarchy, recovering from errors, or monitoring agent health.
Paperclip AI orchestration CLI — authentication, API usage, and self-hosted setup