Hoppscotch
开源 API 开发生态系统,轻量快速的 Web/桌面/CLI 客户端,支持 REST、GraphQL、WebSocket、MQTT 等协议,可离线使用,是 Postman 的开源替代品。
过去 7 天收获 2 颗 Star
爱鲜报评分
0.0
0 人评分
开源 · MIT
#开源
#TypeScript
#Vue
#API
#Postman替代
81k
星数
否
中文
TypeScript
主语言
是
活跃
355
贡献者
人工分析
EDITORIAL推荐理由
Hoppscotch 以极简 UI 和毫秒级响应著称,支持 PWA 离线使用,无需安装即可在浏览器中调试 API。它覆盖 REST、GraphQL、WebSocket、SSE、Socket.IO、MQTT 等多种协议,并提供集合管理、环境变量、预请求脚本、测试断言和团队协作功能。作为 Postman 的开源替代品,MIT 协议允许自由部署和二次开发,适合追求轻量、隐私和自托管的开发者。
适用场景
- 日常 REST/GraphQL API 调试与测试
- WebSocket、SSE、Socket.IO、MQTT 等实时协议调试
- 团队共享 API 集合与环境变量协作
- 内网/离线环境下的 API 开发与联调
- CI 中通过 CLI 执行 API 测试
- 作为 Postman 的开源自托管替代方案
优点
- 轻量快速,Web 端即开即用,支持 PWA 离线
- 协议覆盖广:REST、GraphQL、WebSocket、SSE、Socket.IO、MQTT
- 功能完整:集合、环境变量、预请求脚本、测试断言、代码片段生成
- 支持团队协作、工作区、角色权限与云同步
- MIT 开源,可自托管,社区活跃(80k+ Stars)
- 提供 Web、桌面、CLI 多端形态
缺点
- 高级协作与企业级 SSO 等功能需付费云版或自建后端
- 自托管部署涉及多个服务组件,运维成本较高
- 部分高级测试与自动化能力不如商业竞品成熟
- 中文文档与中文社区资源相对有限
上手难度
入门
Hoppscotch 简介
Hoppscotch 是一个开源的 API 开发生态系统,定位为 Postman / Insomnia 的开源替代品。它以极简的界面和极快的响应速度著称,提供 Web、桌面和 CLI 三种形态,支持离线使用与自托管部署。
项目使用 TypeScript 编写,基于 Vue 生态构建,采用 MIT 协议开源,目前在 GitHub 上拥有超过 8 万 Star。
核心功能
多协议支持
- HTTP/REST:支持 GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS、TRACE、CONNECT 以及自定义方法
- GraphQL:设置端点获取 Schema,支持多列文档、自定义请求头与查询
- WebSocket:建立全双工通信通道
- Server-Sent Events (SSE):接收服务端推送流
- Socket.IO:与 Socket.IO 服务端收发数据
- MQTT:订阅与发布 MQTT Broker 主题
请求与响应
- 支持 Basic、Bearer Token、OAuth 2.0、OIDC 等授权方式
- 请求体支持 FormData、JSON、RAW 等多种格式
- 响应可预览 HTML、图片、JSON、XML,支持复制与下载
- 一键生成 10+ 种语言/框架的请求代码片段,支持导入 cURL
组织与协作
- 集合(Collections):无限层级文件夹组织请求,支持导入导出与 GitHub Gist
- 环境变量:存储和复用请求与脚本中的值
- 工作区:在个人与团队工作区之间切换
- 团队:角色权限控制、云同步、多设备协作
自动化能力
- 预请求脚本:发送前执行 JavaScript,可设置环境变量、生成时间戳等
- 后置测试:对响应状态码、响应头、响应体进行断言
// 后置测试示例(示意)
pw.expect(pw.response.status).to.equal(200);
其他特性
- PWA:可安装到桌面/主屏幕,Service Worker 支持离线
- 代理模式:解决 CORS 问题、访问 HTTP 端点、隐藏 IP
- 主题定制:多种主题与强调色,支持 Zen 专注模式
- 国际化:支持多语言界面
- 快捷键:为效率优化的键盘操作
适用人群
- 需要轻量、快速 API 调试工具的前后端开发者
- 希望自托管、保障数据隐私的团队
- 需要调试 WebSocket、MQTT 等实时协议的工程师
- 寻找 Postman 开源替代方案的个人与组织
上手建议
直接访问官网即可在浏览器中使用,无需安装;需要离线或本地数据时,可安装桌面版或参考官方文档进行自托管部署。建议先阅读官方文档了解集合、环境变量与脚本的使用方式。
评论
- 暂无评论,来写第一条吧。