Скилл или MCP-сервер сам по себе мало говорит о том, где и зачем он нужен. Раздел «Проекты» связывает AI-ресурсы с конкретной папкой и показывает окружение, которое получит агент при работе с этим кодом.

Проектом может быть Git-репозиторий или обычная локальная папка. Добавление проекта ничего не устанавливает, не создаёт файлы, не выполняет команды и не отправляет данные наружу. Onplate запоминает путь и строит локальный снимок состояния.

Что становится видно после добавления проекта

Состав проекта определяется по фактам в файлах: языки, фреймворки, сервисы, контейнеры и команды запуска. Рядом с каждым фактом виден источник, файл и строка, на основании которых сделан вывод.

В незнакомом репозитории не приходится угадывать устройство проекта по названию папок: рядом с каждой найденной технологией или командой запуска указан исходный файл.

Найденные команды никто не запускает: их можно изучить и скопировать, а потенциально опасные помечает сканер.

Обычные проекты, монорепозитории и рабочие папки

Не все каталоги устроены одинаково, и форм тут несколько:

  • обычный проект с одной папкой и одним профилем;
  • монорепозиторий с общей Git-историей и несколькими частями, например backend и frontend;
  • рабочая папка с несколькими независимыми репозиториями;
  • каталог, в котором лежит много отдельных проектов.

От типа каталога зависит место установки. Скилл, нужный только бэкенду, не обязательно помещать в корень монорепозитория. У отдельных репозиториев в рабочей папке могут быть свои ветки, профили и наборы AI-ресурсов.

Проектные и глобальные ресурсы

Ресурсы разделены по области действия и происхождению.

Проектный ресурс доступен только в выбранной папке. Глобальный ресурс подключён к конкретному AI-инструменту и может быть доступен во всех проектах. Ресурс также может приехать вместе с кодом и лежать в репозитории, хотя Onplate его не устанавливал.

На странице проекта эти варианты показаны отдельно:

  • установлено через Onplate;
  • находится в проекте как часть кода;
  • доступно глобально через AI-инструмент.

Так можно понять, почему агент видит конкретный скилл, кто управляет его файлами и попадёт ли этот ресурс в общую настройку команды.

Ресурсы, приехавшие вместе с кодом, Onplate находит сам: скиллы и субагентов в каталогах AI-инструментов внутри репозитория, MCP-серверы из .mcp.json в его корне. Они показаны как внешние: агент их получит, хотя Onplate их не устанавливал. Каждый такой ресурс можно прочитать, проверить сканером безопасности и принять в хранилище или оставить как есть.

Сколько контекста получит AI

Для каждого AI-инструмента Onplate рассчитывает контекст именно в выбранной папке. В расчёт входят ресурсы проекта, глобальные ресурсы и файлы правил, которые читает агент.

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

Состояние AI-настройки

Проблемы проекта сведены в один статус:

  • «Синхронизировано», если локальная настройка согласована;
  • «Нужны действия», если есть неприменённые изменения или расхождения;
  • «Заблокирован», если папка недоступна, профиль повреждён или найден конфликт.

Вместо общего предупреждения приложение показывает конкретную причину. Например, ресурс есть в командном профиле, но не установлен на этой машине, либо локальная версия отличается от согласованной.

Профиль проекта и командная работа

Профиль проекта хранится в .onplate/profile.json рядом с кодом. В нём записывается, какие скиллы, MCP-серверы и субагенты нужны проекту, какие версии используются и для каких AI-инструментов они предназначены.

Профиль можно проверить в Git diff, обсудить в pull request и применить на другом компьютере. Новый участник команды получает конфигурацию рядом с кодом вместо устного описания и списка ссылок.

Секретные значения в профиль не попадают. Для MCP-серверов сохраняются только названия необходимых секретов, а сами ключи каждый пользователь вводит локально.

Git-коммиты не создаются автоматически, fetch тоже не делается: решение о публикации изменений остаётся за пользователем.

Режимы работы проекта

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

Onplate называет такое сочетание режимом. В каждом проекте есть режимы-заготовки из поставки, к ним можно добавить свои. Для выбранного клиента показана точная команда, схема режима (чем он запустится, кто помогает, что попадёт в контекст, какие права инструментов заданы) и таблица «Что доедет до каждого клиента»: где настройка понимается запуском, а где нет.

Запуск открывает сессию и ничего не меняет на диске. Отдельным действием режим можно записать в настройки клиента, если он нужен и при запуске мимо Onplate: до записи видно, какие строки изменятся, а рядом с файлом остаётся копия прежнего.

Рядом с настройкой показано, чем работали на самом деле. Это два факта разного происхождения, и Onplate их не смешивает: сколько раз режим запускал он сам, знает точно, потому что сессию открывал он; какими моделями шла работа, вычитано из журналов самих клиентов, и имя модели там такое, какое записал клиент.

Свои режимы можно выгрузить в .onplate/modes.json рядом с профилем проекта и передать команде обычным pull request. Приехавшие из репозитория режимы сами не применяются: сначала видно, что в них, и только потом их можно принять. На части, расширяющие права (ступень «без вопросов», каталоги за пределами проекта), согласие даётся отдельно, а незнакомые значения отбрасываются всегда.

Командный реестр и роли

Профиль проекта описывает один репозиторий. Когда набор AI-ресурсов общий для всей команды, его источником может быть отдельный реестр в Git-репозитории: в нём перечислены роли и пакеты, которые этим ролям нужны.

Пользователь выбирает роль и режим синхронизации: выключено, только уведомлять или доустанавливать автоматически. Onplate показывает расхождения с профилем (чего не хватает, что устарело, что стоит вне профиля и чего нет в реестре) и применяет их по решению пользователя. Реестров может быть несколько, между ними можно переключаться.

Изменения и локальный Git-контекст

Проект может меняться вне Onplate. Переключение ветки, новый ресурс, правка профиля, изменение структуры монорепозитория или новая AI-сессия отражаются в блоке изменений.

Также видны локальные сведения Git: незакоммиченные файлы, конфликты, отставание или опережение ветки, связанные worktree и история профиля. Например, расхождение настройки может оказаться следствием незавершённого переключения ветки, а не ошибкой Onplate.

Часть изменений видна между сканами. Наблюдение идёт по тем же каталогам и конфигурациям, куда смотрит скан, и сообщает, что данные на экране собраны до этих изменений. Состав проекта при этом пересчитывается сам (он читается из файлов и ничего не меняет), а решение о том, принимать ли приехавший вместе с кодом скилл, остаётся за пользователем. Наблюдение работает только после явного согласия на доступ к локальным каталогам.

Сессии и использование ресурсов

Локальные AI-сессии связываются с проектами по рабочей папке. На странице проекта видно, каким инструментом велась работа, когда была создана сессия, какая модель использовалась и какие ресурсы действительно вызывались.

Если проектный скилл ни разу не сработал, стоит проверить его описание и область установки. Возможно, ресурс этому проекту больше не нужен.

Обзор нескольких проектов

Экран «Все проекты» показывает активные папки, проекты, требующие внимания, архив, группы и локальные теги. Для двух проектов доступно сравнение AI-настройки: инструменты, версии, состояние установок и заметная разница в весе контекста.

На одном экране видно, где настройки разошлись, в каких папках недавно шла работа и какие проекты требуют проверки в первую очередь.

Что это даёт в работе

Раздел «Проекты» отвечает на конкретный вопрос: что получит агент, если запустить его в этой папке. Тот же профиль можно проверить в pull request и применить на другой машине, а отличия между проектами видны без ручного сравнения каталогов.


Onplate: onplate.tsymbal.dev · документация