REST API на TypeScript по принципу contract-first, безопасные по умолчанию и созданные для команд, работающих с ИИ
DaloyJS поставляется с безопасными настройками по умолчанию, отказывается запускаться в продакшене при известных ему ошибках конфигурации и работает без единой зависимости во время выполнения, с усиленным процессом публикации, подписанным с подтверждением происхождения. Ни один фреймворк не делает приложение полностью безопасным и не останавливает все атаки на цепочку поставок, поэтому документация прямо говорит, что включено по умолчанию, что включаете вы и какие риски остаются.
На русском: быстрый старт, установка, руководство, маршрутизация, валидация, ошибки, OpenAPI, типизированный клиент и безопасность; остальная документация и блог пока на английском.
$ pnpm create daloy@latest my-api- Более 3000 пройденных тестов фреймворка
- Пороги покрытия: ≥90% строк и функций, ≥92% ветвей
- 0 зависимостей во время выполнения
- Node 24 LTS, Node 26+, Bun, Deno, Cloudflare
- Лицензия MIT
Безопасность и цепочка поставок
Безопасность по умолчанию: защитный слой для кода, написанного ИИ
Когда код пишут модели ИИ, узким местом становится уже не скорость набора текста, а безопасность во время выполнения и целостность цепочки поставок. DaloyJS применяет защитные механизмы на уровне выполнения: лимиты размера тела запроса, таймауты, защиту от загрязнения прототипов, скрытие деталей ошибок 5xx и отказ запускаться при ошибках конфигурации, и всё это без транзитивных зависимостей, которые можно было бы атаковать.
Безопасные настройки выполнения по умолчанию
Ноль зависимостей во время выполнения
Шаблоны, защищённые на уровне цепочки поставок
Шаблоны, созданные для ИИ
Потоковая передача и наблюдаемость
Переносимость между рантаймами
Contract-first по своей природе
Типизированные клиенты с Hey API
Всё включено
Бенчмарки и производительность
Цифры вместе со сносками
Когда агенты ИИ гоняют инструменты по кругу и шлют запросы с высокой конкурентностью, пропускная способность и задержка холодного старта становятся критичными. В DaloyJS проверки безопасности включены по умолчанию, и эти бенчмарки измеряют производительность со всеми включёнными защитами.
Как DaloyJS выглядит на фоне других
Установленные транзитивные зависимости
Каждый пакет, который подтягивает установка, это поверхность атаки, которой кто-то должен доверять. Только DaloyJS и Hono не добавляют ни одного.
Что это значит для вас: Меньше пакетов, которым нужно доверять, значит меньше CVE и никаких неожиданных скриптов postinstall. Ноль зависимостей означает, что фреймворк не открывает собственных дверей в цепочке поставок; остальное дерево зависимостей по-прежнему на вашей ответственности.
Итог: DaloyJS устанавливает 0 транзитивных зависимостей, деля с Hono минимальную поверхность в цепочке поставок, тогда как защищённое приложение на NestJS тянет 86.
Apple M3 Max · 16 cores · Node v26.4.0 · октябрь 2026 · @daloyjs/core 1.5.4 · код в bench/cross-framework
Почему это сравнение яблок с апельсинами
- Яблоки и апельсины, а не сравнение на равных. Это разные инструменты, выполняющие разный объём работы. На каждом запросе DaloyJS валидирует тело по вашей схеме Zod или Valibot и применяет безопасные заголовки, ID запроса, лимиты размера тела и таймауты, всё по умолчанию. «Минимальные» приложения других фреймворков почти ничего из этого не делают, и даже «паритет безопасности» редко совпадает пункт в пункт. Поэтому часть каждой цифры DaloyJS приходится на защиту и валидацию, которые иначе пришлось бы делать самостоятельно.
- Размер измеряется по-разному: DaloyJS представляет собой один пакет без зависимостей, а остальные разрешают транзитивные деревья, точный размер которых зависит от того, когда был сгенерирован lockfile.
- Пропускная способность зависит от нагрузки: при сопоставимом стеке middleware с обеих сторон DaloyJS опережает Hono примерно на 27% на этих GET-маршрутах и примерно на 58% на маршруте POST с телом, а DaloyJS вдобавок валидирует это тело через Zod. Реальные сервисы обычно упираются в базу данных и ввод-вывод, а не в диспетчеризацию фреймворка, поэтому такие микроцифры редко предсказывают поведение в продакшене.
- Разные целевые среды выполнения: некоторые фреймворки (например, Elysia) оптимизированы под Bun, но здесь измеряются через адаптеры Node, чтобы получить честную базу на одном рантайме.
- Одна машина, один момент: Apple M3 Max, Node v26.4.0, октябрь 2026, @daloyjs/core 1.5.4 и другая фоновая нагрузка на машине (два фреймворка замерялись друг за другом, поэтому сравнение надёжнее абсолютных цифр). Ваше железо, рантайм и версии изменят эти цифры.
Для машин: агентов и инструментов ИИ
DaloyJS готов к MCP
Model Context Protocol (MCP) представляет собой открытый стандарт, через который агенты ИИ вроде Claude, Cursor и VS Code вызывают инструменты и читают документацию. DaloyJS поддерживает его с обеих сторон: ваше приложение может стать MCP-сервером, а эта документация (на английском) уже им является.
Превратите свой API в MCP-сервер
DaloyJS собирает MCP-серверы только из @daloyjs/core, без SDK: транспорт Streamable HTTP, валидация схем входных данных и защита при запуске в продакшене, которая отказывается стартовать, если в цепочке MCP-эндпоинта нет хука аутентификации. Она проверяет, что хук есть и что в продакшене он выполнялся на каждом запросе, но не то, что он кого-то отклоняет, поэтому тестируйте и свою аутентификацию.
Читайте эту документацию через MCP
Публичный эндпоинт только для чтения, в котором ваш агент для программирования может искать и читать без копирования. Ключ API не нужен.
Эндпоинт
https://daloyjs.dev/mcpsearch_docsПоиск по ключевым словам во всех страницах документации, отсортированный по релевантности.get_docПолный текст одной страницы по её маршруту или slug.list_docsСписок всех доступных страниц документации за один вызов.
Добавьте его в конфигурацию своего MCP-клиента
Клиент поддерживает только stdio? Подключите его через npx -y mcp-remote https://daloyjs.dev/mcp.
Ограничение радиуса поражения
Контракты как защитный контур, а не украшение синтаксиса
В рабочем процессе, построенном вокруг ИИ, контракты не эстетическая роскошь для людей: это граница, которую обеспечивает машина и которая не даёт галлюцинированным структурам данных перетекать между компонентами. Один контракт маршрута строго валидирует запросы, ограничивает ответы и в реальном времени выдаёт спецификацию OpenAPI 3.1 и типизированный клиент.
Справочник API в Scalar одной строкой
Scalar стал современным преемником Swagger UI: он быстрый, аккуратный, с нативной тёмной темой и встроенными тестовыми запросами. В DaloyJS это интерфейс документации по умолчанию, а не плагин: docs: true в конструкторе App автоматически монтирует эту страницу на /docs и живую спецификацию OpenAPI 3.1 на /openapi.json.
Генерируется из контрактов ваших маршрутов без дополнительного кода. Предпочитаете Swagger UI или Redoc? Оба доступны через одно поле конфигурации. Руководство по OpenAPI и интерфейсу документации →
Компромиссы экосистемы
Сильные стороны конкурентов, меньше компромиссов
DaloyJS не пытается выиграть в одной номинации. Он пытается убрать связующую работу между лучшими идеями, которые разработчикам уже нравятся.
Переносимая защита цепочки поставок для ваших приложений
Усиленные настройки установки pnpm, lockfile с проверенным происхождением, SBOM + provenance в npm
Подходит для serverless / edge
Ядро на веб-стандартах, адаптеры для разных рантаймов
Зрелая эксплуатация и документация для Node
Инкапсулированные плагины, структурированные логи, корректное завершение
Современный DX с упором на TS, поддержка Bun
Сквозная типизация обработчиков, контекста и клиента
Лучшая эргономика OpenAPI
Встроенный OpenAPI 3.1 из одного определения маршрута
Лучшая генерация типизированных клиентов
pnpm gen → полностью типизированный fetch SDK
Готовы выпускать с безопасными настройками по умолчанию?
Создайте проект за секунды с усиленной установкой для вашего менеджера пакетов, сгенерированным CI, который блокирует скрипты установки, закреплёнными GitHub Actions, Dependabot, CODEOWNERS и проверкой происхождения lockfile. А затем сохраняйте контракт по мере роста приложения: то же приложение работает на Node, Bun, Deno и Cloudflare Workers.
Поддержите проект
Если DaloyJS экономит вам время, можете угостить меня кофе
DaloyJS бесплатен и распространяется под лицензией MIT. Если документация, статьи или сам фреймворк помогли вам выпустить что-то с чуть меньшей драмой, чашка кофе станет вполне разумным способом поддержать работу.