开发后端服务时有个场景让人抓狂:手头有份完整的OpenAPI规范,只想快速测试几个接口,于是打开Swagger UI——然后立刻想起自己为什么讨厌它。

折叠面板堆成墙,没法过滤端点。填好鉴权头、发送请求、切到别处再回来,所有内容清空。每一次。它像是给非开发者演示API用的,不是给真正干活的人。

打开网易新闻 查看精彩图片

Postman和Insomnia是备选,都是好工具。但它们是完整GUI应用,启动要几秒,常驻任务栏,默默吃掉几百MB内存。整天在终端和浏览器间切换,为了一次快速API调用单独开个窗口,越来越像负担。

打开网易新闻 查看精彩图片

某个下午,作者终于动手解决了这个问题。

radar诞生了。这是一款面向OpenAPI 3.x和Swagger 2.0规范的终端API浏览器。指向规范URL或本地文件,启动Bubble Tea TUI,浏览端点、填写参数和请求体、发送请求、检查响应——全程不离开终端。

选择TUI有明确理由:开发者本就整天泡在终端里。TUI只是另一个标签页,瞬间启动,几乎不占内存,关闭即消失。不用切到独立窗口,不用等Electron启动。

如果已有完善的OpenAPI规范,radar读取后自动构建完整界面,无需额外配置。

核心功能分五点:

打开网易新闻 查看精彩图片

1. 浏览过滤端点。按标签分组,可折叠。按/键实时过滤,面对80+端点的规范时,快速定位POST /users这类目标。

2. 全字段可编辑。路径参数、查询参数、请求头、Cookie、请求体均可修改。请求体支持原始JSON和结构化字段两种模式,Ctrl+T切换。

3. 发送与检查。Ctrl+S发送请求,响应视图显示状态码、请求头(H键切换)、格式化JSON。

4. 持久化加密会话。每次请求自动保存到~/.config/radar/sessions/,采用age加密。下次打开同一端点,内容原样恢复。环境变量设置RADAR_PASSPHRASE可跳过密码提示。

5. Cookie管理。Set-Cookie响应中的非HttpOnly Cookie自动捕获,同主机后续请求自动携带。HttpOnly Cookie需手动确认。按K键在端点列表中查看编辑Cookie仓库,全局Authorization头也可在此设置。