Hoppscotch:免费开源的 API 测试工具,从单条请求到团队协作
【免费下载链接】hoppscotchOpen-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem & Cloud • Web, Desktop & CLI • Open-Source Alternative to Postman, Insomnia项目地址: https://gitcode.com/GitHub_Trending/ho/hoppscotch
日常联调后端接口,最耗时间的是来回切换:改参数要翻回文档,换 Token 要去配置里找,请求发完还得复制响应贴给同事。Hoppscotch 是一个免费开源的 API 测试工具,把发请求、管变量、整理集合收进同一个界面。浏览器打开在线版就能发请求,什么都不用装;数据必须留在自己机房时,直接自托管。
🚀 30 秒速览:它是干什么的
| 维度 | 说明 |
|---|---|
| 定位 | 开源 API 测试工具,替代 Postman、Insomnia 等商业工具 |
| 协议覆盖 | REST、GraphQL、WebSocket、SSE、Socket.IO、MQTT |
| 部署形态 | Web(可装 PWA)、桌面端、CLI、自托管 |
| 许可 | MIT,改源码和私有化部署无限制 |
| 费用 | 免费,发基础请求不需要账号 |
🛠️ 装完直接上手(最小路径)
打开在线版或桌面端,界面中间就是请求编辑区,不需要任何初始化:
- 选方法并填 URL:GET、POST、PUT、DELETE 都支持,也可以直接输入 LIST 这类自定义方法。
- 按需补 Query 参数、Headers、Body,Body 可切 JSON、FormData 等格式,键值对和 RAW 两种模式都支持。
- 点 Send(快捷键 Ctrl/Cmd + Enter),下方立刻出现状态码、耗时和格式化后的响应体。
- 每条请求自动进历史记录,随时回看重发,高频快捷键在帮助菜单里也有清单。
想部署一个自托管实例,clone 仓库后跑一条命令:
git clone https://gitcode.com/GitHub_Trending/ho/hoppscotch cd hoppscotch && docker compose --profile default up这套配置自带 PostgreSQL 和自动迁移,起来就是一个可用的 On-prem 实例。
⚙️ 能力拆解:按模块讲
请求管理:请求多了怎么整理
解决接口参数、凭证、地址放得住、切得快的问题。
- 集合:请求和文件夹可以存进集合,支持嵌套文件夹、批量导入导出,交接给同事直接给文件。
- 环境变量:把 base URL、token 存进环境,请求里用
{{变量名}}引用。开发、测试、生产各建一个环境,切换时不用逐条改请求。 - 认证:Authorization 页签提供 None、Basic、Bearer Token、OAuth 2.0、OIDC(含 PKCE)五种方式,凭证放环境里,避免写死在请求中。
- Zen 模式:设置里开启后侧栏全部隐藏,只留请求区,配合 Ctrl/Cmd + K 命令菜单,纯键盘发请求。
多协议:GraphQL 和实时连接怎么测
解决非 REST 协议不用换工具的问题。
- GraphQL:填好 endpoint 后自动拉取 schema,文档面板直接可用,写查询、看结果都在同一屏。
- Realtime:WebSocket、SSE、Socket.IO、MQTT 归在 Realtime 分组,分别对应长连接、服务器推送事件流、Socket.IO 和 MQTT 主题订阅发布。连接建立后,消息按到达顺序展示在面板里,测 SSE 不用自己写轮询代码。
脚本与断言:参数怎么生成、响应怎么校验
解决高频请求里重复手工活的问题。
- 预请求脚本:发送前跑一段 JavaScript,生成时间戳、随机参数、写入环境变量。脚本环境是沙箱化的,碰不到浏览器对象。
- 后置测试:响应回来后再跑断言,校验状态码、解析响应字段、设置环境变量。
- 代码导出:单条请求能导出成 10 多种语言的代码片段,也可以直接粘贴 cURL 命令导入。
团队协作与自托管:集合和数据怎么共享
解决数据共享和数据不出内网的问题。
- 工作区:登录后可建团队和工作区,共享集合与环境,成员权限按角色划分,数据多端同步,个人项目和团队项目互不干扰。
- 自托管:仓库自带完整后端,基于 NestJS + Prisma + PostgreSQL,包含团队、环境同步等能力,不是一个纯前端页面。
- 实例切换:桌面端左上角实例菜单里,Cloud、On-prem 和自定义地址在同一个入口切换。
⚖️ 和同类工具怎么选
| 维度 | Hoppscotch | Postman | Insomnia |
|---|---|---|---|
| 费用 | 完全免费开源 | 免费版 + 付费订阅 | 免费版 + 付费订阅 |
| 自托管 | 官方支持,docker compose 拉起即用 | 不支持 | 不支持 |
| 协议覆盖 | REST、GraphQL、WebSocket、SSE、Socket.IO、MQTT | REST、GraphQL、WebSocket | REST、GraphQL、WebSocket |
| 数据位置 | 自建实例或官方云 | 厂商云 | 厂商云 |
结论:数据必须留在自己机房、或者要零成本给团队用,选 Hoppscotch;已有成熟 Postman 企业订阅的,继续用即可。
实战中容易卡住的几个点
问:浏览器里发请求报 CORS 错误怎么办?
设置里打开代理模式即可,官方代理可用,也可以填自己的代理地址。访问非 HTTPS 接口被浏览器拦截的问题也能顺手解决。
问:不登录时数据存在哪里?
存在当前浏览器的本地存储里,不会丢,但换设备或清缓存后就取不回了。要跨端同步就得登录账号。
问:自托管的后端具体包含什么?
完整的 NestJS + Prisma 后端,配套 PostgreSQL 和自动迁移,包含团队、环境同步等能力,不是一个纯前端页面。
问:桌面端怎么连自建的实例?
左上角实例菜单选 "Add an instance",填上 On-prem 地址即可。本地开发和内网环境能用同一套集合。
延伸阅读与源码入口
- 项目说明与完整功能列表:README.md
- REST 请求主界面实现:packages/hoppscotch-common/src/components/http/
- 桌面版实现:packages/hoppscotch-desktop/
- 自托管后端实现:packages/hoppscotch-backend/src/
- 自托管部署配置:docker-compose.yml
- 本地开发与贡献指南:CONTRIBUTING.md
【免费下载链接】hoppscotchOpen-Source API Development Ecosystem • https://hoppscotch.io • Offline, On-Prem & Cloud • Web, Desktop & CLI • Open-Source Alternative to Postman, Insomnia项目地址: https://gitcode.com/GitHub_Trending/ho/hoppscotch
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考