Об этом проекте
Devinorium представляет собой self-hosted веб-интерфейс для AI-агентов по написанию кода, позволяющий управлять агентами через браузер, а не только через терминал. Его бэкенд написан на Rust с использованием axum, tokio и SQLite; он отвечает за аутентификацию, сессии, файлы и вызовы к провайдерам. Фронтенд реализован на Flutter web, создается с помощью скрипта сборки и встраивается в бинарный файл Rust во время компиляции из директории вывода сборки фронтенда.
Слой провайдеров является модульным, что позволяет добавлять новые бэкенды без изменения остальной части приложения. Поддерживаются три провайдера: Devin CLI, OpenCode и Codex CLI. Ожидается, что каждый из них присутствует в PATH и предварительно аутентифицирован с помощью соответствующей команды входа (devin login, opencode auth login, codex login).
Для начала работы требуются инструментарий Rust, Flutter SDK и CLI выбранного провайдера. После клонирования копируется и редактируется пример файла окружения для установки пароля bootstrap; в README предупреждается, что если этот пароль не установлен или оставлен в виде заглушки, учетная запись владельца не будет создана, и вход в систему станет невозможен. Затем скрипт сборки Flutter создает бандл фронтенда, релизная сборка cargo встраивает его, создается директория данных для базы данных, и запускается бинарный файл. По умолчанию сервис слушает localhost порт 7878, где пользователь входит в систему с учетными данными bootstrap.
Конфигурация осуществляется полностью через переменные окружения, описанные в примере env-файла. Настройки включают адрес и порт привязки, ключ сессии для подписи сессионных cookie (временный, если не указано длинное случайное значение), строку подключения к SQLite, имя пользователя и пароль владельца при первом запуске, модель по умолчанию для новых потоков, доверие к заголовкам forwarded-for за обратным прокси, максимальный размер тела запроса, флаг безопасных cookie для HTTPS и явно разрешенный origin для проверок CSRF. Миграции базы данных выполняются автоматически при запуске.
Процесс разработки включает проверки форматирования, clippy с запретом предупреждений и набор тестов; более строгие группы линтера pedantic и nursery упоминаются как задачи в бэклоге для постепенного внедрения.
В README указано, что Devinorium работает только по протоколу HTTP, поэтому удаленный или публичный доступ должен осуществляться через обратный прокси или туннель с терминацией TLS; подробные примеры развертывания приведены в отдельном файле документации. Проект лицензирован под AGPL-3.0-only, а описанный репозиторий является зеркалом проекта в GitHub из GitLab. Скриншоты в документации демонстрируют интерфейс на десктопе и мобильных устройствах, включая боковую панель, вид потока и редактор кода.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.