Интеграция с IDE, AI и MCP
Export, Live Import, AI-ассистенты и MCP
Интеграция с IDE, AI и MCP
Одна из основных особенностей любой автоматизации это то, что со временем она имеет свойство разрастаться и покрывать все большую и большую площадь. Поначалу вы хотите, чтобы скрипт за вас просто нажимал одну кнопку. Потом добавляется пара условий нажатия этой кнопки. Через денек - еще одна кнопка. Глазом моргнуть не успеете, как в скрипте уже 1000+ строк.
Встроенный редактор скриптов EyeAuras рассчитан в основном на небольшие проекты - простой кликер, небольшой бот, какая-то вспомогательная утилита, ну и, разумеется, использование прикладных скриптов в деревьях поведения и макросах.
В какой-то момент, его возможностей просто перестает хватать - вы хотите разложить классы удобно по папочкам, навигироваться по коду с помощью умного поиска, написать юнит-тесты и пользоваться всеми остальными прелестями современной разработки, которые предоставляют IDE типа JetBrains Rider, Visual Studio или Visual Studio Code. Вот только в этих компаниях сотни и тысячи людей, чего нельзя сказать об EyeAuras. Вывод просто - EyeAuras никогда не догонит эти средства разработки, значит нужно искать какое-то другое решение.
И это решение - Export / Import / Live Import.
Изменить скрипт в IDE и вернуть его в EyeAuras
Работать будем с Hello, World - никакой принципиальной разницы нет, все ауры ведут себя примерно одинаково.
В верхней части C# Action есть группа кнопок, которые как раз отвечают за интеграцию с IDE

Export
Экспортирует ваш скрипт + все зависимости в виде .sln и .csproj. По пути настраивается ссылка на EyeAuras NuGet сервер (нужна для подтягивания зависимостей и SDK), импорты и все остальные необходимые мелочи.
Для экспорта выбирайте отдельную папку: операция может заменять файлы проекта, так что не экспортируйте в папку, где лежат какие-то важные данные. По умолчанию EyeAuras предложит одну из стандартный папок, рекомендую оставить как есть.
По результатам экспорта у вас получится вот такая папочка с псевдо-случайным именем и несколькими файлами в ней. Это и есть ваш проект, который далее можно открыть в IDE.

Проверить сборку проекта
Обратите внимание, что проект, который вы получите на выходе должен успешно собираться - Export не просто подготавливает текстовые файлы, а именно полноценный C# проект со всеми нужными зависимостями и ожидается, что если скрипт работал в EyeAuras, то он будет собираться и в IDE. Если это не так - смело нажимайте Report a Problem в окне EyeAuras, будем разбираться. Только не забудьте отметить галочку Auras.zip, чтобы в репорт попал и ваш скрипт.

Работа с кодом
После восстановления зависимостей доступны обычные средства IDE: подсветка, навигация, создание файлов. Экспортированный проект содержит служебные заглушки host для компиляции; успешная сборка не означает, что скрипт можно запустить отдельно от EyeAuras. Работа отладчика в конкретной версии здесь не подтверждена. Что точно доступно и работает:
- подсветка синтаксиса и автодополнение
- навигация по коду, в том числе в служебные библиотеки EyeAuras
- показ документации по классам прямо в редакторе (наведите мышь)
- возможность подключать NuGet пакеты
- работа с Blazor файлами (как с code-behind, так и без)
- возможность создавать папки, классы и т.п.
- возможность подключать внешние библиотеки - предпочтительнее всего через Embedded Resources
- возможность писать юнит-тесты на обычные классы в отдельном проекте. Импорт сопоставляет проект скрипта и его зависимости; это не импорт любого .NET solution целиком. Не подключайте тестовый проект как runtime-зависимость скрипта
Что НЕ работает:
- экспорт сам по себе не создаёт работающий host EyeAuras в IDE. Проверяйте поведение скрипта в EyeAuras
- pre-/post-build действия не будут отрабатывать в EyeAuras - это значит что вы все еще можете использовать их для, к примеру, генерации JavaScript из TypeScript для ваших Blazor UI, однако в EyeAuras будут потягиваться уже финальные JS файлы
Import
Итак, вы поработали с кодом и теперь готовы подтянуть изменения обратно в EyeAuras и запустить скрипт.
Для этого есть несколько вариантов. Начнем с самого простого - нажать Import и выбрать .sln файл.
EyeAuras загрузит этот солюшен, извлечет из него всю нужную информацию и обновит скрипт. Обратите внимание, что при синхронизации все ваши локальные изменения (сделанные в самой EyeAuras) ПОСЛЕ экспорта будут утеряны - EyeAuras именно загрузит ваш код из проекта.
Для проверки измените сообщение в Script.csx на Log.Info("Hello from IDE");, сохраните файл и выполните Import. Запустите C# Action в EyeAuras: в Event Log должно появиться Hello from IDE. Это проверяет возврат именно вашего изменения, а не только успешное создание .sln. Сборка в IDE требует установленного .NET SDK и доступных версий зависимостей; восстановление пакетов здесь не проверено.

В целом на этом бы можно было и остановиться - есть возможность экспорта, есть возможность импорта, с этим уже можно разрабатывать решения. Однако в разработке одна из самых ценных вещей это время "оборота" - сколько вы тратите на то, чтобы внести изменения в ваш код и далее увидеть их в готовом продукте. Меньше время оборота - быстрее разработка, быстрее тестирование, больше времени можно потратить на улучшение продукта, а не игру с инструментами.
И вот здесь EyeAuras предлагает решение, которое позволяет разрабатывать даже быстрее, чем с использованием самых современных IDE - Live Import
Live Import
Включите Live Import для экспортированного проекта и сохраните изменение сообщения в IDE. EyeAuras отслеживает изменения файлов и обновляет проект скрипта. Затем перезапустите C# Action и проверьте новое сообщение в Event Log.
Это не универсальный Hot Reload состояния .NET-процесса: изменение кода может пересоздать контекст и сбросить его поля. Автоматический перезапуск зависит от поверхности и версии редактора; если сообщения не изменились, проверьте выбранный проект, диагностику импорта и выполните Stop/Start. Время обновления не гарантировано.
Live Import + C# Overlay
В EyeAuras есть несколько способов запуска скриптов и один из них это C# Overlay. Этот оверлей можно использовать для создания кастомного пользовательского интерфейса, отображения нотификаций или отрисовки какой-то другой информации на экране. Под капотом это скрипт, использующий Blazor Windows для отображения

Его основная особенность по сравнению с C# Action в том, что окно, которое вы видите на экране - "живое". Обновление проекта может пересоздать содержимое окна. Проверьте видимый текст или другой результат своего изменения; это не обещание сохранения всего состояния окна.

Код оверлея, как и обычного скрипта, можно так же экспортировать и далее сделать Live Import - тогда сохранённые изменения проекта будут поступать в EyeAuras. Отображение результата зависит от успешной компиляции и жизненного цикла оверлея.

Open in IDE
Эта кнопка объединяет Export + Live Import и позволяет свести к минимуму количество кликов. Когда вы на нее нажмете, EyeAuras сначала экспортирует проект в указанную папку, затем запустит IDE (ту, которая настроена для открытия .sln файлов по умолчанию, это может быть Rider/Visual Studio, что угодно), а затем сразу же запустит Live Import.
После открытия проекта проверьте состояние импорта и результат изменения в EyeAuras. Сроки открытия IDE и обновления не гарантированы.
Открыть проект в своей IDE
Используйте привычную среду с поддержкой C# и .sln: JetBrains Rider, Visual Studio или Visual Studio Code. Поддержка Razor, тестов, отладки и AI зависит от версии среды и установленных расширений. Условия лицензий и текущая доступность внешних продуктов здесь не проверены.
Если вы используете AI, сначала дайте ему контекст экспортированного проекта и объясните, что Log, Variables, Sleep и cancellationToken — члены host в Script.csx. В обычные классы их передают явно. Ссылка на карты API поможет выбрать нужный сервис без выдумывания глобальных C# API.
Что такое MCP и зачем он нужен
MCP это Model Context Protocol - открытый протокол, через который AI-инструменты могут получать доступ к внешним инструментам, ресурсам и действиям.
Если говорить совсем просто, MCP нужен для того, чтобы AI не просто "болтал про код", а мог:
- читать структуру проекта
- открывать нужные файлы
- вызывать специальные инструменты
- редактировать код через контролируемые tool calls
- получать дополнительные знания из документации, логов, ресурсов и API
То есть MCP превращает AI из "умного автодополнения" в более серьезного рабочего помощника.
Хорошие официальные вводные по теме:
Подключить EyeAuras MCP
EyeAuras предоставляет MCP-инструменты для анализа выбранного экспортированного workspace EyePad: диагностики компиляции, поиска символов, документации и анализа ссылок/пакетов. Контекст определяется заново при каждом вызове; держите выбранным нужный проект и сверяйте возвращённый workspace.
Редактирование файлов экспортированного проекта выполняется средствами IDE или её AI-клиента. Подключение MCP само по себе не даёт клиенту доступ ко всем файлам и не запускает скрипт. После правок проверяйте диагностику и результат в EyeAuras.
Запустить сервер
- Откройте в EyeAuras вкладку AI Assistant /
AI. - При необходимости нажмите
Show Settings. - Проверьте поле
MCP Port. - Нажмите
Start MCP.
По умолчанию порт сейчас 48080, а endpoint выглядит примерно так:
http://127.0.0.1:48080/mcp
Дождитесь статуса MCP server is running. или изучите сообщение об ошибке. Если вы меняли порт, используйте endpoint, который показывает EyeAuras. Значение 48080 — исходная настройка, а не гарантия свободного порта. Сам факт нажатия Start MCP ещё не означает успешного подключения клиента.
Подключить клиент
Rider
В Rider это делается через:
Settings | Tools | AI Assistant | Model Context Protocol (MCP)
Дальше добавляете HTTP MCP server и указываете URL EyeAuras, например:
http://127.0.0.1:48080/mcp
VS Code
В VS Code можно добавить MCP server через встроенные настройки MCP или через mcp.json, тоже указав EyeAuras endpoint.
Visual Studio
В Visual Studio история зависит от конкретного AI-инструмента, но общая идея та же: нужно добавить внешний MCP server и направить его на EyeAuras endpoint.
Расположение настроек и поддержка HTTP MCP зависят от версии клиента. Проверяйте показанный EyeAuras endpoint и список доступных инструментов; внешний клиент здесь не проверен.
Экспорт и возможности SDK
Идея проста - ваш C# скрипт экспортируется в виде полноценного C# проекта, который можно даже сбилдить с помощью IDE. Далее вы работаете над ним, используя современные и удобные вам средства разработки, а когда все готово - просто импортируете проект обратно в EyeAuras, тем самым получая лучше от обоих миров. Вы все еще можете использовать все встроенные возможности EyeAuras SDK, такие как работу с изображениями, симуляцию ввода, работу с памятью, создание кастомных интерфейсов на Blazor и ImGui, ну и все остальное.
В декабре 2024 появился прототип экспорта и на протяжении года он постепенно совершенствовался и разрастался.
На данный момент размер самого большого бота, который реализован с использованием этого подхода уже превышает 23000 строк и при этом использует практически все, что было разработано для EyeAuras за все эти годы. Так что думаю на этом этапе этот функционал уже достаточно стабилен и рекомендуем к использованию для реальных проектов.
