• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaopenggggggg
V2EX  ›  程序员

第一个版本勉强可用的 Postman 替代品,跨平台、GPUI、占用少、不需要账号登录

  •  
  •   xiaopenggggggg · 18h 26m ago · 994 views

    第一个版本:勉强可用的 Postman 替代品,跨平台、GPUI 、占用少、不需要账号登录

    最近用 Rust 和 GPUI 搓了一个原生跨平台 HTTP 客户端:Postman GPUI

    项目地址:github.com/847850277/postman-gpui

    Postman GPUI

    做这个项目的原因很简单:我想要一个打开就能发送 HTTP 请求、不需要注册账号、不依赖云端工作区,同时资源占用相对克制的本地工具。

    它不是要在第一个版本里完整复刻 Postman 。目前只能算“勉强可用”,但常用的请求调试骨架已经基本齐了。

    目前能做什么

    • 支持 GET 、POST 、PUT 、PATCH 、DELETE 、HEAD 、OPTIONS
    • 支持 Params 、自定义 Header 和 Cookie
    • 支持 Basic 、Bearer 认证
    • 支持 JSON 、Raw 、URL-encoded 、Multipart Body
    • 支持 Multipart 文件上传
    • 支持重定向、响应解压、超时和取消请求
    • 展示状态码、响应头和格式化后的响应 Body
    • 支持响应内容快速复制
    • 支持多标签页、全局搜索
    • 使用 SQLite 保存本地请求历史,可以回放历史请求
    • 支持键盘操作、文本选择、剪贴板和常见编辑行为

    为什么使用 GPUI

    界面使用 Zed 开源的 GPUI 构建,HTTP 和数据层使用 Rust 。

    它是原生桌面应用,不需要捆绑 Chromium/Electron 运行时,因此启动速度和资源占用会更克制一些。不过目前还没有做严谨的横向性能测试,所以暂时不报具体内存数字。

    这个项目也算是我学习 GPUI 、桌面事件循环、状态管理、异步请求和原生文本编辑的一次实践。

    不需要账号登录

    应用打开后就能直接发送请求,没有产品账号、云端 Workspace 或强制同步。

    需要说明的是,这里的“不需要登录”指不需要登录 Postman GPUI 。你调试自己的接口时,当然仍然可以使用 Basic 、Bearer 、Cookie 等认证方式。

    请求历史保存在操作系统本地应用数据目录中的 SQLite 数据库里。已知凭据和 Cookie 会在历史记录落盘前移除,取消和传输失败的请求也不会写入历史。

    跨平台支持

    项目目标平台包括:

    • macOS:Intel 与 Apple 芯片,macOS 10.15.7+
    • Windows:Windows 10+,x86_64
    • Linux:x86_64 ,支持 Vulkan 的 Wayland/X11 桌面

    提供 macOS .dmg、Windows NSIS .exe、Linux .AppImage.deb

    它现在还替代不了完整的 Postman ,但如果只是发送常见 HTTP 请求、查看响应、管理多个标签页和本地历史,已经可以拿来试试。

    项目使用 MIT License 。如果你也对 Rust 、GPUI 或原生 HTTP 客户端感兴趣,欢迎体验、提 Issue ,或者顺手点个 Star 。

    项目地址:https://github.com/847850277/postman-gpui

    11 replies    2026-08-29 11:47:22 +08:00
    0xnycth
        1
    0xnycth  
       18h 23m ago
    https://github.com/usebruno/bruno 已经有一个类似的开源的成熟软件了,和这个有啥区别?
    ffalex
        2
    ffalex  
       18h 21m ago via Android
    巧了,我也在用 rust+gpui 搞,不过最近比较忙,没什么进度,我先投降不搞了🐶
    xiaopenggggggg
        3
    xiaopenggggggg  
    OP
       18h 16m ago
    @0xnycth 除了技术栈,最终产生的效果差不多吧,rust 原生的跨平台性能可能好点。
    xiaopenggggggg
        4
    xiaopenggggggg  
    OP
       18h 8m ago
    @ffalex coding 起来。
    byp
        5
    byp  
       18h 6m ago
    我在用 yaak , 感觉不错
    liuliuliuliu
        6
    liuliuliuliu  
       17h 56m ago
    写桌面 C# 下这么成熟的方案,何必折腾 GPUI
    wuruxu
        7
    wuruxu  
       12h 58m ago
    https://github.com/libcr/crRequest
    哈哈,真是卷。这里还有个用 C++写的,原生支持 QUIC/HTTP2 协议的请求
    cellsyx
        8
    cellsyx  
       3h 31m ago
    对于 GPUI 我一直有些疑问。

    虽然说 GPUI 的理论性能很强,但目前它的应用场景里没有那种性能需求高到非他不可的例子,C++ GUI 方案也不是做不到。
    而且控件生态不完善,内存消耗比起 C# 和 C++ GUI 也没什么特别优势,Zed 不加插件默认使用,win10 上的内存占用也差不多要 160MB
    跨平台方面,Zed 在 win10 虚拟机使用还会报错。
    之前试了下 GPUI 的开发,宣传的优点感受不深,但是一个简单示例项目十多 G 的编译中间产物的文件夹占用空间把我吓到了。

    目前 GPUI 的独有优势项是什么呢?看起来更像是一个实验项目,自己造轮子玩还挺有意思的,但作为一个 GUI 方案,总感觉它没有找到自己的优势生态位。有没有老哥来分析一下?
    xiaopenggggggg
        9
    xiaopenggggggg  
    OP
       2h 0m ago
    @cellsyx 编译中间产物多和编译耗时是 Rust 的通病,这可能是编译检查带来的负面影响吧。GPUI 看到好处就是跨平台和 Rust 原生应用吧,生态这个我觉得用的人越多,反馈问题越多,反过来生态就越好。
    dimwoodxi27
        10
    dimwoodxi27  
       53 mins ago
    @cellsyx GUI 还没优势啊?真就 webview 注入有优势?白屏过渡消耗和额外的系统资源占用,要优化没优化,也不至于 vsc 底层重构写了大量 cpp 来调优吧,某些人滥用 chromium 内核美名其曰叫提高效率,写个 webview 还去反复压缩说只有几 M ,但实际运行产生几百 M 的资源文件,还有自己业务的默认资源反复在 temp 目录和其他缓存目录中拉屎(从未清理),还有内存调度就是个迷
    Mageblade
        11
    Mageblade  
       25 mins ago
    只要不是浏览器套壳,就值得鼓励

    提几个建议:
    1.支持多语言,身为中国人,做的软件没有中文是说不过去的;
    2.完善 api 管理功能,允许保存到本地,添加、删除、修改、分组等;
    3.增加便携版本,数据跟着主程序走,一个目录复制到任何一台新电脑都能带走全部设置

    我目前常用的是这个:
    https://github.com/lakernote/easy-postman
    功能已经很完善了,如果想进一步做下去,建议可以参考一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2891 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 04:12 · PVG 12:12 · LAX 21:12 · JFK 00:12
    ♥ Do have faith in what you're doing.