CERBERUS
v1.0.0 · первый публичный релиз

Установка
за минуту.

Нужен Termux и ключ Gemini. Root через KernelSU или Magisk открывает полный режим; без root остаётся песочница и workspace.

termux

$ curl -fsSL https://cerberus.lain.ch/install.sh | sh

arm64 · amd64 Android 8+ ~15 МБ, один бинарь

по шагам

От установки
до первой задачи.

01

Termux

Ставьте версию с F-Droid, не из Play. Откройте терминал и выполните команду выше. Если нет curl: pkg install curl.

02

Ключи

Откройте Documents/Cerberus/.conf/.env любым файловым менеджером. Впишите ключи Gemini и список моделей. Демон перечитает файл сам.

03

Запуск

cerberus открывает TUI. /model выбирает модель из вашего списка, /skills и /mcp показывают каталог.

конфигурация

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

Один файл, обычный текст. Он же лежит в приватной копии демона — это двустороннее зеркало.

Documents/Cerberus/.conf/.env
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 — через секунду активны новые ключи и модели. Никакого опроса и лишней нагрузки.

режимы

Root или reduced.

root

Полный режим

Бинарь в /data/adb/cerberus, сокет /dev/socket/cerberus.sock. Shell от root, pm, settings, logcat, модули KernelSU и автозапуск при загрузке.

non-root

Сокращённый

Всё в ~/.cerberus, workspace ~/cerberus-workspace. Нет системного shell и изменения пакетов; песочница, файлы, HTTP, MCP и скиллы работают.

Проверка root: su -c id должен вернуть uid=0. Установщик делает это сам и выбирает режим.

после установки

Первые команды.

cerberusоткрыть TUI
cerberus statusJSON о демоне: версия, модель, зеркало, ключи
/modelвыбрать модель из GEMINI_API_MODELS
/skillsкаталог скиллов и их статусы
/mcpMCP-серверы: успешно, выключено, сон, ошибка
/fix <имя>агент откроет новую сессию и починит сломанный скилл или MCP
Пример задачи: посмотри, что занимает место в /data/local/tmp, и убери только старые логи. Агент покажет каждый вызов и спросит подтверждение там, где требует периметр.

обновления

Дальше — одной командой.

В TUI

/check_update покажет 1.0.0 → 1.0.1, /update поставит патч и перезапустит демон и интерфейс.

В shell

cerberus update -check и cerberus update. Старый бинарь остаётся как cerberus.old.

напрямую

Бинарники.

Если не нужен установщик: статический файл под вашу архитектуру. Для телефона — arm64.

android / arm64

Production, CGO_ENABLED=0. Телефоны и планшеты.

android / amd64

Эмулятор и x86_64-устройства. Собран с NDK.

если что-то не так

Частые вопросы.

cerberus: command not found

Установщик кладёт запускалку в $PREFIX/bin. Закройте и откройте Termux заново или проверьте echo $PATH. Сама запускалка — обёртка, которая зовёт настоящий бинарь.

Демон не отвечает

cerberus status покажет, жив ли сокет. Логи: /data/adb/cerberus/daemon.log в root-режиме и ~/.cerberus/daemon.log без root.

Ключи не подхватились

Проверьте путь именно Documents/Cerberus/.conf/.env, а не копию в другом месте. Ключи — через запятую, без кавычек и пробелов вокруг. Через пару секунд cerberus status покажет провайдера и модель.

Моделей нет в /model

Значит GEMINI_API_MODELS пуст или файл ещё не синхронизировался. Сохраните .env и откройте /model снова — перезапуск не нужен.

Обновление не встало

Клиент сначала пробует патч, затем полный файл. Если и это не вышло, рядом остаётся cerberus.old — его можно вернуть вручную. Причина видна в /check_update и cerberus update -check.

Нужен ли root?

Нет. Без root Cerberus работает в reduced-режиме: песочница, workspace, файлы, HTTP, MCP и скиллы. Root нужен для системного shell, пакетов, настроек и автозапуска.