Kong/insomnia

GitHub: Kong/insomnia

Insomnia 是一个开源、跨平台的 API 客户端,帮助开发者调试、设计、测试和模拟多种协议的 API,并支持本地、Git 和云端协作。

Stars: 38516 | Forks: 2284

# Insomnia API 客户端 [![官方网站](https://img.shields.io/badge/Get%20started%20for%20free-8A2BE2)](https://insomnia.rest) ![Stars](https://img.shields.io/github/stars/Kong/insomnia?style=flat-square) ![GitHub commit activity](https://img.shields.io/github/commit-activity/m/Kong/insomnia?style=flat-square) [![Slack 频道](https://chat.insomnia.rest/badge.svg)](https://chat.insomnia.rest/) [![许可证](https://img.shields.io/github/license/Kong/insomnia.svg)](LICENSE) ![Twitter Follow](https://img.shields.io/twitter/follow/GetInsomnia?style=social) 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 API 客户端](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/77bf06c401200133.png) ## 免费开始使用 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 版本。
初始开发环境配置 本仓库采用 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 ```
另外在 Linux 上,如果 Electron 在安装过程中失败,请运行以下命令 ``` # 清除 Electron 安装冲突 rm -rf ~/.cache/electron ``` ### Windows 如果你使用的是 Windows 并且遇到问题,你可能需要安装 [Windows Build Tools](https://github.com/felixrieseberg/windows-build-tools)
编辑器要求 你可以使用任何喜欢的编辑器,但请确保具备以下工具的支持/插件: - [ESLint](http://eslint.org/) - 用于捕捉语法问题和常见错误 - [JSX Syntax](https://facebook.github.io/react/docs/jsx-in-depth.html) - 用于 React 组件
## 开发 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)
标签:API客户端, API测试, GraphQL, gRPC, MITM代理, REST, SOC Prime, WebSockets, 开发工具, 数据可视化, 自动化攻击, 调试插件