CERBERUS
ядро активно · Android + Termux

Агент, который
живёт в телефоне.

Cerberus ставится одной командой, работает от root через KernelSU и сам вызывает инструменты: shell, файлы, HTTP, MCP и свои скиллы. Ключи — в одном файле, обновления — патчами.

arm64 · amd64 root и reduced режим статика без зависимостей
termux

$ 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/<имя>/mcp.json. Запускаются на первом вызове и засыпают через 5 минут простоя.

Скиллы — Markdown

Папка с SKILL.md или один .md. Агент читает инструкцию перед работой, а не изобретает процедуру заново.

Живое зеркало

Documents/Cerberus/.conf — настоящая копия конфига. Правки в .env, скиллах и MCP подхватываются без перезапуска.

Обновление дельтой

Сервер отдаёт только изменённые блоки. Проверка sha256, замена бинаря и перезапуск демона и TUI — сами.

три шага

От нуля до задачи.

01

Одна команда

Установщик сам определяет Termux, архитектуру и root. Раскладывает бинарь, конфиг и зеркало в Documents.

02

Ключи и модели

GEMINI_API_KEYS и GEMINI_API_MODELS в .env. Пул ключей переключается на 429/401 без остановки работы.

03

Задача

Вы пишете в TUI, демон запускает агента. Каждый вызов инструмента виден в ленте — вместе с результатом.

безопасность

Три уровня. Один приговор.

Решение принимается до выполнения, после раскрытия алиасов и вложенных оболочек. Модель не может попросить исключение.

Level 0

Мгновенный бан

Разделы загрузки, блочные устройства, форматирование, SELinux permissive, обход гейта. Сессия помечается SECURITY_LOCKDOWN и больше не отвечает.

Level 1

Подтверждение

Пакеты, перезагрузка, запись вне песочницы, установка модуля. Показывается [Y/n], перед изменением делается бэкап.

Level 2

Авто

Песочница, чтение, logcat, pm list, сборка в workspace. Обычная работа без лишних вопросов.

обновления

Патч, а не второй бинарь.

20%

типичный размер дельты между соседними сборками. Бинарь ~15 МБ, патч — около трёх.

После смены пары строк патч весит байты, а не мегабайты.

/check_update сравнивает версию клиента и сервера и показывает 1.0.0 → 1.0.1.

/update качает патч, проверяет sha256 нового файла, заменяет бинарь, поднимает демон и перезапускает TUI.

Старый файл остаётся рядом как cerberus.old. Сервер хранит последние пять версий и собирает патчи на каждую.

расширения

Добавляется файлами.

Скилл

Один Markdown-файл. Первая строка становится описанием в каталоге.

skills/cleanup/SKILL.md
# Очистка диска
1. du -sh /data/local/tmp/* | sort -h
2. Удалять только *.log старше недели.
3. Не трогать /data/adb/modules.
4. Не трогать vault.bin и .env.
5. В конце показать освобождённый объём.

MCP-сервер

Папка с mcp.json. Процесс поднимается по требованию и засыпает через 5 минут.

mcp/files/mcp.json
{
  "command": "python3",
  "args": ["server.py"],
  "env": {},
  "disabled": false
}

Поставьте за минуту.

Termux, одна команда, ключ Gemini. Root не обязателен.

Установить