LLMock: HTTP-сервер для мокинга, обеспечивающий детерминированное тестирование LLM между процессами

LLMock — это мокинг-сервер, который перехватывает вызовы LLM API, работая как реальный HTTP-сервер на указанном порту, что позволяет проводить детерминированное тестирование в нескольких процессах без обращения к платным API.
Ключевые детали
Инструмент был обнаружен после того, как разработчик потратил $12 на запуск тестов Playwright против реальных API OpenAI. Проблема возникла при использовании MSW (Mock Service Worker), который патчит HTTP-модуль внутри процесса Node.js, вызывающего server.listen(), но оставляет отдельные процессы (например, агент на Python) полностью невидимыми для мокинга.
С LLMock вы указываете переменную окружения OPENAI_BASE_URL на мок-сервер из любого процесса, независимо от того, Node.js это, Python или любой другой язык:
const mock = new LLMock({ port: 5555 });
await mock.start();
process.env.OPENAI_BASE_URL = "http://localhost:5555/v1";Фикстуры — это простые JSON-файлы, которые сопоставляются по подстрокам пользовательских сообщений или регулярным выражениям, устраняя шаблонный код обработчиков:
{
"fixtures": [
{
"match": { "userMessage": "stock price of AAPL" },
"response": { "content": "The current stock price of Apple Inc. (AAPL) is $150.25." }
}
]
}Ключевые особенности из источника:
- Корректно использует фактический формат SSE OpenAI/Claude/Gemini (ошибки в типах событий незаметно ломают стриминг)
- Полная поддержка вызовов инструментов — фреймворки агентов выполняют их как обычно
- Предикатная маршрутизация для проверки состояния системного промпта или истории сообщений в мультиагентных потоках
- Журнал запросов для проверки того, что было фактически вызвано, а не просто прошёл ли тест
- Нет зависимостей
В итоге у разработчика получилось 9 вызовов LLM в 3 тестах Playwright, стоимостью $0 и с детерминированными результатами при каждом запуске.
👀 Смотрите также

Claude-Powered MCP Tool Генерирует Интерактивные HTML-Компоненты Без Инструментов Сборки
Разработчик создал daub.dev — систему, в которой Claude управляет MCP-сервером для создания стилизованных, интерактивных HTML-компонентов пользовательского интерфейса из описаний на естественном языке без использования React, сборщиков или конвейеров сборки.

Мастер Подсказок: Навык Claude для создания точных подсказок для ИИ-инструментов
Prompt-Master — это бесплатный навык Claude, который создаёт точные промпты для различных ИИ-инструментов, включая Cursor, Claude Code, GPT, Midjourney, Kling и Eleven Labs. Инструмент набрал более 600 звёзд на GitHub и обрабатывает более 4000 посещений.

Инди-разработчик развернул полный сайт игровой студии через Claude Code, включая слой данных Steam API
Инди-разработчик использовал Claude Code для создания и развертывания сайта студии без использования терминала, включая слой данных, который получает актуальную информацию из Steam API.

nan-forget: Локальная память для ИИ-кодирования в одном файле SQLite
nan-forget — это инструмент памяти для ИИ-агентов программирования, который хранит контекст в одном файле SQLite (~3 МБ) без фоновых служб. Он использует трёхэтапный конвейер извлечения данных и работает в Claude Code, Cursor и терминале через CLI.