AI и ML — AI-клиенты в скриптах
Карта по использованию внешних AI-клиентов NuGet из скриптов и их отличиям от встроенного AI-рантайма EyeAuras.
Карта по AI-клиентам для скриптов
Справочная карта для script mini-apps, которым нужен AI chat, vision,
tool-calling или agent workflows. Начинайте со встроенного runtime
EyeAuras.AI, добавляйте EyeAuras.AI.Desktop для desktop-интеграций, а
прямые NuGet-клиенты провайдеров используйте только как явный escape hatch.
Что обычно нужно
- Вызвать внешний chat/vision/OCR model из скрипта.
- Отправить захваченное изображение в AI model.
- Использовать OpenAI .NET client или клиент другого провайдера.
- Понять, что выбрать — встроенный рантайм EyeAuras AI или прямые вызовы через NuGet API.
- По возможности хранить API keys и конфигурацию моделей вне захардкоженного исходника.
Как это устроено
EyeAuras.AI— пакет с non-desktop runtime-поверхностью EyeAuras AI.EyeAuras.AI.Desktop— desktop AI helpers поверхEyeAuras.AI.EyeAuras.AISdk— compatibility/legacy surface для проектов, которые всё ещё ожидают старую объединённую форму AI SDK.- Встроенный рантайм EyeAuras AI — это подсистема приложения для chat sessions, profiles, retrieval, plugins и tool approval.
- Внешние AI-клиенты из NuGet — это обычные зависимости скрипта, которые mini-app использует напрямую.
- Прямой клиент требует собственной настройки авторизации, запросов и времени жизни.
- Встроенный рантайм лучше подходит для интегрированного chat UI, retrieval, tool plugins, profiles и долгоживущих AI-сценариев.
- Захваченные изображения экрана или окна обычно приходят из CV/image API, а затем конвертируются в формат изображения, который поддерживает конкретный провайдер.
Проверить встроенный инструмент без запроса модели
Если вашему скриптовому проекту уже доступны EyeAuras.AI и Semantic Kernel,
следующий верхнеуровневый код создаст локальный plugin host и вызовет встроенный
инструмент. Ссылки на сборки и их версии нужно подготовить в проекте заранее;
наличие имени в карте не означает установленного пакета. Log и
cancellationToken здесь предоставляет именно хост C# Script.
using EyeAuras.AI;
using EyeAuras.AI.PluginHost;
using Microsoft.SemanticKernel;
var host = new AiPluginHost();
host.AddOrUpdatePlugin("hello", new AiHelloWorldPlugin());
try
{
var result = await host.InvokeToolAsync(
"hello", "echo_with_time",
new KernelArguments { ["request"] = "Привет" },
cancellationToken: cancellationToken);
Log.Info(result.Succeeded ? $"Ответ: {result.Value}" : result.Error);
}
finally
{
host.RemovePlugin("hello");
}
В лог попадёт строка и время локального хоста. Ключ провайдера не нужен;
этот вызов не является диалогом с моделью и не применяет session approval policy.
Для настоящего помощника используйте операцию создания сессии:
там указаны AddAiCoreServices, конфигурационная зависимость, передача AiEngine
и освобождение через engine. Для UI редактора есть
IScriptAiChatSessionFactory и configurators, получаемые из контекста редактора;
не считайте их глобальными переменными любого скрипта.
В срезе EyeAuras 20fd3d4 EyeAuras.AI — проект общего runtime,
EyeAuras.AI.Desktop — desktop-интеграция, EyeAuras.AISdk объединяет их для
совместимости. Доступность и совместимость конкретных опубликованных NuGet
нужно проверять отдельно. Прямой клиент провайдера оставляйте для случаев,
когда встроенная сессия не подходит; версии моделей и пакетов из старых
примеров не являются рекомендацией на текущую дату.
Типовой сценарий: захватить изображение и спросить AI
- Захватить изображение или получить его из CV/window/image API.
- Конвертировать его в bytes или stream-формат, который поддерживает провайдер.
- Создать и настроить внешний AI client.
- Собрать chat/vision request с текстом и содержимым изображения.
- Отправить запрос.
- Разобрать, сохранить или показать полученный текст.
- Освободить subscriptions/resources в соответствии со временем жизни скрипта.
Что предпочесть
- Используйте встроенный runtime
EyeAuras.AI/EyeAuras.AI.Desktop, если нужен AI-помощник, встроенный в приложение, model profiles, retrieval, scenarios с tools/plugins, MCP/Codex или переиспользуемый chat UI. - Используйте прямые provider NuGet-пакеты для небольших автономных вызовов.
- Храните API keys в variables, config providers, user settings или secret storage, а не хардкодьте их в исходнике.
- Для vision-вызовов предпочитайте ограниченные размеры изображений и сжатые форматы.
- Лучше разделять логику захвата изображения и логику AI-запроса через клиент.
Чего избегать
- Не путайте внешние provider SDK с runtime-сервисами
EyeAuras.AI,EyeAuras.AI.Desktopили compatibility-пакетомEyeAuras.AISdk. - Не хардкодьте реальные API keys в скриптах и документации.
- Не отправляйте большие raw images, если достаточно сжатых bytes.
- Не блокируйте UI/render loops, пока ждёте сетевой ответ.
- Не рассчитывайте на то, что версии provider SDK и имена моделей всегда останутся актуальными.
Ключевые сущности для поиска
EyeAuras.AIEyeAuras.AI.DesktopEyeAuras.AISdkAiEngineIAiChatSessionAiModelProfileAiKernelPluginOpenAIClientOpenAI.ChatChatClientChatMessageChatMessageContentPartBinaryDataToJpegDataIImageSearchTriggerWindowImageProcessedEventArgs
Синонимы для поиска
- external AI client
- OpenAI NuGet
- chat client
- vision model
- GPT OCR
- image to text
- screenshot OCR
- direct provider SDK
- built-in AI runtime
- AI profile
- AI plugin
Смежные карты
ml/ai.mdml/ai-runtime.mdml/ai-kernel-plugins.mdcomputer-vision/images.mdscripting/references-and-resources.md