
resterm v1.5.6
适用于 HTTP、GraphQL 和 gRPC 的终端 API 客户端。使用纯 .http 文件,可进行 diff 和版本管理,支持工作流、模拟、性能分析、追踪、OpenAPI 导入、SSH 隧道、Kubernetes 端口转发、WebSocket、SSE 以及 CLI 运行器。
Resterm
面向终端的 API-as-code 工作台。
resterm.app · docs
Resterm 是一款 API 客户端,使用 .http/.rest 文件作为源代码。几乎所有功能都存在于 .http 文件中,因此它们易于在 Git 或任何其他版本控制系统中进行审查。你可以直接从 TUI 发送请求、测试 API 流程、记录 HTTP 流量并运行本地 mock 服务器,也可以使用 resterm run 命令在脚本和 CI 中运行相同的定义。
为什么选择 Resterm
- 测试完整的 API 流程。 登录、捕获令牌、创建资源并检查结果。直接在请求文件中添加断言、循环、条件、重试和脚本。
- 将真实流量转化为本地 mock。 记录 HTTP 请求和响应,然后将其保存为可运行的请求或 mock 定义。将 mock 与使用它们的请求放在一起。
- 找出发生了什么变化。 跨环境比较响应,与之前的结果进行差异对比,检查请求耗时,并对重复运行进行性能分析。
- 在本地和 CI 中运行相同的检查。 开发时使用终端 UI,然后用
resterm run运行这些文件。导出 JSON 或 JUnit 报告。 - 跨协议工作。 发送 HTTP、GraphQL 和 gRPC 请求,并处理 WebSocket 和 SSE 流。
内置的 SSH 隧道和 Kubernetes 端口转发让你能够访问位于堡垒机之后或集群内部的 API。
无账户、无遥测、无 AI 功能。
截图
Trace 与时间线
点击查看更多 UI
工作流
性能分析器
Explain
RestermScript
安装
macOS 和 Linux:
brew install resterm
# or
curl -fsSL https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.sh | bash
Windows:
iwr -useb https://raw.githubusercontent.com/unkn0wn-root/resterm/main/install.ps1 | iex
使用 Go 1.25 或更新版本:
go install github.com/unkn0wn-root/resterm/cmd/resterm@latest
适用于 macOS、Linux 和 Windows 的预构建二进制文件位于 releases 页面。Linux 二进制文件需要 glibc 2.32 或更新版本。
如需更新,如果你使用 Homebrew 安装,请运行 brew upgrade resterm。否则请运行 resterm --update。更多内容请参阅安装指南。
快速开始
mkdir my-api && cd my-api
resterm init
resterm
resterm init 会创建一个 requests.http 文件,其中包含一些示例请求和用于响应它们的本地 mock,因此你不需要真实的 API 即可试用。按 g Shift+M 启动 mock 服务器,将光标移动到某个请求上,然后按 Ctrl+Enter 发送它。随时按 ? 获取帮助。
你也不需要 init。运行 resterm,输入 URL 或粘贴 curl 命令,然后按 Ctrl+Enter。
同一个文件也可以在没有 UI 的情况下运行。在一个终端中启动 mock,在另一个终端中运行请求:
resterm mock requests.http # terminal 1
resterm run --request CreateUser requests.http # terminal 2
请求文件
Resterm 读取标准的 .http 格式,并在其上添加 # @ 指令,用于设置和自动化:
# @setting base-url https://api.example.com/v1/
### Create users
// Send this request once for each name in the list.
# @for-each ["david", "tom"] as name
# @when env.mode == "development"
# @assert response.statusCode == 201
POST users
Content-Type: application/json
{"name":"{{= name }}"}
第一个请求之前的 @setting 适用于整个文件。### 开始一个新请求。请求上方的指令可以重复该请求、跳过它或检查响应。
更多示例位于 _examples/,所有指令都列在请求文件参考中。
文档
完整文档位于 resterm.app/docs。推荐的起点包括工作流、mock 服务器、录制、CLI 和 RestermScript。
在 TUI 中,:help <topic> 会打开内置手册,:docs <topic> 会在网站上打开相同的页面。
要从你自己的 Go 代码中运行请求文件,请参阅 headless 包。
赞助
Resterm 现在是并将永远是免费且开源的。如果你喜欢我的工作,可以在 GitHub 上赞助它。