Kong/insomnia
GitHub: Kong/insomnia
Insomnia 是一个开源、跨平台的 API 客户端,帮助开发者调试、设计、测试和模拟多种协议的 API,并支持本地、Git 和云端协作。
Stars: 38516 | Forks: 2284
# Insomnia API 客户端
[](https://insomnia.rest)


[](https://chat.insomnia.rest/)
[](LICENSE)

Insomnia 是一个开源、跨平台的 API 客户端,支持 GraphQL、REST、WebSockets、Server-Sent Events (SSE)、gRPC 以及任何其他兼容 HTTP 的协议。
使用 Insomnia,你可以:
- **调试 API**:支持最流行的协议和格式。
- **设计 API**:使用原生的 OpenAPI 编辑器和可视化预览。
- **测试 API**:使用原生的测试套件和集合运行器。
- **模拟 API**:使用云端或自托管的 mocking 服务器。
- **构建 CI/CD pipeline**:使用原生的 Insomnia CLI 进行代码检查和测试。
- **与他人协作**:使用丰富的协作功能。
- **以及更多功能**:包括使用第三方插件的能力。
Insomnia 支持以下存储选项来保存你的项目、集合、设计规范及所有其他资源:
- **Local Vault**:100% 本地存储集合、设计规范及其他所有资源。
- **Git Sync**:使用任何第三方 Git 仓库进行 Git 存储,无需经过云端。
- **Cloud Sync**:用于云端协作,在云端可选端到端加密 (E2EE)。

## 免费开始使用
Insomnia 可在 Mac、Windows 和 Linux 上使用,可从官方网站下载:
**[https://insomnia.rest](https://insomnia.rest)**
## 账号与订阅
你可以在没有账号的情况下使用本地的 **Scratch Pad**,也可以[免费创建账号](https://insomnia.rest/pricing)以获取该产品的全部功能。
即使拥有账号,Insomnia 也只会根据你选择的**存储后端**(可以是 Local Vault、Cloud Sync、Git Sync 或它们的任意组合)来存储你的项目和文件。因此——例如——你可以自由选择将敏感项目 100% 存储在本地或 Git 仓库中,同时仍然能够在云端进行其他项目的协作。这是两全其美的选择。
为了提高安全性,Insomnia 还提供了 **Private Environments** 功能,你的环境配置将始终保存在本地,绝不会存入云端,这与你为项目选择的存储选项无关。
## 高级功能与支持
Insomnia 提供了非常慷慨的免费方案,足以满足大多数用户的需求。如果你需要使用高级功能,例如无限制的协作、Git Sync 功能、为项目创建组织的能力、使用第三方 IDP 登录 (SAML, OIDC) 以及许多其他功能,那么你可以探索其他订阅方案。
你可以[比较所有订阅方案](https://insomnia.rest/pricing)并免费开始使用。
## 为什么 Insomnia 需要账号?
如果你决定使用本地的 **Scratch Pad**,Insomnia 不需要账号,但要使用该产品的大部分功能,我们需要一个账号。你的账号数据安全地存储,符合 ISO27001、SOC 2 Type II、ISO27018、Gold CSA STAR 法规,并遵循我们的服务条款和隐私政策。
我们需要账号来可持续地构建和改进产品,并确保我们能够继续在免费和开源的发行版中提供许多核心功能。虽然开源软件是免费使用的,但遗憾的是构建它并不是免费的,我们继续开发 Insomnia 的能力取决于我们能否将一部分(需要高级功能的)免费用户转化为我们产品的付费客户。
如果你是无法将 API 数据(如集合和设计规范)分享到云端的用户,依然可以通过选择“Local Vault”作为 Insomnia 项目的存储方式来实现:拥有 Insomnia 账号并不与你希望如何存储敏感 API 数据的方式绑定(这些数据可以通过 Local Vault 100% 存储在本地,通过 Git Sync 存储在第三方 Git 仓库且没有任何云存储,或者通过 Cloud Sync 存储在云端以便于协作)。
## Bug 和功能请求
发现了 Bug 或有功能请求?首先,请阅读
[issue 指南](CONTRIBUTING.md#using-the-issue-tracker) 并搜索现有的以及已关闭的 issue。如果你的问题或想法尚未被提及,[请创建一个新 issue](https://github.com/Kong/insomnia/issues)。
对于更一般的产品问题和反馈,请加入 [Slack 团队](https://chat.insomnia.rest)。
## 文档
查看我们的官方 [Insomnia 文档](https://docs.insomnia.rest/)。
## 开发 Insomnia
只要你有 [Node.js](https://nodejs.org) 和 [Git](https://git-scm.com/),就可以在 Mac、Windows 或 Linux 上开发 Insomnia。请查看项目中的 `.nvmrc` 文件以获取正确的 Node 版本。
另外在 Linux 上,如果 Electron 在安装过程中失败,请运行以下命令
```
# 清除 Electron 安装冲突
rm -rf ~/.cache/electron
```
### Windows
如果你使用的是 Windows 并且遇到问题,你可能需要安装 [Windows Build Tools](https://github.com/felixrieseberg/windows-build-tools)
## 开发 Inso CLI
- `npm i`
- 以 watch 模式启动编译器:`npm run inso-start`
- 运行:`./packages/insomnia-inso/bin/inso -v`
## 插件
从 Insomnia 的 [插件中心](https://insomnia.rest/plugins/) 搜索、发现并安装插件!
## 社区项目
- [Insomnia Documenter](https://github.com/jozsefsallai/insomnia-documenter) - 使用 [documenter 插件](https://insomnia.rest/plugins/insomnia-plugin-documenter) 或你的 Insomnia 导出文件生成精美的 API 文档页面。
- [GitHub API Spec Importer](https://github.com/swinton/github-rest-apis-for-insomnia) - 一套完整的 GitHub REST API 路由规范,可以直接导入到 Insomnia 中。
- [Swaggymnia](https://github.com/mlabouardy/swaggymnia) - 为你在 Insomnia 中的现有 API 生成 [Swagger](https://swagger.io/) 文档。
## 许可证
[Apache-2.0](LICENSE) © [Insomnia](https://insomnia.rest)
初始开发环境配置
本仓库采用 monorepo 结构,包含许多 Node.JS 包。每个包都有自己的命令集,但最常见的命令位于根目录的 [`package.json`](package.json) 中,可以使用 `npm run …` 命令来访问。以下是开发该应用程序时你需要用到的仅有的三个命令。 ``` # 安装并链接依赖 npm i # 运行 Lint npm run lint # 运行类型检查 npm run type-check # 运行测试 npm test # 启动带 Live Reload 的 App npm run dev # 启动 renderer process live reload 和 main process auto restart 的 App npm run dev:autoRestart ``` ### Linux 如果你使用的是 Linux,可能需要安装以下支持包:Ubuntu/Debian
``` # 更新 library sudo apt-get update # 安装 font configuration library & support sudo apt-get install libfontconfig-dev ```Fedora
``` # 为 node-libcurl 安装 libcurl sudo dnf install libcurl-devel ```编辑器要求
你可以使用任何喜欢的编辑器,但请确保具备以下工具的支持/插件: - [ESLint](http://eslint.org/) - 用于捕捉语法问题和常见错误 - [JSX Syntax](https://facebook.github.io/react/docs/jsx-in-depth.html) - 用于 React 组件标签:API客户端, API测试, GraphQL, gRPC, MITM代理, REST, SOC Prime, WebSockets, 开发工具, 数据可视化, 自动化攻击, 调试插件