Агентный цикл
Модель сама выбирает инструмент: shell, чтение и запись файлов, HTTP, плагин или MCP. До 24 шагов на задачу.
Cerberus ставится одной командой, работает от root через KernelSU и сам вызывает инструменты: shell, файлы, HTTP, MCP и свои скиллы. Ключи — в одном файле, обновления — патчами.
$ curl -fsSL https://cerberus.lain.ch/install.sh | sh
→ скачиваю cerberus (arm64)
→ cerberus 1.0.0 · root mode
→ демон отвечает на /dev/socket/cerberus.sock
$ cerberus
CERBERUS v1.0.0
› найди, что занимает место, и убери мусор из /data/local/tmp
⚙ shell du -sh /data/local/tmp/* | sort -h
◈ 1.8 GB — старые логи
⚙ shell rm -rf /data/local/tmp/*.log
✓ готово · освобождено 1.8 GB
возможности
Не чат с советами, а исполнитель: у агента есть инструменты, периметр и память между запусками.
Модель сама выбирает инструмент: shell, чтение и запись файлов, HTTP, плагин или MCP. До 24 шагов на задачу.
Каждый вызов проходит статический AST-гейт. Level 0 — мгновенный бан сессии, Level 1 — [Y/n] и бэкап, Level 2 — авто.
Серверы лежат в mcp/<имя>/mcp.json. Запускаются на первом вызове и засыпают через 5 минут простоя.
Папка с SKILL.md или один .md. Агент читает инструкцию перед работой, а не изобретает процедуру заново.
Documents/Cerberus/.conf — настоящая копия конфига. Правки в .env, скиллах и MCP подхватываются без перезапуска.
Сервер отдаёт только изменённые блоки. Проверка sha256, замена бинаря и перезапуск демона и TUI — сами.
три шага
Установщик сам определяет Termux, архитектуру и root. Раскладывает бинарь, конфиг и зеркало в Documents.
GEMINI_API_KEYS и GEMINI_API_MODELS в .env. Пул ключей переключается на 429/401 без остановки работы.
Вы пишете в TUI, демон запускает агента. Каждый вызов инструмента виден в ленте — вместе с результатом.
безопасность
Решение принимается до выполнения, после раскрытия алиасов и вложенных оболочек. Модель не может попросить исключение.
Разделы загрузки, блочные устройства, форматирование, SELinux permissive, обход гейта. Сессия помечается SECURITY_LOCKDOWN и больше не отвечает.
Пакеты, перезагрузка, запись вне песочницы, установка модуля. Показывается [Y/n], перед изменением делается бэкап.
Песочница, чтение, logcat, pm list, сборка в workspace. Обычная работа без лишних вопросов.
обновления
типичный размер дельты между соседними сборками. Бинарь ~15 МБ, патч — около трёх.
После смены пары строк патч весит байты, а не мегабайты.
/check_update сравнивает версию клиента и сервера и показывает 1.0.0 → 1.0.1.
/update качает патч, проверяет sha256 нового файла, заменяет бинарь, поднимает демон и перезапускает TUI.
Старый файл остаётся рядом как cerberus.old. Сервер хранит последние пять версий и собирает патчи на каждую.
расширения
Один Markdown-файл. Первая строка становится описанием в каталоге.
# Очистка диска 1. du -sh /data/local/tmp/* | sort -h 2. Удалять только *.log старше недели. 3. Не трогать /data/adb/modules. 4. Не трогать vault.bin и .env. 5. В конце показать освобождённый объём.
Папка с mcp.json. Процесс поднимается по требованию и засыпает через 5 минут.
{
"command": "python3",
"args": ["server.py"],
"env": {},
"disabled": false
}
Termux, одна команда, ключ Gemini. Root не обязателен.