Об этом проекте
ainess — это десктопное приложение (Tauri 2, лицензия MIT), которое превращает уже установленные у вас AI CLI для кодинга в скоординированную команду. Вместо того чтобы включать в себя модель или API-ключ, оно обнаруживает и управляет существующими инструментами — Claude Code, Antigravity, GitHub Copilot CLI, Gemini CLI, Codex CLI, opencode, Ollama и Aider, а большинство из них можно установить через панель настроек. «Пользовательский» тип агента может запускать любую команду, где {prompt} подставляется в аргументы. Сессии и учетные данные остаются там, где их хранит каждый CLI; приложение заявляет, что никогда не запрашивает, не хранит и не читает ключи. Основной платформой разработки и тестирования является Windows.
Как работает оркестрация
Агенты представляют собой одноразовые процессы CLI. Каждый вызов является «запуском» (run), а переписка сохраняется между запусками, так как каждый провайдер возобновляется через собственный ID сессии. Агенты организованы в иерархию с ролями: планировщик, который рассуждает, разделяет работу и делегирует, но не реализует; исполнители, которые делают работу; и рецензенты, которые ее проверяют. Делегирование происходит через ограниченный блок в ответе планировщика, который оркестратор парсит в запуски и возвращает в виде результатов — этот цикл называется «раундом» с настраиваемым максимумом. Задачи должны быть автономными, так как дочерний агент не видит переписки планировщика. Агент также может приостановить работу и задать пользователю вопрос с вариантами ответа, после чего запуск продолжится в той же сессии.
Внутри приложения
Проекты привязаны к папкам рабочих пространств и имеют собственную команду, состояние, историю и чаты; сохраненную «формацию» можно применить к новым проектам вместе с ее навыками и MCP-серверами. Канбан-доска с шестью колонками (от бэклога до завершенных) заполняется автоматически: промпт создает задачу, делегирования привязываются к ней, одобрения ждут в колонке «нужны вы», а завершенные запуски перемещаются в рецензию или готовы. Те же задачи отображаются в виде многослойного графа зависимостей, где перетаскивание связей определяет блокирующие отношения. Другие виды включают поток чата с оркестратором (использование инструментов, сворачиваемые делегирования, сохраненные «приказы» промптов), граф иерархии с указанием того, кто кому делегирует и остатком квоты, правую панель с потоками сырых событий и реальными PTY-терминалами, одобрения, которые могут требоваться для каждого агента или глобально, прямые и общие многопользовательские чаты, уведомления, состояние git-репозитория (ветка, измененные файлы, опережение/отставание, открытые pull-запросы со статусом CI) и контекстные меню правой кнопки мыши. Персональные git worktrees для каждого агента со своей веткой позволяют двум исполнителям работать одновременно, не конфликтуя за git index; панель позволяет открывать, объединять или удалять их, запрещая слияние при наличии незакоммиченных изменений.
Удаленный доступ и CLI
Встроенный сервер публикует тот же React UI в виде одной автономной страницы в локальной сети, защищенной токеном в URL (401 без него), чтобы с телефона можно было просматривать доску, отправлять задачи, останавливать запуски и отвечать на вопросы. Опциональные публичные URL предоставляются через cloudflared или ngrok с поддержкой статических доменов. Страница также предлагает браузерные уведомления, пока она активна в фоновом режиме, что требует безопасного контекста. HTTP API с аутентификацией по токену предоставляет доступ к состоянию, SSE-потоку событий, а также эндпоинты для промптов, инструкций, остановки, одобрения и чата. Тот же оркестратор доступен в режиме headless через CLI с командами для запуска задач, управления проектами, агентами и формациями, обнаружения установленного ПО, проверки квоты и использования, просмотра истории, обработки одобрений, чата и запуска страницы для телефона.
Дополнительно и данные
Навыки, MCP-серы, общий контекст и профиль внедряются в промпты агентов. Хуки реагируют на события оркестратора, такие как task.started, task.finished, delegation или approval.requested, с помощью Slack/Discord или общих вебхуков, локальных команд, системных уведомлений или инструкций, связанных с другим агентом, используя шаблонизированные переменные. Вся конфигурация, история, чаты, доски задач, отметки квот и логи хранятся в обычных файлах в папках AppData пользователя; история хранит последние 300 запусков и 3000 сообщений на проект, логи ротируются ежедневно и хранятся 14 дней, а токены маскируются перед записью. Интерфейс переведен на испанский, английский, бразильский португальский, упрощенный китайский, японский, французский и немецкий языки, переключение возможно без перезапуска, базовым словарем является испанский. Релизы собираются и подписываются через GitHub Actions при обновлении версии в основной ветке, а установленные приложения обновляются самостоятельно.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.