Repolode
samchon

samchon/nestia

面向 NestJS 的 TypeScript 辅助库,可从控制器生成类型化 SDK、Swagger 文档、E2E 测试及 LLM 函数调用代理。

Star
2,180
Fork
128
未关闭 Issue
7
最近提交
19小时前

这是什么?

Nestia 是一组面向 NestJS 的辅助库,核心思路是直接使用纯 TypeScript 类型完成参数校验与序列化。@TypedBody、@TypedRoute、@TypedQuery 等装饰器基于声明的类型工作,开发者无需为每个 DTO 额外编写 class-validator 装饰器或 schema。

基于同一套控制器,SDK 生成器可输出类型化的 fetch 客户端库,同时支持 Swagger 文档生成、在客户端内运行后端的 Mockup 模拟器,以及自动生成的 E2E 测试函数。此外还提供带在线 TypeScript 编辑器的 Swagger UI,以及封装这些命令的 CLI 工具。

项目还包含用于 LLM 函数调用的 Agentica 智能体库,以及可生成 NestJS 应用的 AutoBE 代理,二者位于同一生态的独立仓库中。

核心功能

  • 01基于纯 TypeScript 类型的请求校验与序列化装饰器
  • 02生成带 DTO 结构的类型化 fetch SDK 客户端
  • 03Mockup 模拟器可在客户端内嵌入后端逻辑
  • 04根据控制器自动生成 E2E 测试函数
  • 05支持生成 Swagger 文档并提供带在线 TypeScript 编辑器的 Swagger UI
  • 06提供高级 WebSocket 路由装饰器

适用场景

  • 让 TypeScript 前端的 API 客户端与 NestJS 控制器保持同步
  • 无需重复定义 DTO 即可生成 Swagger 文档
  • 在后端服务就绪前,借助模拟器进行前端开发
  • 为基于 NestJS 的 API 添加函数调用式 AI 聊天功能

使用前须知

  • 仅适用于基于 NestJS 的 TypeScript 项目。

标签

常见问题

nestia 是什么?
面向 NestJS 的 TypeScript 辅助库,可从控制器生成类型化 SDK、Swagger 文档、E2E 测试及 LLM 函数调用代理。 Nestia 是一组面向 NestJS 的辅助库,核心思路是直接使用纯 TypeScript 类型完成参数校验与序列化。@TypedBody、@TypedRoute、@TypedQuery 等装饰器基于声明的类型工作,开发者无需为每个 DTO 额外编写 class-validator 装饰器或 schema。
nestia 可以免费使用吗?用的什么许可证?
nestia 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
nestia 还在维护吗?
活跃维护中。nestia 最近一次提交是在 2026年11月7日。
nestia 适合用来做什么?
让 TypeScript 前端的 API 客户端与 NestJS 控制器保持同步 无需重复定义 DTO 即可生成 Swagger 文档 在后端服务就绪前,借助模拟器进行前端开发 为基于 NestJS 的 API 添加函数调用式 AI 聊天功能
在哪里获取 nestia?
源代码和安装说明在 GitHub 上:https://github.com/samchon/nestia

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目