MCP-сервер AgentOS.
npx npx agentos-mcp-server npm: agentos-mcp-server MCP Registry: io.github.imran-siddique/agentos Add to your config file: Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json on Windows): { "mcpServers": { "agentos": { "command": "npx", "args": ["-y", "agentos-mcp-server"] } } } Features: 10Архитектура ядра для управления автономными AI-агентами
⭐ Если этот проект вам помогает, поставьте звезду! Это поможет другим найти Agent OS.
📦 Установить полный стек:
pip install ai-agent-governance[full]
| 1 680+ | 12 | 170К+ | <0.1ms p99 |
|---|---|---|---|
| Тестов пройдено | Интеграций с фреймворками | Суммарных звёзд интегрированных проектов | Задержка управления (Бенчмарки) |
| Фреймворк | Звёзды | Статус |
|---|---|---|
| Dify | 65K ⭐ | ✅ Принят |
| LlamaIndex | 47K ⭐ | ✅ Принят |
| Microsoft Agent-Lightning | 15K ⭐ | ✅ Принят |
| LangGraph | 24K ⭐ | 📦 Опубликован на PyPI |
| OpenAI Agents SDK | — | 📦 Опубликован на PyPI |
Проблема: AI-агенты могут выполнять произвольные инструменты, обращаться к конфиденциальным данным и принимать автономные решения — без встроенного управления, журналов аудита или применения политик.
Решение: Ядро управления, которое располагается между агентами и их действиями, обеспечивая детерминированное применение политик менее чем за 1 мс без изменений в коде агентов.
| Инструмент | Фокус | Когда действует |
|---|---|---|
| LangChain/CrewAI | Создание агентов | Н/П (фреймворк) |
| NeMo Guardrails | Фильтрация ввода/вывода | До/после вызова LLM |
| LlamaGuard | Классификация контента | До/после вызова LLM |
| Agent OS | Перехват действий | Во время выполнения |
Agent OS + экосистема покрывает 8 из 10 рисков безопасности агентных приложений OWASP:
| Риск | Покрытие | Модуль |
|---|---|---|
| ASI01 Перехват цели агента | ✅ Полное | GovernancePolicy.blocked_patterns |
| ASI02 Злоупотребление инструментами | ✅ Полное | MCPGateway — фильтрация инструментов, rate limiting, аудит |
| ASI03 Идентичность и привилегии | ✅ Полное | require_human_approval, RBAC политики |
| ASI04 Цепочка поставок | ⚠️ Частичное | Allowlist инструментов (без глубокого сканирования) |
| ASI05 Выполнение кода | ✅ Полное | blocked_patterns, интеграция песочницы |
| ASI06 Отравление памяти | ✅ Полное | MemoryGuard — целостность хэшей, обнаружение инъекций |
| ASI07 Межагентное взаимодействие | ✅ Полное | Рукопожатие доверия AgentMesh, HMAC-аутентификация |
| ASI08 Каскадные отказы | ✅ Полное | Автоматы состояний Agent SRE, обнаружение каскадов |
| ASI09 Доверие человека к агенту | ✅ Полное | Рабочие процессы подтверждения, журналирование аудита |
| ASI10 Агенты-изгои | ⚠️ Частичное | Кольца выполнения Agent Hypervisor, kill switch |
| Слой | Пакет | Назначение | Установка |
|---|---|---|---|
| Ядро | Agent OS | Применение политик, перехват действий | pip install agent-os-kernel |
| Сеть | AgentMesh | Идентичность, доверие, делегирование | pip install agentmesh-platform |
| Надёжность | Agent SRE | SLO, хаос-тестирование, автоматы состояний | pip install agent-sre |
| Среда выполнения | Agent Hypervisor | Кольца выполнения, ограничения ресурсов, saga | pip install agent-hypervisor |
| Полный стек | ai-agent-governance | Всё вышеперечисленное | pip install ai-agent-governance[full] |
pip install agent-os-kernel
from agent_os import StatelessKernel, ExecutionContext
# Создать управляемого агента в 3 строки
kernel = StatelessKernel()
# Определить контекст выполнения с политиками управления
ctx = ExecutionContext(agent_id="demo-agent", policies=["read_only"])
# Агент запускается с применением политик
result = await kernel.execute(
action="database_query",
params={"query": "SELECT * FROM users"},
context=ctx
)
# ✅ Безопасные запросы выполняются
# ❌ "DROP TABLE users" → Заблокировано ядром
Ваш агент теперь имеет детерминированное применение политик. Политики применяются ядром — а не надеждой на то, что LLM выполнит инструкции.
Agent OS применяет концепции операционных систем к управлению AI-агентами. Вместо того чтобы полагаться на промпты для обеспечения безопасности («пожалуйста, не делай опасных вещей»), он предоставляет middleware уровня приложения, которое перехватывает и проверяет действия агентов перед выполнением.
Примечание: Это применение на уровне приложения (Python middleware), а не изоляция уровня ядра ОС. Агенты работают в одном процессе. Для истинной изоляции запускайте агентов в контейнерах.
┌─────────────────────────────────────────────────────────┐
│ ПРОСТРАНСТВО ПОЛЬЗОВАТЕЛЯ (Код Агента) │
│ Код вашего агента работает здесь. Ядро перехватывает │
│ действия до их выполнения. │
├─────────────────────────────────────────────────────────┤
│ ПРОСТРАНСТВО ЯДРА │
│ Движок политик │ Flight Recorder │ Диспетчер сигналов │
│ Действия проверяются по политикам перед выполнением │
└─────────────────────────────────────────────────────────┘
Безопасность на основе промптов просит LLM следовать правилам. LLM решает, соблюдать ли их.
Безопасность на основе ядра перехватывает действия до выполнения. Движок политик принимает решение, а не LLM.
Это тот же принцип, который используют операционные системы: приложения запрашивают ресурсы, ядро предоставляет или отказывает в доступе на основе разрешений.
| Модуль | Слой | Пакет PyPI | Описание | Статус |
|---|---|---|---|---|
primitives | 1 | agent-primitives | Базовые типы отказов, уровни серьёзности | ✅ Стабильный |
cmvk | 1 | cmvk | Верификация, обнаружение дрейфа | ✅ Стабильный |
emk | 1 | emk | Эпизодическое ядро памяти (только-добавляемый журнал) | ✅ Стабильный |
caas | 1 | caas-core | Context-as-a-Service, RAG-пайплайн | ✅ Стабильный |
amb | 2 | amb-core | Шина сообщений агента (async pub/sub) | ✅ Стабильный |
iatp | 2 | inter-agent-trust-protocol | Протокол доверия sidecar, типизированные IPC-каналы | ✅ Стабильный |
control-plane | 3 | agent-control-plane | ЯДРО — движок политик, сигналы, VFS | ✅ Стабильный |
observability | 3 | agent-os-observability | Метрики Prometheus + трассировка OpenTelemetry | ⚠️ Без тестов |
scak | 4 | scak | Самокорректирующееся ядро агента | ✅ Стабильный |
mcp-kernel-server | Инт | mcp-kernel-server | MCP-сервер для Claude Desktop | ⚠️ Без тестов |
| hypervisor | ⭐ | agent-hypervisor | Рантайм-супервизор — кольца выполнения, совместная ответственность, Saga Orchestrator | ✅ 184 теста |
Рантайм-супервизор для многоагентного взаимодействия — аналог «VMware для AI-агентов.»
Подобно тому, как гипервизоры ОС изолируют виртуальные машины и применяют границы ресурсов, Agent Hypervisor изолирует сессии AI-агентов и применяет границы управления с субмиллисекундной задержкой.
| Функция | Описание | Задержка |
|---|---|---|
| Кольца выполнения | 4-уровневая модель привилегий (Ring 0–3) на основе оценки доверия | 0.3 мкс |
| Совместная ответственность | Высокодоверенные агенты ручаются за низкодоверенных с бонусной репутацией | 7 мкс |
| Saga Orchestrator | Многоэтапные транзакции с таймаутом, повторами и автокомпенсацией | 151 мкс |
| Delta Audit | Семантические диффы в цепочке хэшей с привязкой к блокчейну | 27 мкс |
| Полный пайплайн | Сессия + вход + аудит + saga + завершение | 268 мкс |
pip install agent-hypervisor
from hypervisor import Hypervisor, SessionConfig, ConsistencyMode
hv = Hypervisor()
# Создать управляемую многоагентную сессию
session = await hv.create_session(
config=SessionConfig(consistency_mode=ConsistencyMode.EVENTUAL, max_participants=5),
creator_did="did:mesh:admin",
)
# Агентам автоматически назначаются привилегированные кольца на основе оценки доверия
ring = await hv.join_session(session.sso.session_id, "did:mesh:agent-alpha", sigma_raw=0.85)
# → Ring 2 (Standard) — может выполнять обратимые действия
# Многоэтапная saga с автоматическим таймаутом и компенсацией
saga = session.saga.create_saga(session.sso.session_id)
step = session.saga.add_step(
saga.saga_id, "draft_email", "did:mesh:agent-alpha",
execute_api="/api/draft", undo_api="/api/undo-draft",
timeout_seconds=30, max_retries=2,
)
# Завершение — возвращает хэш итогов с защитой от подделки
summary_hash = await hv.terminate_session(session.sso.session_id)
from agent_os import StatelessKernel
kernel = StatelessKernel()
kernel.load_policy_yaml("""
version: "1.0"
name: api-safety
rules:
- name: block-destructive-sql
condition: "action == 'database_query'"
action: deny
pattern: "DROP|TRUNCATE|DELETE FROM .* WHERE 1=1"
- name: rate-limit-api
condition: "action == 'api_call'"
limit: "100/hour"
""")
result = await kernel.execute(action="database_query", params={"query": "DROP TABLE users"})
# ❌ Заблокировано: совпадение с правилом 'block-destructive-sql'
from agent_os import KernelSpace
kernel = KernelSpace()
# Каждое действие ядра автоматически записывается
result = await kernel.execute(action="read_file", params={"path": "/data/report.csv"})
# Запрос к flight recorder
entries = kernel.flight_recorder.query(agent_id="agent-001", limit=10)
for entry in entries:
print(f"{entry.timestamp} | {entry.action} | {entry.outcome}")
MIT