Kronos Agent OS: операционный слой для AI-агентов в open source
Что такое Agent OS?
Agent OS — операционный слой между LLM и пользователем. В отличие от агентских фреймворков, которые оптимизируют отдельный разговор, Agent OS управляет полным жизненным циклом агента: персистентная память, навыки, аудит инструментов, задачи по расписанию, координация нескольких агентов и дашборд для оператора.
TL;DR
- -KAOS — self-hosted Python-рантайм для AI-агентов с 5-слойной памятью (сессии, FTS5, векторы, граф знаний, shared facts), progressive disclosure навыков и 12+ автоматизациями по расписанию
- -Собственный ReAct-движок без LangGraph — 200 строк, полный контроль над tool calling, таймауты, аудит-трейл
- -5-слойная безопасность: prompt injection shield (28 паттернов), sanitizer, loop detector, output validator, cost guardian ($5/день)
- -Swarm Mode: 6 независимых агентов координируются через SQLite IMMEDIATE-транзакции — детерминированный арбитраж без pub/sub
- -Сравнение с Hermes Agent (100K+ stars, learning loop, но flat-file память) и OpenClaw (347K stars, 50+ интеграций, но 9 CVE за 4 дня)
- -MIT-лицензия, pip install, офлайн-демо без API-ключей
Kronos Agent OS: операционный слой для AI-агентов в open source
Self-hosted Python-рантайм для AI-агентов с памятью, навыками, автоматизациями, мультиагентной координацией и дашбордом. Сравнение с Hermes Agent и OpenClaw.
Зачем ещё один агентский фреймворк
Агентских фреймворков много: OpenClaw (~347K звёзд), Hermes Agent (100K+), LangGraph, CrewAI, AutoGen. Большинство из них сфокусированы на разговоре — промпты, tool calling, ретривал. Это нужная работа, но она закрывает только часть задачи.
Когда агент работает неделями, а не минутами, появляются другие требования: инспектируемое состояние, аудит tool-вызовов, задачи по расписанию, контроль безопасности, координация нескольких агентов. Существующие фреймворки оставляют эти задачи разработчику.
KAOS (Kronos Agent OS) — операционный слой вокруг агента: память, навыки, инструменты с аудитом, автоматизации, мультиагентная координация, дашборд и capability gates из коробки.
Что такое KAOS
KAOS — self-hosted Python-рантайм для долгоживущих AI-агентов. «Долгоживущий» значит: агент сохраняет состояние между сессиями, выполняет задачи по расписанию, использует инспектируемую память и управляется через локальный дашборд — всё без облачного сервиса.
pip install kronos-agent-os
kaos demo
Демо работает офлайн, без API-ключей.
Ментальная модель:
Пользователь / Cron / Коннектор → KAOS Runtime
├── Память (сессии, FTS5, векторы, граф знаний)
├── Навыки (workspace-процедуры)
├── Tool Gateway (MCP, кастомные, браузер, динамические)
├── Автоматизации (12+ задач по расписанию)
├── Координация суб-агентов (опциональный swarm)
└── Dashboard Control Room
KAOS — не фреймворк для создания агентов. Это операционная система для их запуска.
Ландшафт: Hermes, OpenClaw и все остальные
Hermes Agent (Nous Research)
100 000+ звёзд на GitHub, 140+ контрибьюторов. Главная фича — learning loop: агент создаёт навыки из опыта, улучшает их при использовании и строит модель пользователя между сессиями. Чекпоинт самооценки — каждые 15 вызовов инструментов.
Сильные стороны:
- Самообучающиеся навыки с progressive disclosure — библиотека растёт, стоимость токенов нет
- Диалектическое моделирование пользователя (Honcho)
- 6 бэкендов: локальный, Docker, SSH, Daytona, Singularity, Modal (serverless persistence)
- Встроенная миграция с OpenClaw
- Любой LLM-провайдер без lock-in
Слабые стороны:
- Память — плоские Markdown-файлы с жёстким лимитом символов. Превысил лимит — получи ошибку, чисти руками. Нет семантического поиска, нет графа связей, нет автоочистки устаревших фактов. Structured memory с typed nodes и graph edges — только в планах (GitHub Issue #346, март 2026)
- Только один провайдер памяти одновременно. Нельзя комбинировать Qdrant + FTS5 + flat files
- Нет multi-agent ledger. Сабагенты работают параллельно, но без координации: нет арбитража, нет общего состояния, нет anti-flood
- Нет автоматизаций по расписанию. Hermes ждёт, пока ты заговоришь. Не дайджестит новости, не консолидирует память ночью, не делает еженедельную аналитику
- Нет дашборда и аудит-трейла. Учится — а что именно делал, не видно
- Безопасность имплицитна. Нет capability gates, нет редактирования tool-вызовов, нет cost guardian
OpenClaw
~347 000 звёзд — один из самых быстрорастущих open-source проектов в истории GitHub. TypeScript/Node.js. Gateway-first архитектура. 50+ интеграций с мессенджерами.
Сильные стороны:
- Экосистема интеграций без конкурентов: WhatsApp, Telegram, Discord, Slack, Signal, iMessage, Matrix, Teams и ещё 40+
- Workspace на Markdown-файлах (SOUL.md, MEMORY.md, TOOLS.md) — человекочитаемо и редактируемо
- Canvas — живой UI, которым управляет агент
- ClawHub — маркетплейс навыков
openclaw onboard— пошаговый онбординг из терминала
Слабые стороны:
- 9 CVE за 4 дня в марте 2026. Включая CVE-2026-25253 (CVSS 8.8) — небезопасный WebSocket, утечка auth-токенов
- Supply chain атака на ClawHub: из 2857 навыков 341 оказались вредоносными (аудит Koi Security). Маркетплейс навыков стал вектором атаки, а не преимуществом
- Multi-agent — недетерминирован. LLM решает, когда запускать ревьюера, когда ретраить.
sessions_spawnсоздаёт дочерних агентов через LLM-сессию — flow-control непредсказуем - Память — плоские файлы. Нет FTS5, нет семантического поиска, нет графа. Для простых случаев работает; для агента, который должен помнить тысячи фактов месяцами — нет
- Навыки статичны. Агент не учится — навыки работают одинаково в день 1 и в день 100
- Нестабильность обновлений. Reddit-треды регулярно упоминают breaking changes между версиями
Архитектура KAOS: технический разбор
1. Собственный ReAct-движок (без LangGraph)
KAOS использует кастомный ReAct-цикл (engine.py), построенный напрямую на langchain_core messages и tools. Без LangGraph. Без фреймворковой зависимости кроме протокола сообщений.
result = await react_loop(
model=model,
messages=history,
tools=tools,
system_prompt=system_prompt,
max_turns=25,
)
LangGraph хорош для прототипирования. Но когда нужно контролировать выполнение tool-вызовов, распространение ошибок и терминацию цикла — нужен цикл, который читается за 200 строк, а не граф-абстракция.
Движок обеспечивает:
- Асинхронное выполнение инструментов с таймаутами (120 секунд по умолчанию)
- Классификацию ошибок и восстановление
- Коллбэки для аудит-трейла на каждый tool-вызов
- Корректное завершение при исчерпании итераций
2. Пятислойная память
Здесь KAOS принципиально расходится с конкурентами.
| Слой | Хранилище | Назначение | Поиск |
|---|---|---|---|
| Сессии | SQLite по потокам | Недавняя история диалога | Последовательный |
| Извлечённые факты | FTS5 (SQLite) | Точный recall — имена, ID, даты, URL, решения | Полнотекстовый |
| Векторная память | Mem0 + Qdrant (локально) | Семантический recall — концепции, темы, похожий контекст | Векторное сходство |
| Граф знаний | SQLite | Сущности и связи — люди, компании, проекты | Обход графа |
| Общие факты | Swarm SQLite (FTS5) | Кросс-агентный профиль пользователя | Полнотекстовый |
У Hermes — 4 слоя (session, persistent, skill, user model), но все на плоских файлах с лимитом символов. Нет семантического поиска, нет графа. У OpenClaw — Markdown-файлы без структурированного поиска.
Жизненный цикл памяти KAOS:
- Retrieve — перед каждым LLM-вызовом FTS5 + Mem0 + граф знаний инжектируются как транзиентный контекст
- Store — после ответа факты извлекаются в фоне (DeepSeek lite, ~$0.001/ход)
- Consolidate — ночной
sleep-computeдедуплицирует факты, извлекает сущности в граф знаний, генерирует actionable insights, чистит устаревшее - Share — факты из пользовательских сообщений зеркалятся в
shared_user_facts, чтобы все агенты в swarm видели одинаковый профиль
Sleep-compute вдохновлён биологической памятью: кратковременные воспоминания (сессии) консолидируются в долговременные структуры (граф знаний) во время «сна» (ночной крон).
3. Навыки: Progressive Disclosure
И Hermes, и KAOS поддерживают навыки, но философия разная.
Hermes создаёт навыки автоматически из успешных выполнений. Learning loop улучшает их. Мощный подход для повторяющихся персональных рабочих процессов.
KAOS использует workspace-локальные процедуры с progressive disclosure:
| Уровень | Содержание | Стоимость токенов |
|---|---|---|
| L1 Каталог | Имя + описание в 1 строку | Всегда в промпте (~50 токенов/навык) |
| L2 Протокол | Полный SKILL.md с шагами и правилами | Грузится через load_skill() по необходимости |
| L3 Референсы | Файлы поддержки, примеры, фикстуры | Грузится через load_skill_reference() по запросу |
Агент с 20 навыками платит ~1000 токенов в базовом промпте (каталог), а не 20 000. Полный протокол грузится, только когда агент решает, что он релевантен.
KAOS поставляется с 5 паками навыков (research, productivity, ops, content, finance-lite) и 5 шаблонами агентов (Personal Operator, Research Agent, Ops Assistant, Founder Strategy, Analyst Reporter).
kaos templates list
kaos templates install personal-operator my-agent --force
kaos skills packs
kaos skills install-pack productivity --agent my-agent --force
4. Tool Gateway: MCP с аудитом
Все три фреймворка поддерживают инструменты. Разница KAOS — слой аудита и безопасности.
Каждый tool-вызов генерирует два события в tool_calls.jsonl:
tool_call— имя инструмента, отредактированные аргументы, контекст сессииtool_result— успех/ошибка, отредактированный результат, латенси
Секретные значения (token, secret, password, api_key, bearer-токены, sk-* ключи) автоматически редактируются перед записью.
Capability gates контролируют, что агент может делать:
ENABLE_DYNAMIC_TOOLS=false # Может ли агент создавать Python-инструменты?
REQUIRE_DYNAMIC_TOOL_SANDBOX=true # Обязателен ли Docker для динамических инструментов?
ENABLE_MCP_GATEWAY_MANAGEMENT=false # Может ли агент добавлять/удалять MCP-серверы?
ENABLE_DYNAMIC_MCP_SERVERS=false # Загружать ли сохранённые динамические MCP-серверы?
ENABLE_SERVER_OPS=false # Может ли агент подключаться к серверам по SSH?
Свежая установка консервативна по умолчанию. Осознанное решение. Агент, который может создавать произвольные Python-инструменты и подключаться к продакшен-серверам по SSH, должен требовать явного включения, а не неявного доверия.
Контекст: OpenClaw — 9 CVE за 4 дня и 341 вредоносный навык в ClawHub. Когда экосистема растёт быстрее безопасности — пользователи платят.
5. Пятислойная безопасность
| Слой | Что делает | Как |
|---|---|---|
| L1: Input Shield | Блокирует prompt injection до LLM | 28 regex-паттернов (EN + RU), rate limiter (10 запросов/мин) |
| L2: Sanitizer | Нейтрализует инъекции во внешнем контенте | Unicode homoglyph folding, скрытые HTML-элементы, boundary markers |
| L3: Loop Detector | Предотвращает бесконечные циклы инструментов | 3 детектора (repeat, ping-pong, poll), 3-ступенчатая эскалация (WARNING → CRITICAL → CIRCUIT_BREAKER на 30 вызовах) |
| L4: Output Validator | Редактирует секреты из ответов | Паттерны API-ключей, строки подключения, системные пути, утечки промпта |
| L5: Cost Guardian | Предотвращает неконтролируемые траты | $5/день, $1/сессия, предупреждение на 80% |
Ни Hermes, ни OpenClaw не поставляются с таким defense-in-depth. KAOS проектировался для работы 24/7 на VPS без постоянного надзора.
6. Автоматизации: агент работает, пока ты спишь
Именно это делает KAOS «Agent OS», а не чат-враппером.
| Задача | Расписание | Что делает |
|---|---|---|
| heartbeat | Каждые 30 мин | Проверяет задачи в workspace и Notion, уведомляет только если есть actionable |
| news-monitor | Ежедневно 08:30 | Сканирует watchlist через Brave Search, отправляет HTML-дайджест |
| group-digest | Ежедневно 09:00 | Собирает сообщения из Telegram-групп, ранжирует по engagement, дайджест |
| sleep-compute | Ежедневно 11:00 | Ночная консолидация памяти: дедупликация, извлечение сущностей, инсайты |
| self-improve | Ежедневно 22:00 | Анализирует последние 24ч взаимодействий, предлагает ОДНО конкретное улучшение |
| expense-digest | Еженедельно | Суммирует расходы из Notion: категории, тренды, рекомендации |
| skill-improve | Еженедельно | Автоулучшение навыков на основе паттернов использования |
| user-model | Еженедельно | Диалектическое моделирование пользователя: валидация и обновление гипотез |
| market-review | Еженедельно | Агрегация новостей по тикерам, анализ сентимента |
| people-scout | Еженедельно | LinkedIn-discovery: ротация фокуса (US founders → EU → AI engineers → Indie) |
| email-expenses | Ежедневно 08:00 | Авто-извлечение расходов из Gmail-чеков через MCP |
| swarm-retention | Еженедельно | Очистка устаревших сообщений в swarm-ledger (90 дней) |
Планировщик — чистый asyncio, без внешних зависимостей. Задачи работают в главном event loop вместе с Telegram bridge и дашбордом. Состояние переживает перезагрузки.
У Hermes планировщика нет. У OpenClaw — базовая поддержка cron через HEARTBEAT.md, но без сопоставимого набора предустановленных пайплайнов.
7. Swarm Mode: мультиагентная координация без pub/sub
KAOS запускает 6 независимых агентских процессов, каждый со своим Telegram-аккаунтом, персоной, workspace и памятью — координация через один общий SQLite-файл.
Все агенты видят каждое сообщение в группе. Каждый независимо решает, отвечать ли, по 3-уровневой системе маршрутизации:
| Уровень | Триггер | Задержка | Обходит арбитраж? |
|---|---|---|---|
| Tier 1 | Явное @упоминание или reply на моё сообщение | 1-5 сек | Да — всегда отвечает |
| Tier 2 | Релевантность темы >= 7/10 (LLM-проверка) | 5-20 сек | Нет — подчиняется лимиту |
| Tier 3 | Реакция на пира (значимое несогласие) | 15-45 сек | Нет — лимит + cooldown |
Anti-flood:
- Жёсткий лимит: максимум 2 неявных ответа на одно пользовательское сообщение от всех агентов
- Tier 3: 5-минутный cooldown на агента, протокол “PASS” для молчаливого отказа
- Повторная проверка после задержки (другой агент мог ответить, пока мы ждали)
Арбитраж через SQLite IMMEDIATE-транзакции:
# Агент вставляет claim перед ответом
swarm.claim_reply(agent_name="kronos", tier=2, eta_ts=time.time() + 12)
# Перед отправкой — атомарная проверка:
outcome = swarm.can_send_claim(agent_name="kronos", tier=2)
# Правило победителя: tier ASC, eta_ts ASC, agent_name ASC
Проще и дебажнее pub/sub или протоколов консенсуса. Один SQLite-файл, шесть конкурентных писателей, WAL mode, IMMEDIATE-транзакции. Всё состояние координации инспектируется через sqlite3 data/swarm.db.
У OpenClaw мультиагентность — LLM-orchestrated: модель сама решает, когда запустить ревьюера, когда ретраить. Flow-control недетерминирован. У Hermes сабагенты изолированы и работают параллельно, но без централизованного ledger’а.
Peer-реакции в KAOS эфемерны по дизайну:
- Текст пира передаётся через транзиентный
extra_system_context(не персистится в историю) - Нет записи в Mem0 — peer-реакции не загрязняют долговременную память
- Если агенту нечего содержательно добавить — “PASS” — claim отменяется молча
Так решается «баг попугая», когда агенты повторяют текст друг друга, потому что он попал в историю сессии.
8. Dashboard Control Room
Дашборд — операторская поверхность KAOS. Не чат-UI — контрольная комната.
| Вид | Что показывает |
|---|---|
| Overview | Здоровье, аптайм, активность агентов, аномалии |
| Memory Explorer | Факты с поиском, общие факты, сущности графа знаний, сессии — с удалением и ресетом |
| Audit Trail | Каждый tool-вызов: аргументы, результаты, латенси, статус |
| Jobs | Расписание крона, недавние запуски, ошибки |
| Swarm | История арбитрации, исходы claim’ов, метрики по агентам |
| Skills | Workspace-навыки с тогглами |
| MCP Servers | Статические и управляемые серверы |
| Settings | Capability gates, состояние провайдеров, конфигурация |
Когда capability заблокирована политикой, дашборд показывает имя gate и переменную окружения для включения — вместо молчаливого скрытия.
9. LLM-роутинг: экономия по умолчанию
KAOS использует двухуровневую стратегию:
| Уровень | Для чего | Провайдер по умолчанию |
|---|---|---|
| Lite | Проверки релевантности, парсинг, массовые операции, извлечение фактов | DeepSeek V3 |
| Standard | Оркестрация, анализ, сложные рассуждения, tool calling | Kimi K2.5 |
KAOS не привязан к моделям. Настрой OpenAI, OpenRouter, Groq, Together, LiteLLM, Ollama или любой OpenAI-совместимый эндпоинт в .env. Без изменений кода.
Матрица сравнения
| Фича | KAOS | Hermes Agent | OpenClaw |
|---|---|---|---|
| GitHub stars | Новый (v0.1.0) | ~100 000 | ~347 000 |
| Язык | Python | Python + TS (TUI) | TypeScript/Node.js |
| Лицензия | MIT | MIT | MIT |
| Self-hosted | Да (core design) | Да | Да |
| Слои памяти | 5 (сессии, FTS5, векторы, граф, shared) | 4 (flat files с char limit) | Markdown-файлы |
| Граф знаний | Да (SQLite, сущности + связи) | Нет (в планах) | Нет |
| Sleep-time консолидация | Да (ночной пайплайн) | Нет | Нет |
| Навыки | Progressive disclosure (L1/L2/L3) | Auto-created learning loop | SOUL.md + статичные skills |
| Автоулучшение навыков | Да (еженедельный крон) | Да (built-in loop) | Нет |
| Моделирование пользователя | Да (диалектическое, еженедельно) | Да (Honcho) | Базовые предпочтения |
| Tool аудит-трейл | Да (редактированный, persistent) | Нет | Нет |
| Capability gates | 5 env-based gates | Нет | Нет |
| Слои безопасности | 5 (shield, sanitize, loop, output, cost) | Базовая | 9 CVE за 4 дня (март 2026) |
| Cost guardian | Да ($5/день, $1/сессия) | Нет | Нет |
| Автоматизации | 12 базовых + 6 agent-specific | Нет | Базовый HEARTBEAT.md |
| Дашборд | Control Room (8 видов) | Нет | Базовый web UI |
| Мультиагентность | 6-агентный swarm, SQLite-арбитраж | Изолированные сабагенты | LLM-orchestrated (недетерминизм) |
| Мессенджеры | Telegram, Discord, CLI, webhook | 6+ каналов | 50+ каналов |
| Офлайн-демо | Да (kaos demo) | Нет | Нет |
Для кого KAOS
KAOS подойдёт, если:
- Хочешь владеть рантаймом агента, а не арендовать у облачного сервиса
- Нужно инспектируемое состояние — память, tool-вызовы, решения — а не чёрный ящик
- Нужны автоматизации по расписанию — дайджесты, мониторинг, аналитика, самоулучшение — работающие без человеческого ввода
- Нужна мультиагентная координация для задач, где помогают разные перспективы
- Важны безопасные дефолты — capability gates, аудит инструментов, контроль затрат
- Предпочитаешь Python и экосистему LangChain/Mem0/Qdrant
KAOS не подойдёт, если:
- Нужно 50+ интеграций с мессенджерами из коробки (бери OpenClaw)
- Хочешь learning loop, который создаёт навыки с нуля (бери Hermes)
- Нужно самое большое комьюнити (OpenClaw по звёздам, Hermes по quality контрибьюторов)
- Хочешь хостинговое решение с нулём ops (KAOS — self-hosted by design)
Быстрый старт
30-секундное демо
pip install kronos-agent-os
kaos demo
Без API-ключей. Без Docker. Без конфигурации.
Полная установка
git clone https://github.com/spyrae/kronos-agent-os.git
cd kronos-agent-os
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
kaos doctor # валидация setup
kaos init personal-operator # создать первого агента
# отредактируй .env: добавь FIREWORKS_API_KEY или DEEPSEEK_API_KEY
kaos chat # начать диалог
Dashboard
kaos demo-seed --reset
kaos dashboard
# Открой http://127.0.0.1:8789
Шаблоны и навыки
kaos templates list # 5 шаблонов агентов
kaos skills packs # 5 паков навыков
kaos skills install-pack productivity --agent my-agent --force
Строите AI-агентов и хотите сохранить контроль над рантаймом? Я помогаю стартапам и инженерным командам проектировать агентские системы — belov.works
pip install kronos-agent-os
kaos demo
GitHub: github.com/spyrae/kronos-agent-os Лицензия: MIT Python: 3.11+
Часто задаваемые вопросы
Чем KAOS отличается от LangGraph?
LangGraph — библиотека для построения граф-агентов. KAOS — рантайм для их запуска и эксплуатации. LangGraph отвечает за оркестрацию внутри одного вызова; KAOS добавляет вокруг этого память, навыки, аудит, автоматизации, дашборд и мультиагентную координацию. Их можно использовать вместе — ASO-модуль KAOS использует LangGraph для своего пайплайна.
Можно ли использовать KAOS с локальной моделью (Ollama, llama.cpp)?
Да. KAOS поддерживает любой OpenAI-совместимый эндпоинт. Настрой URL и модель в .env — и работай с Ollama, LM Studio, vLLM или любым другим локальным провайдером без изменений кода.
Обязательно ли использовать Swarm Mode?
Нет. Swarm Mode — опциональная подсистема. По умолчанию KAOS работает как single-agent runtime с полным набором функций: память, навыки, инструменты, автоматизации, дашборд. Мультиагентная координация нужна только когда задача выигрывает от нескольких независимых перспектив.
Насколько KAOS безопасен для запуска на VPS 24/7?
KAOS проектировался именно для этого. 5 слоёв защиты (input shield, sanitizer, loop detector, output validator, cost guardian), 5 capability gates по умолчанию отключены, tool-вызовы логируются с редактированием секретов. Бюджет по умолчанию — $5/день, $1/сессия.
Какие LLM-провайдеры поддерживаются?
Из коробки: Fireworks (Kimi K2.5), DeepSeek, OpenAI, OpenRouter, Groq, Together, LiteLLM, Ollama. Любой OpenAI-совместимый API подключается через переменные окружения без изменения кода.