Show HN:Ghostman – 一款快速、键盘驱动的 TUI API 客户端和 Webhook 检查工具
摘要
Ghostman 是一个开源的、键盘驱动的终端 TUI API 客户端与 Webhook 检查工具,主打本地优先、极速启动(<200ms),内置本地 Webhook 接收器,旨在替代 Postman/Insomnia 等重型客户端。
查看缓存全文
缓存时间: 2026/10/31 18:20
4yk5/Ghostman
来源:https://github.com/4yk5/Ghostman
``
/ | | ___ | | _ __ ___ __ _ _ __
| | | ’ \ / _ / __| | ’ _ \ / _ | ’ \
| || | | | | () _ \ || | | | | | (| | | | |
_|| ||_/|/_|| || ||_,|| ||
``
👻 Ghostman
直接在终端中使用的高速、键盘驱动的 API 客户端和 Webhook 检查工具。
无需云端账户。没有占用 1GB 的臃肿 Electron 应用。100% 本地优先。
许可证:MIT Python:3.10+ (https://www.python.org/) UI:Textual (https://github.com/Textualize/textual)
Ghostman 主工作台
💡 为什么选择 Ghostman?
Postman 和 Insomnia 等现代 API 客户端最初都是轻量级开发工具,但后来逐渐演变成了庞大的企业平台:
- ❌ 强制使用云端登录、团队工作区和遥测
- ❌ 仅在后台闲置就会消耗 800MB - 1.5GB 内存
- ❌ 启动缓慢
- ❌ 仅仅为了检查本地 Webhook 回调,就需要借助外部隧道服务(ngrok、webhook.site)
Ghostman 专为追求极致速度、终端工作流和完全本地隐私保护的开发者从零打造:
- ⚡ 即刻启动: 直接在终端中启动,耗时不到 200 毫秒。
- 🔒 100% 本地优先: 所有集合和请求都以纯 YAML 格式保存在
.ghostman/collections.yaml中。可将其与代码库一同提交到 Git。 - 🛰️ 内置 Webhook 接收器: 按下
Ctrl + W即可在http://127.0.0.1:9090启动临时服务器,在屏幕上实时捕获、检查和重放 Webhook。 - ⌨️ Vim 与键盘优先: 支持完整的键盘导航,无需触碰鼠标即可切换集合、编写 JSON 请求体并发送请求。
📸 界面导览
1. 高速响应与遥测
即时追踪毫秒级延迟,提供 HTTP 状态徽标、载荷大小指标,以及自动格式化的 JSON 语法高亮: Ghostman 响应
2. 实时 Webhook 流
实时捕获来自 Stripe、GitHub、Shopify 或本地微服务的 HTTP 回调: Ghostman Webhook
⚡ 核心功能
- 完整的 HTTP 方法支持: 轻松构建
GET、POST、PUT、DELETE和PATCH请求,支持自定义请求头和原始 JSON 载荷。 - 性能遥测: 实时测量 DNS + TTFB 延迟,监控 API 端点的性能瓶颈。
- 内嵌 Webhook 服务器: 开发期间无需配置第三方反向代理,即可在本地捕获传入的 Webhook。
- 美观的 JSON 格式化: 使用 Pygments 和 Rich 自动为 JSON 载荷添加缩进、格式化和着色。
- 集合浏览器: 将 API 端点整理为集合,并在会话之间持久保存。
- 赛博朋克深色 TUI: 针对开发者的视觉体验优化对比度,支持高 DPI 终端。
🚀 快速开始
前置条件
- Python 3.10 或更高版本
安装
``bash
1. 克隆仓库
git clone https://github.com/4yk5/ghostman.git cd ghostman
2. 安装依赖
pip install -r requirements.txt
3. 启动 Ghostman
python main.py ``
Windows 提示: 也可以直接双击项目根目录中的
run.bat!
⌨️ 快捷键与操作
| 快捷键 | 描述 |
|---|---|
Ctrl + S | 发送 HTTP 请求(执行调用并切换到响应视图) |
Ctrl + W | 切换 Webhook 服务器状态(启动 / 停止端口 9090 上的接收器) |
Tab / Shift+Tab | 在输入框、方法选择器和选项卡之间循环切换焦点 |
Enter | 从侧边栏中选择集合项 |
Ctrl + Q | 退出 Ghostman |
🛠️ 在本地测试 Webhook
- 在 Ghostman 中按下
Ctrl + W,在端口9090上启动接收器。 - 将 Webhook 提供方的回调地址指向以下地址(也可以从另一个终端发送测试
curl请求):bash curl -X POST http://127.0.0.1:9090/api/webhooks/stripe \ -H "Content-Type: application/json" \ -d '{"event": "payment_intent.succeeded", "amount": 4900}' - Ghostman 会立即捕获传入请求,显示请求头,并在实时 Webhook 选项卡中实时解析载荷。
📁 对 Git 友好的集合
Ghostman 将所有请求以简洁、易读的 YAML 格式存储在 .ghostman/collections.yaml 中:
``yaml
- name: “身份验证 API”
requests:
- name: “用户登录” method: “POST” url: “https://api.example.com/v1/auth/login” headers: Content-Type: “application/json” body: ‘{\n “email”: “[email protected]”,\n “password”: “secretpassword”\n}’ ``
将 .ghostman/ 直接提交到仓库,整个团队就能共享相同的 API 集合,无需用于云端同步的账户。
🗺️ 路线图
-
带延迟遥测的异步 HTTP 引擎(
httpx) -
临时 Webhook 接收器(
端口 9090) - 本地 YAML 集合持久化
- 深色赛博风格 TUI 主题,支持自动 JSON 样式
- 一键“将捕获的 Webhook 作为出站请求重放”
-
动态环境变量(
{{BASE_URL}}、{{AUTH_TOKEN}}) -
将请求导出为 cURL 格式(
Ctrl + C) - 发布独立二进制程序(无需安装 Python)
📄 许可证
本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
版权所有 © 2026 4yk5。保留所有权利。
相似文章
@geekbb: 好东西,为 Ghostty 终端提供一个 macOS 侧边栏工具,快速创建、切换和排列终端会话。 通过 Ghostty AppleScript 和 Accessibility API 操控丝滑窗口,可以从浮动面板直接跳到某个会话所在的 S…
Rig 是一个为 Ghostty 终端开发的 macOS 侧边栏辅助工具,支持通过 AppleScript 和辅助功能 API 快速创建、切换和排列终端会话窗口。
Show HN:Death Plan Switch,一个面向独立开发者的自托管死人开关
Show HN:Death Plan Switch,一个面向独立开发者的自托管死人开关工具。它每周通过邮件确认你是否安好,若未按时签到会依次提醒你、联系你的直系亲属,最后通知指定联系人,采用 MIT 协议免费开源,基于 PHP 8.1+,无需数据库。
Show HN: Hntui – 一个用于 Hacker News 的终端用户界面
hntui 是一个用于浏览 Hacker News 的简洁终端用户界面,提供导航、帖子保存和主题支持等功能。
@GitTrend0x: 100% 本地桌面AI Agent 杀手级开源神器 https://github.com/bytedance/UI-TARS-desktop… 这就是 UI-TARS-desktop,字节跳动开源的 31k 星爆款多模态桌面自动化代理! …
UI-TARS-desktop is a highly popular open-source tool by ByteDance that enables 100% local multimodal desktop automation, allowing users to control apps and browsers via natural language without cloud data leaks.
Show HN: K10s – 一个可点击的 Kubernetes TUI(Go、Bubble Tea)
Show HN: k10s 是一个用 Go 和 Bubble Tea 构建的可点击 Kubernetes 终端 UI,作为 k9s 的现代化替代,提供鼠标操作、全局搜索、延迟 informer 以实现即时启动,并内置具备集群上下文感知能力的 AI 助手。