# har-to-openapi：从 HAR 抓包推断 OpenAPI 文档

> TypeScript 库及命令行工具，可根据 HTTP 流量的 HAR 抓包记录推断 OpenAPI 3.0 或 3.1 文档，大致基于 har2openapi 改写。请求按域名分别生成文档，可选择把路径中的 ID 转为参数，根据观测值推断查询参数、表单和 JSON 请求体的结构，并把多份抓包合并到相同的操作中。可选设置还能提取可复用的组件模式、保留多个经脱敏的示例、仅在所有样本都包含某字段时才将其标为必填、附加逐字段的观测计数作为依据，并应用 OpenAPI Overlay，使手工补充的名称和修正在重新生成后得以保留。

- 类型：工具
- 目标：网站
- 类别：网站分析工具
- 关联：基础工具
- 来源复核于：2026-10-19
- 收录于：2026-11-01
- 原始资源：<https://github.com/jonluca/har-to-openapi>
- 一手来源：<https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/har-to-openapi/>
- 记录 JSON：<https://awesomerea.org/resources/har-to-openapi/record.json>
- 英文版：[English](https://awesomerea.org/resources/har-to-openapi/index.md)

## 使用条件与局限

- 审阅对象为 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 许可。

## 一手来源

1. <https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/README.md>
2. <https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/package.json>
3. <https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/src/config.ts>
4. <https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/.github/workflows/test.yml>
5. <https://github.com/jonluca/har-to-openapi/blob/432e096aa1d7814a39dcf772f40dc93cdd9c1620/LICENSE>
6. <https://github.com/jonluca/har-to-openapi/releases/tag/v3.0.1>
7. <https://github.com/jonluca/har-to-openapi/releases/tag/v3.0.0>
8. <https://www.npmjs.com/package/har-to-openapi/v/3.0.1>

## 同分区更多条目：网站

- [decode-js JavaScript 反混淆 AST 工具](https://awesomerea.org/zh/resources/decode-js/index.md) · 工具
- [javascript-deobfuscator Obfuscator.io 字符串还原网页工具（LostMyCode）](https://awesomerea.org/zh/resources/lostmycode-javascript-deobfuscator/index.md) · 工具
- [minusone 脚本去混淆引擎](https://awesomerea.org/zh/resources/minusone-script-deobfuscator/index.md) · 工具
- [JS-Deobfuscator（0x1Avram）Obfuscator.io 反混淆工具](https://awesomerea.org/zh/resources/0x1avram-js-deobfuscator/index.md) · 工具
- [HTTP Toolkit HTTP(S) 调试代理](https://awesomerea.org/zh/resources/http-toolkit/index.md) · 工具
- [willnode JavaScript 手动反混淆编辑器](https://awesomerea.org/zh/resources/willnode-deobfuscator/index.md) · 工具

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
