aimock: инструмент для создания моков для AI-приложений
aimock — это инструмент для создания моков всего, с чем может взаимодействовать ваше AI-приложение, включая LLM API, базы данных и пользовательские интерфейсы. Он позволяет настраивать окружение для тестирования без зависимости от реальных сервисов, избавляя от непредвиденных затрат и сложностей сетевого взаимодействия.
Тебе не нужно беспокоиться о различных ключах API или их лимитах. aimock предоставляет возможность детерминированно имитировать ответы всех нужных сервисов. Это особенно полезно разработчикам, которые хотят быстро тестировать интеграции без реальных вызовов к API. Установка простая: всего одна команда npm install @copilotkit/aimock, и ты готов к разработке.
Проект пока находится на начальной стадии, так что рекомендуется использовать его в тестах, но не в продакшене. Подробная документация и примеры доступны по ссылкам в README.
Проект aimock представляет собой инфраструктуру для тестирования AI-приложений, которая позволяет модулям взаимодействовать с замороженными версиями различных сервисов. Это полезно для разработчиков, которым нужно тестировать свои приложения без необходимости подключаться к реальным API, тем самым избегая неожиданных счетов и ошибок сети.
Зачем нужен aimock?
aimock позволяет мимикрировать поведение разных провайдеров API, таких как OpenAI, Azure и других, на одном локальном порту. Все запросы обрабатываются детерминированно, что даёт возможность безошибочно тестировать приложение в контролируемой среде. Поскольку aimock не требует API-ключей и сетевых соединений, его использование значительно упрощает процесс разработки и тестирования.
Как установить и запустить
Чтобы начать работу с aimock, необходимо установить пакет через npm:
npm install @copilotkit/aimock
После установки ты можешь использовать следующий код для запуска мока:
import { LLMock } from "@copilotkit/aimock";
const mock = new LLMock({ port: 0 });
mock.onMessage("hello", { content: "Hi there!" });
await mock.start();
process.env.OPENAI_BASE_URL = `${mock.url}/v1`;
process.env.OPENAI_API_KEY = "mock"; // SDK требует значение, даже если базовый URL замещён
// ... выполняй свои тесты ...
await mock.stop();
Что может aimock?
aimock предоставляет широкий набор функции для замещения различных API:
- Mocking: Умещение поведения OpenAI, Azure и других API.
- Запись и воспроизведение: Фиксация запросов и воспроизведение их на основе ранее записанных данных.
- Мультимедийные API: Поддержка генерации изображений, преобразования текста в речь и многого другого.
- Тестирование в условиях хаоса: Генерация ошибок, некорректного JSON и прерываний соединений.
Ограничения
Несмотря на свои широкие возможности, aimock имеет и некоторые ограничения. Например, он отклоняет запросы к частным и ссылочным адресам, чтобы предотвратить SSRF-уязвимости. Также, если необходимо использовать ключи API для тестирования, их нужно отдельно настроить. aimock по умолчанию принимает все запросы, но существует возможность включить контроль доступа на основе ключа API, что может потребовать дополнительных настроек.
Документация и поддержка
Все подробности и инструкции по использованию aimock можно найти в официальной документации на сайте aimock.copilotkit.dev. Вы также можешь ознакомиться с примерами фикстур и интеграций с другими библиотеками.
Радар проекта: 74 из 100 — крепкий проект
- Импульс 18 ≈ 2 звезды в день
- Темп разработки 100 677 коммитов за 12 недель
- Зрелость 81 проекту 8 месяцев, 76 релизов
- Сообщество 59 31 участник, 82 форка
- Свежесть 99 последний коммит — 2 дня назад
- Быстрый старт 100 есть: команда установки, Docker, сайт/демо, примеры
- Готовность к продакшену 80 релиз v1.47.0, автосборка
- Безопасность и доверие 60 лицензия MIT, организация
- Документация 96 README 18.9 тыс. знаков, 23 раздела, папка docs
- Экосистема 51 4 подписчика на обновления, 6 тем
Как считаем
Только открытые данные GitHub на 31.10.2026, без оценок нейросети. Каждая ось — от 0 до 100, итог — среднее.
- Импульс — звёзд в день: за время наших замеров, а пока их нет — за всю жизнь проекта; 200 в день — максимум.
- Темп разработки — коммитов за последние 12 недель; 300 — максимум. Пока GitHub не досчитал статистику, ось не учитывается.
- Зрелость — возраст проекта (3 года — максимум) и число релизов (30 — максимум), поровну.
- Сообщество — участников с коммитами (200 — максимум) и форков (5000 — максимум), поровну.
- Свежесть — дней с последнего коммита: сегодня — 100, полгода и больше или архив — 0.
- Быстрый старт — в README есть команда установки, раздел «быстрый старт» или примеры использования, в репозитории — Docker и папка примеров, у проекта есть сайт или демо.
- Готовность к продакшену — релизы, версия 1.0 и выше, автосборка (GitHub Actions), тесты, лицензия, журнал изменений.
- Безопасность и доверие — открытая лицензия (своя — половина балла), политика безопасности (SECURITY.md), проект организации, правила для участников, не в архиве.
- Документация — объём и структура README, папка docs или сайт, оценка «здоровья сообщества» GitHub.
- Экосистема — звёзды (50 тыс. — максимум), подписчики на обновления (1000 — максимум), темы репозитория.
Открыть на GitHub: CopilotKit/aimock →
RepoRadar