Пул ключей
Ключи через запятую. На 429 или 401 демон мгновенно берёт следующий и пишет в ленту, какой ключ включён. Работа не останавливается.
Нужен Termux и ключ Gemini. Root через KernelSU или Magisk открывает полный режим; без root остаётся песочница и workspace.
$ curl -fsSL https://cerberus.lain.ch/install.sh | sh
по шагам
Ставьте версию с F-Droid, не из Play. Откройте терминал и выполните команду выше. Если нет curl: pkg install curl.
Откройте Documents/Cerberus/.conf/.env любым файловым менеджером. Впишите ключи Gemini и список моделей. Демон перечитает файл сам.
cerberus открывает TUI. /model выбирает модель из вашего списка, /skills и /mcp показывают каталог.
конфигурация
Один файл, обычный текст. Он же лежит в приватной копии демона — это двустороннее зеркало.
GEMINI_API_KEYS=AIza...,AIza...
GEMINI_API_MODELS=gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite,gemma-3-27b-it
GEMINI_MODEL=gemini-2.5-pro
# сервер обновлений; можно переопределить
CERBERUS_UPDATE_URL=https://cerberus.lain.ch
Ключи через запятую. На 429 или 401 демон мгновенно берёт следующий и пишет в ленту, какой ключ включён. Работа не останавливается.
GEMINI_API_MODELS — это и есть меню /model. Любая модель из списка, включая Gemma. GEMINI_MODEL задаёт выбор по умолчанию.
Значения не попадают в историю и результаты инструментов: вывод заменяется на [REDACTED:KEY]. Секреты для HTTP живут в vault и подставляются как {{secret:NAME}}.
Зеркало слушает inotify. Сохранили .env — через секунду активны новые ключи и модели. Никакого опроса и лишней нагрузки.
режимы
Бинарь в /data/adb/cerberus, сокет /dev/socket/cerberus.sock. Shell от root, pm, settings, logcat, модули KernelSU и автозапуск при загрузке.
Всё в ~/.cerberus, workspace ~/cerberus-workspace. Нет системного shell и изменения пакетов; песочница, файлы, HTTP, MCP и скиллы работают.
su -c id должен вернуть uid=0. Установщик делает это сам и выбирает режим.после установки
cerberusоткрыть TUIcerberus statusJSON о демоне: версия, модель, зеркало, ключи/modelвыбрать модель из GEMINI_API_MODELS/skillsкаталог скиллов и их статусы/mcpMCP-серверы: успешно, выключено, сон, ошибка/fix <имя>агент откроет новую сессию и починит сломанный скилл или MCPпосмотри, что занимает место в /data/local/tmp, и убери только старые логи. Агент покажет каждый вызов и спросит подтверждение там, где требует периметр.обновления
/check_update покажет 1.0.0 → 1.0.1, /update поставит патч и перезапустит демон и интерфейс.
cerberus update -check и cerberus update. Старый бинарь остаётся как cerberus.old.
если что-то не так
Установщик кладёт запускалку в $PREFIX/bin. Закройте и откройте Termux заново или проверьте echo $PATH. Сама запускалка — обёртка, которая зовёт настоящий бинарь.
cerberus status покажет, жив ли сокет. Логи: /data/adb/cerberus/daemon.log в root-режиме и ~/.cerberus/daemon.log без root.
Проверьте путь именно Documents/Cerberus/.conf/.env, а не копию в другом месте. Ключи — через запятую, без кавычек и пробелов вокруг. Через пару секунд cerberus status покажет провайдера и модель.
Значит GEMINI_API_MODELS пуст или файл ещё не синхронизировался. Сохраните .env и откройте /model снова — перезапуск не нужен.
Клиент сначала пробует патч, затем полный файл. Если и это не вышло, рядом остаётся cerberus.old — его можно вернуть вручную. Причина видна в /check_update и cerberus update -check.
Нет. Без root Cerberus работает в reduced-режиме: песочница, workspace, файлы, HTTP, MCP и скиллы. Root нужен для системного shell, пакетов, настроек и автозапуска.