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

resterm v1.10.2

用于 HTTP、GraphQL、gRPC、WebSocket 和 SSE 的终端 API 客户端。可进行差异比较和版本控制的纯 .http 文件,支持脚本化测试、工作流、模拟、录制器,以及用于 CI 的 CLI 运行器。

分享

Resterm
Resterm

面向终端的 API 即代码工作台。
resterm.app · 文档

Resterm TUI 基础界面截图

Resterm 是一个以纯 .http/.rest 文件为核心的代码优先 API 客户端。一个请求就是几行可读、可 diff、可纳入 git 的文本,工作流和本地 mock 也是如此。工作时你从终端 UI 发送它们,而 resterm run 会在 CI 中运行同样的文件。如果你的 API 位于 SSH 堡垒机之后或 Kubernetes 集群内部,Resterm 会为你打开隧道或端口转发。

功能特性

  • HTTP、GraphQL、gRPC(支持反射与流式)、WebSocket 和 SSE
  • 环境文件、分组环境、dotenv 文件和操作系统变量
  • bearer token、OAuth 2.0(客户端凭证、密码,以及带 PKCE 的授权码),以及来自你已在使用的 CLI 的 token,例如 gh auth token
  • TLS 客户端证书、自定义根 CA、代理、HTTP/2,以及每个环境独立的 cookie jar
  • 使用 @capture 和 @assert 进行捕获与校验,另有 @poll 和 @retry
  • 将请求串联为步骤的工作流,支持 @if 和 @for-each
  • 用于逻辑的 RestermScript 和 @rts test 块
  • 支持 Vim 动作的编辑器,具备语法高亮、指令/请求头/文件路径补全,以及内联诊断
  • @compare 可将同一请求发送到多个环境并对比结果
  • 带各阶段预算的时间线追踪,并可导出到 OpenTelemetry
  • @profile 提供延迟统计、直方图、P95 和 P99
  • Resterm 为请求打开的 SSH 隧道和 Kubernetes 端口转发
  • 基于你的 .http 文件的本地 mock 服务器,以及可将真实流量转换为请求或 mock 的录制代理
  • 用于 CI 的 resterm run,支持文本、JSON 或 JUnit 输出,并通过退出码区分校验失败与 TLS 或隧道错误
  • 无头 Go API,可从你自己的 Go 代码运行同样的文件
  • 从 curl 和 OpenAPI 导入,并将集合以 bundle 或 zip 文件分享
  • 自定义按键绑定和主题
  • 在 $EDITOR 中打开文件,或用默认应用打开响应体

无需账号,无遥测。

[!NOTE] Resterm 没有 MCP 服务器或内置 AI 功能。如果你想让 LLM 理解 Resterm,请让它阅读 docs/ 中的 Markdown 文档,或访问 resterm.app/docs。

截图

追踪与时间线

带时间线的 Resterm 截图

点击查看更多 UI

工作流

带工作流的 Resterm 截图

性能分析器

Resterm 性能分析器截图

解释

Resterm 解释标签页截图

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 页面。macOS 二进制文件需要 macOS 13 Ventura 或更高版本,Linux 二进制文件需要 glibc 2.32 或更高版本。

要更新 Homebrew 安装,请运行 brew upgrade resterm。对于发布版二进制文件或使用脚本完成的安装,请运行 resterm --update。如果你使用 Go 安装,请重新运行上面的 go install 命令。更多内容请参阅安装指南。

快速开始

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.meta.name == "dev"
# @assert response.statusCode == 201
POST users
Content-Type: application/json

{"name":"{{= name }}"}

第一个请求之前的 @setting 会应用于整个文件。### 开始一个新请求。请求上方的指令可以重复该请求、跳过该请求或检查响应。

更多示例见 _examples/,所有指令都列在请求文件参考中。

文档

完整文档位于 resterm.app/docs。推荐的入门内容包括工作流、模拟服务器、录制、CLI 和 RestermScript。

在 TUI 中,:help <topic> 会打开内置手册,:docs <topic> 会在网站上打开同一页面。

如需从你自己的 Go 代码中运行请求文件,请参阅 headless 包。

赞助

Resterm 现在是并将永远是免费且开源的。如果你喜欢我的工作,可以在 GitHub 上赞助。

许可证

Apache License 2.0。

分类