Skip to content

khmo31/Aegis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦀 Aegis — Multi-Agent Orchestration Plugin for AI Agents

Aegis: 지식 베이스를 방패 삼아, 여러 AI 에이전트를 하나의 시스템으로 통합하는 오케스트레이션 플러그인

Aegis는 AI 에이전트(OpenClaw, Hermes, Cline, Claude 등)를 위한 멀티에이전트 오케스트레이션 플러그인입니다.
단일 LLM이 모든 걸 처리하는 대신, 전문 컨테이너/서비스들이 독립적으로 판단하고 협력하는 분산 구조를 제공합니다.


🚀 Quick Install (Copy-Paste for Your AI Agent)

Use your existing AI agent to install Aegis. Copy the prompt below and paste it into any AI agent chat:

📋 Click to copy LLM installation prompt

I want you to install Aegis — a Multi-Agent Orchestration Plugin. Please follow these steps:

1. Clone the repository:

git clone https://github.com/khmo31/Aegis.git ~/.aegis

2. Read the installation guide: Read ~/.aegis/AGENTS.md and ~/.aegis/INSTALL.md to understand how Aegis works and how to configure it.

3. Discover available containers: Check docker ps for running containers that could serve as specialist agents (code generators, reviewers, analyzers, etc.).

4. Configure the registry: Copy config/registry.example.json to config/registry.json and add each discovered container with its capabilities.

5. Mount knowledge base (optional): If I have a knowledge base directory, mount it to /knowledge (read-only) in each agent container.

6. Record the installation: Run node ~/.aegis/scripts/record.js --commit "Aegis installed. Host agent configured with [N] agents."


How It Works

User → You (Host Agent)
         ├─ Simple request → handle directly
         └─ Specialist request → Aegis Dispatcher
                                  ├─ Intent classification
                                  ├─ Policy matching
                                  └─ Route to specialist container
  • You (the host agent) still talk to the user and handle simple requests
  • Aegis handles routing to specialist containers when needed
  • If no agent matches, Aegis escalates (GitHub repo search) or you handle it yourself

Repository Structure

Aegis/
├── AGENTS.md              ← Host agent reads this first (plugin manifest)
├── INSTALL.md             ← LLM installation guide (copy-paste for any AI agent)
├── README.md              ← This file (human overview)
├── ARCHITECTURE.md        ← Deep architecture reference
├── dispatcher/
│   ├── dispatcher.js      ← Main orchestration engine
│   └── lib/               ← Modules: parser, executor, circuit, planner, etc.
├── config/
│   ├── registry.example.json   ← Agent definition template
│   └── policy.example.json     ← Routing rules template
└── scripts/
    ├── record.js           ← Knowledge base writer + auto git push
    └── inject.js           ← HTTP knowledge injection endpoint (port 4826)

Core Concepts

Concept Description
Host Agent You — the AI agent the user talks to. Aegis is your dispatch tool.
Dispatcher Intent classifier → policy matcher → agent router → fallback handler
Specialist Agent A Docker container or HTTP service with specific capabilities (code gen, review, analysis, etc.)
Registry Configuration file listing all available agents and their capabilities
Policy Routing rules mapping intent keywords to target agents
Knowledge Base Shared company docs mounted at /knowledge (read-only) in all containers
Circuit Breaker Tracks agent failures, auto-cooldowns unhealthy agents
Escalation When no agent matches, searches GitHub for relevant repos

CLI Quick Reference

# Route a request through Aegis
node <aegis_path>/dispatcher/dispatcher.js --dispatch "analyze this code"

# Check registered agents and their status
node <aegis_path>/dispatcher/dispatcher.js --status

# Auto-discover new containers (with label aegis.enabled=true)
node <aegis_path>/dispatcher/dispatcher.js --registry-check

# Record knowledge + auto git commit/push
node <aegis_path>/scripts/record.js --template decision "Decision" "Content" --commit

# Start knowledge injection server
node <aegis_path>/scripts/inject.js --port 4826

Agent Auto-Discovery

Containers with appropriate Docker labels are auto-registered:

docker run -d \
  --label aegis.enabled=true \
  --label aegis.name="my-agent" \
  --label aegis.description="What this agent does" \
  --label aegis.capability="analysis,code_gen" \
  --label aegis.endpoint.type="docker_exec" \
  --label aegis.endpoint.container="my-container" \
  my-image

Or add them manually in config/registry.json.


Why Aegis?

Unlike monolithic agent plugins (Connect AI, etc.) where one LLM simulates a team via role prompting, Aegis provides real multi-agent separation:

  • Each agent runs in its own container with isolated context
  • Agents can use different models/settings optimized for their role
  • Knowledge base acts as single source of truth across all agents
  • Add a new specialist by just starting a container and labeling it

License: MIT

Releases

No releases published

Packages

 
 
 

Contributors