项目:hoppscotch/hoppscotch | 星数:80715 | 语言:TypeScript | 协议:MIT | GitHub仓库
更新日期:2026-10-29 · 作者:CodeArts 编辑部
Postman 功能强,但启动慢、资源占用高、账号与云同步策略让不少人并不舒服,企业版的定价也不便宜。Hoppscotch 的定位很清晰:一个打开就能发请求的工具。80715 星、MIT 协议,Web 版可以直接在浏览器使用,也能桌面安装或自托管到内网,数据完全自主。
| 形态 | 特点 | 适用 |
|---|---|---|
| Web 版 | 打开即用,PWA 可安装 | 临时调试、跨设备 |
| 桌面版 | 无跨域限制,支持本地文件 | 日常开发主力 |
| 自托管 | 内网部署,数据不出公司 | 团队、涉密场景 |
Web 版调试本地接口时会遇到 CORS——浏览器发请求受同源策略约束。桌面版没有这个问题,所以日常开发建议直接用桌面客户端。
WebSocket 支持这点很实用。调试实时推送接口时,多数人还在 Postman 与浏览器控制台之间来回切,Hoppscotch 能在一个界面上发消息、看回包。
git clone https://github.com/hoppscotch/hoppscotch cd hoppscotch cp .env.example .env docker compose up -d
官方 compose 会拉起前端、后端(Node)、Postgres 和 Redis。起来后默认在 3000 端口(具体以 .env 中配置为准)。
关键配置项:
DATABASE_URL=postgresql://user:pass@db:5432/hoppscotch REDIS_URL=redis://redis:6379 JWT_SECRET=换成一个足够长的随机串 VITE_BASE_URL=https://api.example.com ENABLE_SUBPATH_BASED_ACCESS=false
VITE_BASE_URL 是前后端通信地址,必须以 /v1 结尾,配错会表现为登录后无限跳转或请求 404,这是自托管最常见的问题。JWT_SECRET 一定要改,默认值公开可查。
自托管版提供多用户与工作区:
hoppscotch-cli 可以在 CI 里跑集合做接口回归。npx @hoppscotch/cli test collection.json -e prod.json
把集合文件导到仓库里,CI 里跑一遍,接口挂了立刻知道。这一环是国内团队用 Postman 时常被忽略的部分——接口测试实际上从来没有真正进入 CI。
baseUrl、token 放环境,路径里写 {{baseUrl}}/users,切换测试/预发/生产只改一个环境。pw.env.set('token', res.body.access_token),后续请求自动带上,省去手动复制。pw.expect(res.status).toBe(200) 这类断言既能防回归,也把接口契约写清楚了。| 工具 | 优势 | 劣势 |
|---|---|---|
| Hoppscotch | 轻量、开源、可自托管、多协议 | 脚本生态不如 Postman 丰富 |
| Postman | 功能最全、生态最大 | 重、云同步策略、付费门槛 |
| Bruno | 纯本地文件、Git 友好 | 多协议支持较少 |
选择建议很直接:需要内网自主可控、协议种类多、团队想省钱,选 Hoppscotch;需要大量企业级协作功能和现成集成,Postman 仍是最大公约数;如果把"接口定义即文件、随 Git 走"奉为原则,Bruno 更纯粹。
自托管时要留意版本与安全更新——API 调试工具天然持有大量凭证,一旦公网暴露又未及时升级,风险不小。建议放在内网或加一层身份网关,JWT_SECRET 与数据库密码使用密钥管理而非写在 compose 里,并定期备份 Postgres 数据卷。
开源版 MIT 协议完全免费,可通过 Docker Compose 自托管到内网,含多用户与工作区协作。官方也提供云端托管版本,部分企业协作与高级能力需付费订阅。
这是浏览器同源策略导致的,不是接口坏了。改用桌面客户端即可绕过跨域限制;或让后端在本地开发环境放开 Access-Control-Allow-Origin。生产环境不要为此长期开放 CORS。
多半是 VITE_BASE_URL 配置错误,该值必须是前端能访问到的后端地址且以 /v1 结尾。同时确认 JWT_SECRET 已改为自定义值、Postgres 与 Redis 容器健康,改完需重新构建前端镜像。