我开发了一个 Postman 替代品:60MB 内存,无需登录,开源免费 [ApiArk]

0 阅读2分钟

GitHub:github.com/berbicanes/… | 官网:apiark.dev

Tauri v2 + Rust + React | MIT 开源 | 支持 6 种协议 | 数据完全本地

为什么要做这个

2024 年,Postman 泄露了 30,000 个工作区的数据。

除此之外,它还要求强制登录、内存占用 300-800MB、启动需要 10-30 秒。

我只是想测个接口,不想把公司的 API 密钥交给某个云平台。

所以我做了 ApiArk

Screenshot_20260314_204723.png

性能对比

指标ApiArkPostman
内存占用~60MB300–800MB
启动时间<2 秒10–30 秒
安装包大小~20MB~200MB
需要登录
数据存储本地 YAML 文件云端
遥测

功能一览

协议支持(6 种): REST、GraphQL、gRPC、WebSocket、SSE、MQTT

认证方式(9 种): OAuth 2.0、AWS Sig v4、Digest、NTLM、JWT、Basic、Bearer、API Key、自定义

其他功能:

  • 脚本引擎:请求前/后脚本,支持 Chai.js 断言
  • 集合运行器:CSV / JSON / YAML 数据驱动测试
  • 本地 Mock 服务器:模拟延迟与错误响应
  • 定时测试:基于 Cron 的监控 + 通知
  • 导入支持:Postman、Bruno、Insomnia、Hoppscotch、OpenAPI、HAR
  • CLI 工具:apiark run,输出 JSON / JUnit / HTML 报告,可接入 CI/CD
  • 响应对比:并排比较 API 返回差异
  • 代理抓包:拦截本地 HTTP/HTTPS 流量
  • API 文档导出:HTML 或 Markdown

为什么用 YAML 存储

每一个请求就是本地文件系统上的一个 .yaml 文件:

name: 创建用户
method: POST
url: "{{baseUrl}}/api/users"
headers:
  Content-Type: application/json
body:
  type: json
  content: |
    {
      "name": "{{userName}}",
      "email": "{{userEmail}}"
    }
assert:
  status: 201
  responseTime:
    lt: 2000

这意味着:

  • Git 友好 — 再也不会有 PR 里 40,000 行 JSON diff
  • 人类可读 — 任何文本编辑器都能打开和编辑
  • 无厂商锁定 — 就是普通文件,随时可以带走

技术栈

层级技术
后端Rust(Tauri v2、reqwest、tokio、axum、tonic)
前端React 19、TypeScript、Tailwind CSS、Monaco Editor
存储YAML 文件 + SQLite(历史记录)
脚本引擎rquickjs(沙盒化 JS 运行时)

开源协议

MIT 许可证。你的数据永远属于你,没有任何锁定。

如果觉得有用,欢迎点个 Star ⭐