Проблема: «Человек-робот» в терминале
Обычно работа с CLI-агентами вроде Claude Code или Codex требует постоянного присутствия: вы вводите запрос, ждете, отвечаете на уточняющие вопросы. Если закрыть терминал — задача прерывается. Agent Autoloop решает это, выступая легковесным оркестратором (ядро на ~1650 строк кода, 0 внешних зависимостей). Он запускает агента, тот выполняет задачу, а если нужен выбор человека — процесс полностью завершается, не потребляя CPU и токены, пока вы не ответите.
Как это работает: Архитектура и безопасность
Система построена на четырех ключевых механизмах, обеспечивающих надежность и безопасность:
- Zero-Cost Suspension: В режиме ожидания (ожидание ответа пользователя) процесс агента не запущен. Состояние хранится в SQLite. Вы можете не отвечать днями, и это не будет стоить денег.
- Event Sourcing: Все действия записываются в неизменяемый лог. При сбое или перезагрузке система восстанавливает состояние из лога без потери данных.
- Separation of Concerns: Внешние данные (например, текст Issue) не подставляются напрямую в промпт, а кладутся в файлы. Это защищает от инъекций и гарантирует, что правила выполнения (какой агент, в какой папке) контролируются только локальным конфигом.
- Loop Breaker: Защита от бесконечных циклов. Если агент передает задачу другому агенту более 8 раз, цепочка прерывается, и вам приходит уведомление.
Интеграция: Поддержка 10+ агентов и каналов
Система не требует изменения исходного кода агентов. Достаточно, чтобы инструмент принимал промпт через stdin и выводил ответ в stdout. Поддерживаются как популярные решения, так и универсальный режим «команды».
| Категория | Примеры / Поддержка | Примечание |
|---|---|---|
| Агенты (Ядро) | Claude Code, Codex, ACP | Первая классная поддержка, тестировано на практике |
| Агенты (Command) | DeepSeek Harness, OpenClaw, Hermes, Cursor, WorkBuddy | Запускаются через обертку use: "command" |
| Каналы уведомлений | Desktop, Feishu, DingTalk, WeChat Work, Slack, Discord | Уведомления приходят в виде интерактивных карточек |
| Источники событий | GitHub Webhook, GitLab, Cron, HTTP, Issue Polling | Позволяет реагировать на новые задачи автоматически |
Производительность и метрики
Ядро оптимизировано для скорости. Тесты проводились на Apple M5 Pro, 24 GB RAM, Node 24.21.0. Система использует транзакционную запись на диск, что гарантирует целостность данных.
| Метрика | Значение | Комментарий |
|---|---|---|
| Холодный старт | 88.78 ms | Время инициализации процесса |
| Память (idle) | 59.94 MB RSS | Минимальное потребление в простое |
| 170.49 MB RSS | Линейный рост при большом числе задач | |
| Запись (Persistence) | 2394 записи/сек | Скорость записи в лог событий |
| Распределение задач (p99) | 1.82 ms | Скорость принятия решения ядром |
| Размер кода ядра | 1651 строка | Включая комментарии и пустые строки |
Практическое применение: Шаблоны и безопасность
Проект поставляется с готовыми шаблонами (recipes): ежедневные отчеты, мониторинг GitHub Issues, проверка алертов, CI/CD пайплайны (с меткой deliver).
Важно: Агент Autoloop работает локально. Он не хранит ваши токены и не отправляет данные на внешние серверы. Для коммерческого использования с высокой нагрузкой рекомендуется использовать API-ключи провайдеров, так как личные подписки часто ограничены для автоматизации.
Источник: Github ↗
