返回更新列表
新发布Sep 5, 2026

resterm v1.5.6

适用于 HTTP、GraphQL 和 gRPC 的终端 API 客户端。使用纯 .http 文件,可进行 diff 和版本管理,支持工作流、模拟、性能分析、追踪、OpenAPI 导入、SSH 隧道、Kubernetes 端口转发、WebSocket、SSE 以及 CLI 运行器。

分享

Resterm
Resterm

面向终端的 API-as-code 工作台。
resterm.app · docs

Resterm TUI 基础界面截图

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 与时间线

带有时间线的 Resterm 截图

点击查看更多 UI

工作流

带有工作流的 Resterm 截图

性能分析器

Resterm 性能分析器截图

Explain

Resterm Explain 标签页截图

RestermScript

带有 RestermScript 的 Resterm 截图

安装

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 上赞助它。

许可证

Apache License 2.0。

分类