Документация

Документация/Настройка

Окружения

Окружение — общий стенд с базами, брокерами и кластерами. Привяжите к нему репозиторий, и агент в каждом новом чате будет знать, с чем работает.

Окружение — это стенд, общий для нескольких сервисов, с базами данных, брокерами сообщений, кластерами Kubernetes и источниками Observe. Опишите стенд один раз и привяжите к нему репозиторий. Тогда в каждом новом чате этого репозитория агент сразу знает подключения стенда и ваше описание. Рассказывать ему о стенде заново не нужно.

Как создать окружение

  1. Сначала добавьте в DevMachine подключения стенда: базы данных, брокеры, кластеры. Окружение на них только ссылается.
  2. Откройте «Настройки → Окружения» (группа «Подключения»).
  3. В блоке «Все окружения» нажмите «Создать окружение». Если окружения уже есть, нажмите «Новое окружение».
  4. Заполните поля и нажмите «Сохранить».
ПолеЧто ввести
«Название»Имя стенда, например «Стенд»
«Вид»«Тестовое» или «Рабочее». О рабочем окружении DevMachine предупреждает агента: данные настоящие, любое изменение — только с вашего согласия
«Описание»Что агенту знать о стенде: какие сервисы, как называются очереди и схемы, где что искать. Пароли сюда не пишите
«Подключения»Базы, брокеры и кластеры из тех, что уже добавлены в DevMachine
«Источники Observe окружения»Логи, трейсы и метрики стенда. Их настраивают один раз на всё окружение, в каждом репозитории повторять не нужно. Подробнее — Продакшен
«Окружение Ignition»Какое окружение переменных в коллекции Ignition соответствует этому стенду, например stage. Поле подсказывает имена окружений из файлов .ignition/environments/*.env.json открытого репозитория. Подробнее — Ignition

Совет

Начните с тестового стенда. Рабочее окружение заводите, когда убедитесь, что агент правильно понимает описание.

Как привязать репозиторий

  1. Откройте проект.
  2. Перейдите в «Настройки → Окружения» и в блоке «Все окружения» включите у нужного окружения переключатель «Привязать к этому репозиторию». Репозиторий можно привязать к нескольким окружениям.
  3. В блоке «Этот репозиторий» выберите окружение в строке «Окружение для новых чатов». Если выбрать «Без окружения», новые чаты начнутся без него.

Привязанных окружений может быть несколько, а новый чат получает одно — то, что выбрано в строке «Окружение для новых чатов». Это окружение DevMachine привязывает к репозиторию сам, если вы не сделали этого на шаге 2. Если снять привязку у выбранного окружения, выбор тоже снимется.

Если выбрать рабочее окружение, DevMachine переспросит: «Новые сессии этого репозитория будут работать с рабочим окружением «…»: данные настоящие, и каждое изменение, которое предложит агент, — только с вашего согласия.» Подтвердите кнопкой «Рабочее окружение».

Что получает агент

В начале каждого нового чата репозитория агент получает одним блоком:

  • название и вид окружения;
  • подключения окружения и уровень доступа агента к каждому;
  • ваше описание стенда;
  • заметку о репозитории — поле «Что агенту знать об этом репозитории» в блоке «Этот репозиторий». Подробнее — Правила проекта.

Важно

Окружение агенту прав не даёт: подключение в списке окружения само по себе ничего ему не открывает. Что агенту можно делать с каждой базой, брокером и кластером, решаете вы в «Настройки → Безопасность агента», подробнее — Доступ агента к базам, кластерам и очередям.

Изменения и открытый чат

Изменения окружения и заметки действуют в новых чатах. То, что чат получил на первом запросе, дальше не меняется: так работает кеш, и запросы стоят дешевле.

Чтобы изменения дошли до открытого чата, нажмите «Применить к открытой сессии» под блоком «Этот репозиторий». DevMachine покажет цену: «Её следующий запрос перечитает всю историю без кеша: ≈ … токенов, в ×… дороже обычного запроса.» Нажмите «Применить». В длинном чате обычно дешевле начать новый.

Worktree и копии проекта

Worktree в git — ещё одна рабочая копия репозитория на своей ветке. Окружения и другие настройки проекта принадлежат репозиторию, поэтому любой его worktree — ваш или копия для задачи агента — получает то же, что основная папка:

  • привязку к окружениям и заметку о репозитории;
  • включённые модули и источники Observe;
  • профили профилировщика, инциденты и память агента;
  • ответы «Всегда» на карточках, где агент просит разрешения;
  • коллекцию Ignition: правки коллекции из worktree попадают в основную папку незакоммиченными.

DevMachine находит настройки по основной папке репозитория. Ветка и адрес на сервере git для этого не важны, поэтому два отдельных клона одного репозитория — два разных места со своими настройками. Подробнее о копиях для задач агента — Задача в отдельной копии проекта.

Ограничения

  • Только этот компьютер. Окружения хранятся на этом компьютере в ~/.koder/environments/, привязки и заметки — в ~/.koder/scope/. На сервер DevMachine они как настройки не отправляются, и коллеги их не видят.
  • Проект на сервере (SSH) окружений пока не получает. В разделе об этом написано: «Проект на сервере: его агент работает там, а окружения пока доходят только до проектов на этом компьютере.»
  • Описание и заметка вместе — до 16 000 символов. Под полем есть счётчик.
  • Агент сам описание и заметку не пишет: он может предложить текст, сохраняете его вы.
  • Что уходит наружу. Описание и заметка с каждым запросом уходят модели через сервер DevMachine, как и всё, что видит агент. Поэтому паролей в них не пишите. Пароли и токены самих подключений остаются в системной связке ключей.

Что дальше

Обновлено · Нашли неточность? Напишите на support@devmachine.ai или в Telegram.