What is docfy-ui

AI 优先的 OpenAPI 文档界面,nestjs-docfy 的配套项目。轻量、现代的 API 参考,每个端点都带一个 Copy for AI 按钮。

docfy-ui endpoint detail: request/response, Copy for AI, Copy OpenAPI, and multi-language snippets

动机

大多数 OpenAPI 界面都是给在页面上浏览的人用的,但这对今天读文档的另一类受众来说是错误的格式:你正准备粘贴进上下文里的那个 LLM。复制一个端点的细节通常意味着抓一段原始 JSON(冗长,充满 $ref 和噪音),或者复制渲染后的 HTML(丢失了结构)。

示例:Copy for AI

在同一个端点上点一下“Copy for AI”:

text
## Create a user
POST /users

### Request
{
  "name": "string",
  "email": "string"
}

### Responses
201 Created (UserEntity)
400 Bad Request

### Validation
- name: required, minLength 2
- email: required, format email

docfy-ui 确定性地从任何 Swagger UI 已经在提供的同一份 OpenAPI 文档中渲染出这段文本,不需要额外标注,也不需要改动后端。

功能

  • Copy for AI: 每个端点一键生成纯文本、可直接喂给 LLM 的摘要(用途、请求、响应、校验规则),不再是原始 JSON。
  • Copy OpenAPI: 只复制当前选中端点、已解引用且对循环引用安全的 JSON 片段。
  • Two-column endpoint view: 左边是文档(参数、响应、可浏览的 schema 树),右边是代码片段(curl、JavaScript、Python、Go)。
  • Real-time search: 每敲一个字符就按 path/summary/operationId 过滤侧边栏,没有防抖,也不需要按 Enter。
  • Dark/light theme: 基于 Token 驱动,切换主题即时生效,不刷新页面,首次渲染也不会闪一下错误主题。
  • Zero backend coupling: 客户端拉取一份 OpenAPI 3.0/3.1 JSON 文档;只要服务器能提供这样一份文档就能用,不限于 NestJS。
  • Mobile-responsive: lg 断点以下变成离屏抽屉,在 375/390/768px 下都验证过。
  • Compare specs: 粘贴两个 spec 的 URL,就能看到新增/删除/变更的端点,每一处都标记为破坏性或提示性。
  • Multi-spec switcher: 当宿主配置了多于一份 spec 时,可以在同一个实例里浏览多个服务,否则这部分完全隐藏。
docfy-ui real-time endpoint search (⌘K)