developing-genkit-dart
Создание AI-приложений с помощью Genkit Dart SDK
Интеграция AI-моделей в приложения на Dart и Flutter требует понимания потоков, инструментов и плагинов Genkit. Этот навык предоставляет подробную справочную документацию и примеры кода для Genkit Dart SDK.
Скачать ZIP навыка
Загрузить в Claude
Перейдите в Settings → Capabilities → Skills → Upload skill
Включите и начните использовать
Протестировать
Использование «developing-genkit-dart». Инициализация Genkit с плагином Anthropic и генерация текста с помощью Claude.
Ожидаемый результат:
Главная функция на Dart, которая импортирует genkit и genkit_anthropic, считывает ANTHROPIC_API_KEY из Platform.environment, создаёт экземпляр Genkit с плагином anthropic и вызывает ai.generate с моделью claude-sonnet-4-5.
Использование «developing-genkit-dart». Определение клиента удалённого действия, вызывающего поток, работающий на localhost.
Ожидаемый результат:
Dart-код с использованием defineRemoteAction с URL localhost, показывающий оба паттерна вызова — без потоковой передачи и с потоковой передачей, с типизированными схемами входных и выходных данных.
Использование «developing-genkit-dart». Настройка Shelf HTTP-сервера для обслуживания потоков Genkit.
Ожидаемый результат:
Главная функция на Dart, которая импортирует genkit_shelf, определяет простой поток и запускает HTTP-сервер на порту 8080 с помощью startFlowServer.
Аудит безопасности
БезопасноThis skill is a documentation and reference guide from the official Firebase agent-skills repository. It contains 11 markdown files with Dart code examples for the Genkit Dart SDK. The static analyzer reported 202 potential issues, but all are false positives. The primary detection was markdown code fences (```) misinterpreted as Ruby/shell backtick execution. Environment variable references in examples follow secure patterns (reading from Platform.environment rather than hardcoding credentials). Localhost URLs and API endpoint references are standard documentation examples. No executable code, no prompt injection attempts, and no malicious patterns were found. The skill is safe for publication.
Оценка качества
Что вы можете построить
Flutter-разработчик добавляет AI-функции
Flutter-разработчик интегрирует AI-генерацию текста, распознавание изображений и вызов инструментов в своё мобильное приложение с помощью Genkit Dart.
Backend-инженер на Dart создаёт AI-агентов
Backend-инженер определяет потоки Genkit со структурированными выходными данными и интегрирует несколько провайдеров AI-моделей, включая Google Gemini и Anthropic Claude.
Команда внедряет Model Context Protocol
Команда разработчиков реализует конфигурации MCP host и server для соединения приложений на базе Genkit с внешними серверами инструментов.
Попробуйте эти промпты
Напишите функцию на Dart, которая инициализирует Genkit с плагином Google AI и генерирует ответ на запрос пользователя с помощью модели Gemini.
Покажите, как определить инструмент Genkit в Dart с использованием schemantic для схемы входных данных, с функцией, возвращающей данные о погоде для указанного местоположения.
Напишите поток Genkit на Dart, который принимает строку темы, генерирует историю с помощью Gemini, потоково передаёт фрагменты вывода через context.sendChunk и возвращает сообщение о завершении.
Покажите, как настроить MCP host в Genkit Dart, который подключается к MCP-серверу файловой системы через npx, и как использовать агрегированные инструменты в вызове generate.
Лучшие практики
- Считывайте API-ключи из переменных окружения через Platform.environment вместо их хардкодинга в исходных файлах
- Используйте библиотеку schemantic с аннотациями @Schema для всех схем входных данных инструментов и выходных данных потоков для обеспечения типобезопасности
- Оборачивайте потоки Genkit в startFlowServer или интегрируйте с существующими Shelf-роутерами для продакшен HTTP-эндпоинтов
Избегать
- Хардкодинг API-ключей непосредственно в Dart-файлах вместо использования переменных окружения
- Пропуск шага build_runner после определения схем schemantic, что предотвращает генерацию кода
- Привязка HTTP-серверов ко всем сетевым интерфейсам в продакшене вместо localhost для эндпоинтов разработки