1.9.9545

Большой апдейт - новый UI / AI

Большой апдейт RU/EN

Два главных фокуса апдейта:

По AI важный пользовательский момент: появились бесплатные лимиты, чтобы можно было попробовать Assistant без ручной настройки OpenAI-аккаунта. Это особенно важно для пользователей из РФ: OpenAI сейчас блокирует работу с такими пользователями, а EyeAuras Gateway закрывает эту проблему. Если нужен полный контроль, можно указать собственный OpenAI API key или совместимый endpoint; в этом режиме EyeAuras ходит напрямую и Gateway не используется.

Остальные крупные направления:

  • сняты почти все ограничения Free-версии; заметное исключение пока одно - Network Message trigger/action, этот хвост старой модели планирую убрать в одном из следующих крупных обновлений
  • полностью переработанные лицензии на паки и саблицензии для авторов pack'ов и mini-app - теперь можно по сути собрать любой удобный формат лицензирования из доступных опций, например отслеживать количество сессий или привязывать к компьютеру
  • EyePad как отдельный workflow для кода, .csx, .sln, Live Import и внешних IDE
  • более сильный C# scripting: Embedded Resources, NuGet, Memory API, Script Properties и IDE-интеграция
  • доработки Export / Import, pack publishing и сценариев распространения mini-app

Если вы недавно в EyeAuras: pack - набор аур/скриптов, а mini-app - готовое решение, собранное поверх EyeAuras.

Новый интерфейс и UX

Updated Main Window

Задача этого обновления была выравнять функционал нового и старого интерфейсов. Дальнейшее развитие будет именно в новом UI. Старый будет отключен в одном из следующих обновлений.

Интеграция с AI

Второй основной фокус этого апдейта - AI. Теперь он разделен на два сценария:

  • AI Assistant - умный справочник и легкий режим правок для настроек, документации и небольших примеров
  • Codex Coding Assistant - значительно более мощный инструмент, который по сути может написать программу ЗА вас

AI Assistant

Токены, API-ключи, бесплатные лимиты и Gateway

EyeAuras интегрируется с OpenAI и OpenAI-compatible API: можно указать свой OpenAI API key или совместимый endpoint, и запросы будут идти напрямую туда.

У OpenAI нет бесплатных лимитов для таких сторонних интеграций, при этом хотелось бы, чтобы пользователи могли хотя бы попробовать новый функционал без лишних заморочек. Поэтому EyeAuras берет эту роль на себя через EyeAuras Gateway - по сути прокси-сервер перед OpenAI. Благодаря Gateway бесплатные лимиты доступны и для Assistant, и для Codex: можно начать без отдельного OpenAI-аккаунта, ключей и endpoint'ов. Этого должно хватить чтобы периодически обращаться к помощи AI.

Gateway также решает проблему с ограничениями доступа для пользователей из РФ: OpenAI сейчас блокирует прямую работу с такими пользователями, а EyeAuras Gateway позволяет пользоваться AI-функциями без отдельной настройки обходных маршрутов. Если вы указываете свой API key или endpoint, Gateway не используется. В обозримом будущем будет возможность пополнить счет EyeAuras, чтобы даже будучи в РФ иметь возможность использовать AI.

AI Assistant как умный справочник

AI Assistant - это умный справочник по EyeAuras и легкий режим для простых изменений: какой триггер выбрать, почему не сработало действие, где нужный раздел wiki, как выглядит минимальный пример C#-скрипта или что поправить в текущей настройке.

Параллельно появился EyeAuras Bot в Discord. Это тот же быстрый формат помощи, но вне приложения: бот знает wiki, changelog и scripting best practices.

EyeAuras Bot In Discord

Wiki теперь доступна на русском и английском. Это важно и для пользователей, и для AI: чем лучше документация, тем точнее становятся Assistant, Discord Bot, Codex и внешние coding agents.

Codex Coding Assistant и что выбрать

Codex Coding Assistant - это более сильный режим для задач, где простого ответа или небольшой правки мало. Он работает рядом с EyePad и внешней IDE: видит файлы и папки workspace, держит контекст задачи, может составить план, внести правки, учесть diagnostics редактора и объяснить, что изменилось.

EyeAuras Codex

Типовые сценарии для Codex: написать или починить C#-скрипт, разобраться в Behavior Trees, собрать pack, подготовить mini-app, использовать Live Import, подключить Memory API или объяснить ошибку прямо по текущему проекту.

Codex - это будущий основной режим AI в EyeAuras для задач, где нужно видеть проект целиком.

Если коротко: Assistant дешевле и быстрее для справки, идеи или простой правки. Codex умнее и лучше подходит для задачи "помоги сделать это в моем проекте".

Монетизация

Старые ограничения Free-версии сняты почти полностью: лимиты на количество аур, размер скриптов, интеграции и основные возможности больше не должны упираться в старую Free/Pro-модель.

Free becomes Pro

Единственное заметное исключение пока остается вокруг сетевых сообщений: использование Network Message trigger и Send Network Message action все еще требует лицензии. Это технический хвост старой модели, который я планирую убрать в одном из следующих крупных обновлений.

В целом EyeAuras теперь движется в сторону бесплатной базовой программы. Монетизация должна смещаться с ограничений внутри самой программы на готовые продукты, сделанные поверх нее: pack'и, mini-app и авторские решения.

Саблицензии для авторов pack'ов и mini-app

Саблицензии - это уже не про ограничения EyeAuras как программы, а про то, как авторы могут распространять свои собственные решения.

Если вы делаете pack, mini-app или приватную автоматизацию для команды/клиента, теперь можно собрать более подходящую модель доступа из доступных опций. Например:

  • персональная лицензия на один компьютер
  • лицензия на несколько одновременных сессий
  • отдельный доступ для команды или клиента
  • ограниченный demo/trial-доступ перед покупкой
  • разные уровни доступа для базовой и расширенной версии pack'а

Идея в том, чтобы EyeAuras оставалась максимально свободной как платформа, а авторы могли аккуратно монетизировать то, что они построили поверх нее.

C# Scripting

Script Properties NuGet

Крупные изменения:

Memory API

Memory API получил отдельный раздел документации. Это способ брать состояние прямо из процесса. Основная область применения - C# скрипты, однако вполне можно прокидывать вычитанные значения через переменные.

Например, можно читать координаты, HP, текущую цель, вычитывать список объектов и т.п.

Что это дает на практике по сравнению с использованием того же WinAPI напрямую:

  • один и тот же скрипт можно привязать к разным источникам памяти: обычному процессу, MemProcFS / LeechCore, своему драйверу, отдельному устройству или внешнему bridge (например, чтение через DLL inject). Т.е. вы можете начать, к примеру, с базового LocalProcess, а затем буквально поменяв одну строчку ровно тот же код использовать для работы с DMA-устройством, драйвером или вашим сверх-секретным способом чтения
  • если у вас уже есть свой способ чтения, его можно встроить через custom process или custom memory backend, сохранив привычный API сверху, как и все остальные возможности
  • когда нужно выполнять код внутри целевого процесса, есть code caves, allocation/protection/free memory, DLL inject, APC, remote thread и manual mapping - в целом все, что нужно для комфортной работы
  • EA ReProcess pack - open-source пример того, как собрать вокруг Memory API полноценный RE-инструмент на ImGui; API-документация ReProcess описывает workspace, вкладки, actions, инспекторы адресов и хранилище найденных знаний
  • ReToolsPlugin можно подключить прямо в своих Memory API-скриптах и дать AI-агенту инструменты для реверса выбранного процесса: читать память, искать данные, дизассемблировать, разбирать RTTI, сохранять findings и продолжать работу уже от найденных фактов

EyePad

EyePad продолжает превращаться в отдельный режим работы для тех, кто пишет код, запускает скрипты, импортирует pack'и и работает с .sln.

EyePad Live Import

Важный сдвиг здесь в том, что EyePad стал ближе к реальной рабочей среде, а не просто к встроенному редактору. Можно открывать одиночные .csx и текстовые файлы, работать с .sln, запускать Live Import, импортировать pack и постепенно превращать эксперимент в полноценный проект.

Отдельно улучшена надежность работы с файлами. Черновики, сохраненные файлы, внешние изменения на диске и восстановление после перезапуска теперь должны вести себя понятнее. Это особенно важно для AI-сценариев: если Codex или внешний агент работает с проектом, ему нужен настоящий файловый контекст, а не "магический" текст в памяти редактора.

Это еще не финальная Explorer/workspace-модель, но направление уже понятно: EyePad должен стать нормальной оболочкой для workflow "пишу код, тут же запускаю и довожу до pack или mini-app".

Export, Import и mini-app

Export / Import заметно подтянут как визуально, так и по части функционала

Export Improvements

Что изменилось:

  • в окне Export можно задавать параметры pack'а, имя и описание
  • доработана упаковка скомпилированных скриптов и зависимостей

Цель остается прежней: привести workflow к состоянию, где рабочую mini-app можно собрать максимально быстро, буквально в пару кликов. Мы уже на 90% там!

Image Search, Preview и Computer Vision

В Image Search появился встроенный редактор шаблона.

Редактор шаблона изображения

Теперь прямо внутри триггера можно:

  • обрезать изображение
  • стирать пиксели
  • удалять цвет
  • менять размер шаблона

Также улучшено отображение image preview в новом UI, исправлены проблемы с template rendering и добавлена недостающая доступность IComputerVisionExperimentalScriptingApi в SDK.

Исправления и улучшения

Ниже собраны пункты из Bugfixes / Improvements по всем changelog'ам, вошедшим в этот большой апдейт. Список отсортирован по важности: сначала crash/freeze, затем Licensing/Auth, UI, Scripting и остальные группы.

Crash / Freeze

  • [Crash] Исправлена проблема, из-за которой окно лицензии падало при запуске
  • [Freeze] Исправлена проблема, из-за которой редактор BT мог зависать при переключении между аурами и BT в некоторых сценариях.
  • [SendInput] Исправлен редкий дедлок в SendInputController, который мог проявляться в сценариях с Ctrl+V
  • [Share] Исправлен редкий краш SharePreview
  • [AI] Исправлен crash в AiChatSession, связанный с SetInputSink

Licensing / Auth

  • [UI] Поправил баг - авторы снова могут скачивать свои собственные packages независимо от выставленных download policy
  • [Licensing] Во внутренние API лицензий добавлены подписанные metadata и явные лимиты для sublicense
  • [Auth] Исправлен баг, из-за которого cached token мог считаться валидным, хотя его уже нужно было обновить - приводило к разлогиниванию

UI

  • [ImGui] За последние 2 месяца было очень много изменений. Рекомендую посмотреть актуальную версию — EyeAuras.ImGuiSdk, 0.1.42: markdown-редактор, анимации, составные кнопки, интеграция шрифтов, изображения, кэширование и многое другое.
  • [UI] Исправлена проблема с WindowListProvider: когда заголовок окна обновлялся, EA теряла окно на 1 кадр
  • [UI] Ускорено отображение popover-окон
  • [Bindings] Исправлена проблема, из-за которой редактор Bindings мог не всплывать
  • [UI] Исправлена ошибка, из-за которой не получалось удалить SubTree в деревьях поведения
  • [UI] Исправлена проблема, из-за которой не отображался список ошибок при клике на иконку
  • [UI] Исправлены проблемы с изменением размеров панелей (когда мышка "залипала" при перетаскивани)
  • [UI] Исправлены рывки при перетаскивании Blazor-окон когда окно резко "упрыгивало" в сторону
  • [UI] Значительно доработаны механизмы ресайза и перетаскивания BlazorWindow, из-за чего окно должно вести себя лучше под нагрузкой
  • [UI] Исправлен border clipping у BlazorWindow
  • [UI] Исправлен IWindowSelector.FindWindow: отсутствие окна больше не должно приводить к исключению

Scripting

  • [Scripting] Добавлена новая кнопка «Open in IDE», которая позволяет редактировать скрипт в Rider/Visual Studio и видеть изменения в EyeAuras в реальном времени — [подробнее здесь...](/scripting/ide-integration)
  • [Scripting] Исправления Embedded Resources — сделал Script FileProvider более гибким (теперь понимает больше форматов путей)
  • [Scripting] Улучшено освобождение ресурсов скриптов — даже если в пользовательском скрипте остались «висячие» ссылки, EyeAuras постарается подчистить их, если скрипт больше не запущен
  • [Scripting] Улучшен Blazor API — добавлен RegisterViewType(Type viewType, Type dataContextType, object key = default). Это позволяет регистрировать собственные UI-виджеты.
  • [Scripting] Memory API — огромное количество изменений в производительности и внутренних механизмах. На текущем этапе Memory API можно считать стабильным и достаточно производительным практически для любых сценариев разработки. Также добавлено несколько механизмов инжекта (CreateRemoteThread, APC и другие). Обратите внимание: инжект и чтение памяти зависят от защиты конкретного процесса; для игр и приложений с anti-cheat могут потребоваться отдельные подходы, совместимые методы доступа или дополнительная настройка.
  • [Scripting] Исправлена проблема, из-за которой ScriptContainerExtensions повторно регистрировался BT-нодами. Из-за этого singleton-объекты на деле переставали быть... singleton-объектами.
  • [Scripting] NuGet — добавлен DefaultNuGetPackageBlacklist, что улучшает совместимость со старыми пакетами netstandard1.3 и netstandard2.
  • [Scripting] Исправлена проблема, из-за которой IComputerVisionExperimentalScriptingApi был недоступен в SDK
  • [Scripting] Переработан процесс загрузки скриптов — это должно исправить ошибку Could not build the proper workspace state, please report this error
  • [Scripting] NuGet — улучшен механизм разрешения пакетов, добавлена более детальная TFM-фильтрация
  • [Scripting] Исправлена проблема виртуализации, из-за которой некоторые файлы скрипта могли попадать в список дважды
  • [Scripting] Улучшена работа Embedded Resources и StaticWebAssets у NuGet-пакетов - особенно полезно для UI-компонентов и пакетов, которые тянут свои веб-ресурсы

AI, Codex и Discord Bot

  • [AI] По умолчанию теперь создаются два AI-профиля: OpenAI и EyeAuras Gateway (прокси для OpenAI)
  • [Discord Bot] Правки и удаления сообщений стали корректнее отражаться в памяти и истории бота, чтобы в контексте было меньше устаревших данных
  • [Discord Bot] Ответы и служебные сообщения бота теперь отправляются без случайных пингов @everyone, ролей и пользователей
  • [Discord Bot] Длинные markdown-ответы и код стали аккуратнее разбиваться на Discord-сообщения; артефакты теперь можно отдавать файлами
  • [AI] Улучшен Responses API: добавлена потоковая выдача ответов
  • [MCP] MCP в desktop AI больше не спрятан только за alpha access
  • [AI] IEyeAurasAiGuidanceService вынесен так, чтобы scripts могли программно получать guidance pack - можно загрузить пакет доков и скормить AI прямо изнутри вашего скрипта, тем самым дав AI больше контекста о вашем паке/приложении

Behavior Trees

  • [BehaviorTree] Исправлена проблема с циклическими ссылками — из-за неё UI показывал соединения, которых на самом деле нет
  • [BehaviorTree] Добавлен новый узел — SetVariable. Он всё ещё на очень ранней стадии, но я решил выкатить его раньше, просто чтобы протестировать
  • [BehaviorTree] Улучшена производительность BT

Input / SendInput

  • [SendInput] Исправлена проблема с драйвером TetherScript — на некоторых разрешениях/DPI клики мышью ещё и слегка сдвигали курсор (+-1px). Ещё момент: пожалуйста, убедитесь, что используете совместимую версию драйвера, чтобы всё работало как ожидается — HVDK 2.1, подробнее на этой странице

Image Search / Preview

  • [Image Search] Добавлен новый встроенный редактор шаблона. Он позволяет обрезать изображение, стирать пиксели, удалять цвет и менять размер прямо внутри триггера. Подробнее...
  • [Image Preview] Улучшено отображение изображения в новом UI - preview теперь должен быть более четким, без лишнего сглаживания

EyePad

  • [EyePad] «Недавние» теперь отсортированы по дате (по убыванию)
  • [EyePad] AI/Codex лучше понимает, с какими файлами и папками вы сейчас работаете

Export / Import / Packing

  • [Packing] Доработана упаковка скомпилированных скриптов - зависимости из NuGet и package references теперь должны корректнее доезжать до packed-сборок
  • [Export] Исправлена проблема с pre-compilation аур во время Export (когда выставлен режим Binaries Only)
  • [Export] Исправлено сохранение .gitignore при project export

Web / Share / SEO

  • [Web] Поработал с SEO (search engine optimization) - ваши паки теперь должны быстрее детектиться поисковыми движками и чаще попадать в выдачу