{
  "added_at": "2026-11-01",
  "additional_evidence_urls": [
    "https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/package.json",
    "https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/src/config.ts",
    "https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/.github/workflows/test.yml",
    "https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/LICENSE",
    "https://github.com/jonluca/har-to-openapi/releases/tag/v3.0.1",
    "https://github.com/jonluca/har-to-openapi/releases/tag/v3.0.0",
    "https://www.npmjs.com/package/har-to-openapi/v/3.0.1"
  ],
  "category": "web-analysis",
  "description_en": "TypeScript library and CLI that infers OpenAPI 3.0 or 3.1 documents from HAR captures of HTTP traffic, loosely based on har2openapi. Requests are grouped into one document per domain, with options to turn IDs in paths into parameters, infer query, form and JSON body schemas from observed values, and merge several captures into the same operations. Optional settings extract reusable component schemas, keep multiple redacted examples, mark fields required only when every sample contains them, attach per-field observation counts as evidence and apply an OpenAPI Overlay so hand-written names and corrections survive regeneration.",
  "description_zh": "TypeScript 库及命令行工具，可根据 HTTP 流量的 HAR 抓包记录推断 OpenAPI 3.0 或 3.1 文档，大致基于 har2openapi 改写。请求按域名分别生成文档，可选择把路径中的 ID 转为参数，根据观测值推断查询参数、表单和 JSON 请求体的结构，并把多份抓包合并到相同的操作中。可选设置还能提取可复用的组件模式、保留多个经脱敏的示例、仅在所有样本都包含某字段时才将其标为必填、附加逐字段的观测计数作为依据，并应用 OpenAPI Overlay，使手工补充的名称和修正在重新生成后得以保留。",
  "entry_url": "https://awesomerea.org/resources/har-to-openapi/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/har-to-openapi/",
  "evidence_url": "https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/README.md",
  "group": "tools",
  "id": "har-to-openapi",
  "json_url": "https://awesomerea.org/resources/har-to-openapi/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/har-to-openapi/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/har-to-openapi/index.md",
  "name": "har-to-openapi",
  "name_zh": "har-to-openapi：从 HAR 抓包推断 OpenAPI 文档",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Reviewed at main commit 432e096 from 2026-09-07, tagged v3.0.1 and published to npm the same day; v3.0.0, released a day earlier, added capture merging, reusable schemas, overlays, redaction, reports and requiredness evidence. Node.js 22.19.0+ is required; it installs from npm as a library or runs as the har-to-openapi command. CI tests Node 24 and the latest Node on Linux, macOS and Windows.",
    "Input is one or more HAR files the user records, plus optional JSON or YAML configuration and overlay files. Without --multi-spec the CLI returns only the first domain's document. --validate and --strict check the result locally, and a conversion report lists counts and diagnostics for filtered entries, parse failures and schema fallbacks.",
    "The README states that observations describe finite captures and that a field present in every capture does not establish an API contract, so requirements should be confirmed with the API owner and recorded in an overlay. Endpoints, parameters and responses absent from the captures do not appear, and the default requiredness setting keeps the earlier legacy behavior.",
    "Generated documents copy captured values as examples unless examples are turned off or a redact list masks them; the README presents redaction as a step before sharing, and the reviewed commit closed further redaction gaps. Convert only traffic you are authorized to capture and analyze.",
    "MIT."
  ],
  "requirements_zh": [
    "审阅对象为 main 分支 2026-09-07 的提交 432e096，已标记为 v3.0.1，并于同日发布到 npm；早一天发布的 v3.0.0 新增了抓包合并、可复用模式、Overlay、脱敏、转换报告及必填性依据等功能。需要 Node.js 22.19.0+；可从 npm 作为库安装，或以 har-to-openapi 命令运行。CI 在 Linux、macOS 和 Windows 上使用 Node 24 及最新版 Node 进行测试。",
    "输入为使用者自行录制的一个或多个 HAR 文件，以及可选的 JSON 或 YAML 配置文件和 Overlay 文件。未使用 --multi-spec 时，命令行只返回第一个域名的文档。--validate 和 --strict 会在本地检查结果，转换报告会列出计数，以及被过滤条目、解析失败和模式回退等诊断信息。",
    "README 指出，观测结果只反映有限的抓包；某字段在每份抓包中都出现，并不代表 API 契约要求它，因此应向 API 所有者确认必填要求，并把修正记录在 Overlay 中。抓包中未出现的端点、参数和响应不会出现在文档里，默认的必填性设置沿用早先的 legacy 行为。",
    "除非关闭示例或用脱敏列表加以遮盖，生成的文档会把抓到的值复制为示例；README 把脱敏视为分享前的步骤，所审阅的提交还修补了更多脱敏遗漏。只应转换有权抓取和分析的流量。",
    "采用 MIT 许可。"
  ],
  "targets": [
    "website"
  ],
  "url": "https://github.com/jonluca/har-to-openapi",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
