Insomnia:一款同时搞定 REST、GraphQL 和 gRPC 的开源 API 客户端
Insomnia 是一款开源的跨平台 API 客户端,支持 REST、GraphQL、gRPC、WebSocket 等主流协议。适合需要在一个工具里完成 API 设计、调试、测试全流程的后端开发者和前端联调人员。核心卖点:GraphQL 支持被社区公认为同类最佳,界面比 Postman 轻快,免费版功能足够个人和小团队日常使用。
一句话简介
Insomnia 是一款开源的跨平台 API 客户端,支持 REST、GraphQL、gRPC、WebSocket 等主流协议。适合需要在一个工具里完成 API 设计、调试、测试全流程的后端开发者和前端联调人员。核心卖点:GraphQL 支持被社区公认为同类最佳,界面比 Postman 轻快,免费版功能足够个人和小团队日常使用。
核心亮点
- 🔍 GraphQL 自动补全和 Schema 内省——导个 Schema 文件就能获得字段级别的代码提示,比 Postman 和 Hoppscotch 都顺手
- 🏗️ API 设计优先(Design-First)——内置 OpenAPI 可视化编辑器,写好规范直接生成请求,不用手动填 URL 和参数
- 🧪 自动化测试套件——为请求链写断言(状态码、响应体、耗时),导出后集成到 CI/CD 管线
- 🔌 支持插件扩展——从 Faker.js 随机数据到 JWT 自动刷新,社区插件解决了不少高频痛点
- 🎯 环境变量和子环境——开发/测试/生产三套环境一键切换,变量支持动态生成(如随机邮箱、时间戳)
功能详解
GraphQL 查询编辑器——用过的都说好
Insomnia 的 GraphQL 支持不是"顺便支持一下"——它做得很深。导入 Schema 后自动获得字段补全,写 Fragment 时有完整的类型校验,变量面板独立管理,不用在 JSON 和查询之间来回跳。如果你的日常工作以 GraphQL 为主,这个体验比 Postman 的 GraphQL 模式要流畅很多。社区里不少用户就是因为被 Postman 的 GraphQL 体验折磨才切过来的。
gRPC 请求——从 Protobuf 到调用一条龙
Insomnia 支持 Unary、Server Streaming、Client Streaming、Bidirectional 四种 gRPC 调用模式。你可以直接导入 .proto 文件定义,或者通过 gRPC Server Reflection 自动发现服务和 RPC 方法。对微服务架构的团队来说,不需要同时维护 Postman(REST)+ BloomRPC/grpcurl(gRPC)两套工具。
API 设计优先流程
Insomnia 内置了 OpenAPI (Swagger) 可视化编辑器。你在设计阶段写好 API 规范,Insomnia 可以一键生成对应的请求集合——不用手动敲 URL、参数、Header。这个工作流对先定接口再开发的团队特别实用,规范即请求。
自动化测试与 CI/CD 集成
你可以为一个或多个请求创建测试套件,断言响应状态码、JSON 字段值、响应时间等。虽然 Insomnia 没有 Postman 的 Newman 那样的官方 CLI 工具,但测试套件可以导出为 HAR 或 Insomnia 格式,通过社区工具或自写脚本接入 GitHub Actions/GitLab CI。
安装/使用教程
桌面客户端(推荐):访问 Insomnia 官网 下载 Windows/macOS/Linux 安装包。
Linux 命令行安装:
# Ubuntu/Debian (.deb)
wget https://updates.insomnia.rest/downloads/ubuntu/latest -O insomnia.deb
sudo dpkg -i insomnia.deb
# Fedora (.rpm)
sudo dnf install https://updates.insomnia.rest/downloads/fedora/latest快速上手:
- 启动后创建 Workspace(Request Collection)
- 点「+」新建 HTTP 请求,输入 URL → Send
- 对于 GraphQL:点「+」→ GraphQL Request → 导入 Schema URL
- 创建 Environment:Ctrl+E → 添加变量(如
base_url、api_key)→ 写请求时用_.base_url引用 - 测试:选中请求 → Test 标签 → 添加断言
注意事项:Insomnia 在 2023 年后版本迭代中引入了更多付费功能(如团队协作、云同步)。如果你偏好完全离线、Git 友好的版本,社区 fork 版本 Insomnium 保留了旧版架构。
适用场景
- 后端开发日常调试:不管你的 API 是 REST、GraphQL 还是 gRPC,一个工具全搞定。不用开三个 APP,请求历史也集中管理
- 前端联调:前端同学拿到后端给的 OpenAPI Schema 或 GraphQL Schema,导入后立刻能看到所有接口的请求模板,不用再追着后端问「这个字段是 int 还是 string」
- GraphQL 为主的技术栈:如果你的项目大量使用 GraphQL,Insomnia 是最好的选择——没有之一。Schema 内省 + 自动补全 + Fragment 管理,三位一体
- 微服务 gRPC 测试:导入 .proto 文件后直接构造请求,比 grpcurl 命令行直观得多,尤其是 streaming 模式
- API 文档辅助编写:直接在 Insomnia 里设计 OpenAPI 规范,预览效果接近 Swagger UI,改完导出就是标准化文档
类似工具对比
| 特性 | Insomnia | Postman | Bruno | Hoppscotch |
|---|---|---|---|---|
| 价格 | 核心免费 | 付费为主 | 完全免费 | 免费 |
| 开源 | 是(Apache 2.0) | 否 | 是(MIT) | 是(MIT) |
| GraphQL 支持 | ⭐⭐⭐ 最佳 | ⭐⭐ 可用 | ⭐ 基础 | ⭐⭐ 可用 |
| gRPC 支持 | ✅ | ✅ | ❌ | ❌ |
| OpenAPI 设计 | ✅ 内置 | ✅ 功能更全 | ❌ | ❌ |
| 团队协作 | 付费 | ⭐⭐⭐ 最强 | Git 文件同步 | 云协作 |
| 离线优先 | 是 | 需要账号 | 是(核心卖点) | 网页版需网络 |
| 运行性能 | 轻快 | 较重 | 轻量 | 中 |
| CI/CD 集成 | 社区工具 | Newman(官方) | CLI 内置 | 有限 |
| 适合谁 | GraphQL 重度用户、追求轻量的个人开发者 | 大型团队、需要完整 API 生命周期管理 | 坚持本地存储、Git 版本控制的开发者 | 不想装客户端的快速调试 |
常见问题 FAQ
Q: Insomnia 被 Kong 收购后是不是越来越商业化了?
A: 是的,收购后 Insomnia 增加了云同步、团队协作等付费功能,免费版也有一些引导付费的界面元素。如果你更看重完全离线、无登录、无遥测,可以试试开源 fork Insomnium,它基于旧版 Insomnia 维护,去掉了所有云功能。功能上 Insomnium 保留了绝大部分核心能力,但缺少某些新版才有的功能(如增强的 gRPC 支持)。
Q: Insomnia 和 Postman 到底怎么选?
A: 如果你主要用 GraphQL → Insomnia。如果你的团队需要完整的 API 生命周期管理(Mock Server、监控、自动文档发布、团队权限管理)→ Postman。如果你纯离线、用 Git 管一切 → Bruno。如果你只想快速调个接口不想装软件 → Hoppscotch 网页版。
Q: Insomnia 的自签名证书问题怎么解决?
A: 在 Settings → General → SSL Certificates 中选择「Disabled」可以跳过 SSL 验证(仅开发环境用),或者添加你的自签名 CA 证书。生产环境不要关闭 SSL 验证。
Q: Insomnia 能做压力测试吗?
A: 不能。Insomnia 是 API 调试和功能测试工具,不是压测工具。如果需要压测,应该用 k6、JMeter、wrk 等专门工具。
Q: 如何把 Postman 的请求迁移到 Insomnia?
A: Postman 导出 Collection 为 JSON → Insomnia 导入。大部分基础请求(URL、Method、Headers、Body)能正确转移,但 Postman 的 Pre-request Script、Tests、环境变量等需要手动适配。GraphQL 请求建议直接在 Insomnia 里重新建。
相关推荐
- Postman 开源替代品横评:Bruno、Hoppscotch、Insomnia 怎么选 — 更全面的 API 客户端选型指南
- Open Interpreter:在本地跑 LLM 执行代码的终端式 AI 助手 — API 调试 + AI 编程的组合推荐
- Eric IDE:当 Python 遇上 Qt 会产生怎样的化学反应 — 另一个开发工具的深度评测
推荐资源
Flycast:免费开源世嘉 Dreamcast/Naomi/Atomiswave 模拟器,支持 Vulkan 高分辨率渲染与网络联机
Flycast 是一款免费开源的跨平台世嘉 Dreamcast、Naomi 和 Atomiswave 模拟器,支持 Windows/macOS/Linux/Android/iOS/Web。提供 Vulkan 高分辨率渲染、即时存档、宽屏补丁、作弊码和点对点网络联机功能。Dreamcast 游戏兼容性极高,Naomi/Atomiswave 街机仍在持续优化。适合想在现代设备上重温《莎木》《索尼克大冒险》《灵魂能力》等经典的复古游戏玩家。
Hyprland:Wayland 上最"好看"的动态平铺合成器,效率与美学兼得的 Linux 桌面方案
Hyprland 是一个基于 Wayland 的动态平铺合成器,专为追求桌面效率与美学的 Linux 进阶用户设计。它将平铺窗口管理器的高效工作流与现代桌面的流畅动画、圆角、模糊效果无缝融合,支持高度自定义配置。核心卖点:开箱即用的视觉效果加上动态平铺,无需牺牲性能换美学。
Typora:所见即所得的 Markdown 写作体验,为什么这个付费编辑器依然没有对手
Typora 是一款将 Markdown 语法与富文本体验深度融合的所见即所得编辑器,支持 macOS/Windows/Linux。它摒弃传统双栏模式,输入语法即实时渲染为最终排版,同时内置 LaTeX 数学公式渲染、Mermaid 图表绘制、Pandoc 多格式导出和 PicGo 图床自动上传。适合学术写作、技术文档、博客创作和日常笔记。
Postman 开源替代品横评:Bruno、Hoppscotch、Insomnia 怎么选
Postman 近年强推云同步和强制登录,越来越多开发者开始寻找替代品。本文实测三款主流开源 API 客户端——Bruno(Git 原生、离线优先,API 请求存为 .bru 纯文本文件)、Hoppscotch(浏览器即用、实时协作)和 Insomnia/Insomnium(功能最全面、有插件市场)——帮你根据团队规模和工作流选出最合适的方案。
Open Interpreter:在本地跑 LLM 执行代码,没有文件限制、不上传数据到云端的开源 Code Interpreter 替代
Open Interpreter 是一个开源命令行工具,让大语言模型(LLM)在你的本地电脑上安全执行 Python、JavaScript、Shell 等代码。你可以把它理解为本地版的 ChatGPT Code Interpreter——没有 100MB 文件大小限制、不需要上传数据到云端、支持通过 Ollama/LM Studio 使用本地开源模型。安装只需 pip install open-interpreter,一条命令启动交互式终端。适合需要 AI 辅助本地自动化、数据分析和编程的开发者。
Cyberduck:一个开源客户端搞定 FTP、S3 和各大云盘的文件管理,还自带客户端加密
Cyberduck 是一款开源的服务器和云存储文件管理客户端,支持 FTP/SFTP、WebDAV、Amazon S3、Backblaze B2、Google Drive、Dropbox、OneDrive 等数十种协议和云服务。内置 Cryptomator 客户端加密功能,文件上传前本地加密。提供 duck CLI 命令行工具用于脚本自动化。Windows 和 macOS 双平台原生支持,GPL 协议完全免费。
Oh My Zsh:一条命令拥有增强版终端,300+ 插件让 Git/Docker/kubectl 自动补全开箱即用
Oh My Zsh 是一个社区驱动的 Zsh 配置管理框架,一条命令安装即用。内置 300+ 插件(git/docker/kubectl 等),150+ 主题,支持自动补全、语法高亮和 Git 状态集成。适合从 Bash 迁移到 Zsh 的所有开发者,大幅降低 Zsh 学习曲线。开源免费,GitHub 170k+ Star。
Smuxi:从分离式 IRC 客户端到"始终在线"聊天工具的架构遗产
Smuxi 是一个受 irssi 启发的 GNOME 多协议 IRC 客户端,核心特色是分离式客户端/服务器架构——后台 smuxi-server 保持与 IRC 网络持久连接,前端 GUI 可随时断开重连而不丢失消息。虽然项目已停止维护,但其架构理念对理解现代"始终在线"聊天工具的设计模式仍有参考价值。
Xournal++:Linux 上手写笔记与 PDF 标注的终极开源方案,从课堂讲义到论文批注一站搞定
Xournal++ 是一个开源手写笔记与 PDF 标注工具,专为需要手写输入的 Linux 用户和需要批注 PDF 的学生、教师、研究人员设计。支持压感手写、LaTeX 公式、多图层管理、音频录制同步和插件扩展。核心卖点:Linux 上功能最全面的免费数字笔记方案,PDF 标注体验堪比 GoodNotes/Notability。
KDE PIM:KDE Plasma 原生个人信息管理套件,KMail 深度 PGP 加密 + Akonadi 统一离线搜索
KDE PIM 是 KDE Plasma 桌面环境内置的个人信息管理套件,通过 Kontact 统一界面整合 KMail(邮件)、KOrganizer(日历/任务)、KAddressBook(联系人)和 Akregator(RSS 阅读器),由 Akonadi 数据后端统一驱动。KMail 对 OpenPGP/SMIME 加密的支持是桌面邮箱中最深的——原生内置无需插件。支持离线全文搜索、CalDAV/CardDAV 同步 Google 和 Nextcloud。适合 KDE Plasma 用户和重视本地化管理的效率党。
💬 评论