面向 gRPC 服务的命令行工具,类似 curl,使用 JSON 调用 RPC 方法。
- Star
- 5,936
- Fork
- 427
- 未关闭 Issue
- 79
- 最近提交
- 5天前
这是什么?
grpcui 让开发者无需编写客户端代码,就能在浏览器中调用 gRPC 方法。启动后会提供一个基于表单的网页界面,可以选择服务和方法、填写请求字段、添加 metadata,并查看响应的 header、正文和 trailer。
服务结构可以通过 server reflection 获取;若服务端未开启反射,则可以使用 .proto 源文件或编译后的 protoset 文件。请求表单根据消息定义动态生成,支持嵌套消息、oneof、map 以及 Timestamp 等well-known类型,也可以直接粘贴和编辑 JSON 格式的请求体。
支持明文和 TLS 连接,包括双向 TLS。流式方法同样可用,但请求流需要一次性构造完成,响应流则在全部返回后统一展示,因此不支持像 grpcurl 那样的交互式双向流。项目还提供 Go 包,可将同样的界面嵌入到已有的 HTTP 服务中。
核心功能
- 01根据 gRPC 服务结构自动生成交互式网页表单。
- 02支持通过 server reflection、.proto 文件或 protoset 文件获取服务结构。
- 03支持明文连接和 TLS,包括双向 TLS。
- 04支持一元方法和流式方法,并可直接编辑 JSON 请求体。
- 05展示响应的 header、消息内容、错误状态码和 trailer。
- 06提供 Go 包,可将界面嵌入其他 HTTP 服务。
适用场景
- 开发阶段无需编写客户端代码,手动测试 gRPC 服务。
- 通过反射接口浏览并探索不熟悉的 gRPC API。
- 调试需要特定 metadata 或 TLS 客户端证书的请求。
- 在内部 Go Web 应用中嵌入 gRPC 测试控制台。
快速上手
- 1
使用 Homebrew 安装(macOS 或 Linux)
brew install grpcui - 2
或使用 Go 工具从源码安装
go install github.com/fullstorydev/grpcui/cmd/grpcui@latest - 3
对明文 gRPC 服务器运行 grpcui,然后在浏览器中打开输出的网址
grpcui -plaintext localhost:12345
使用前须知
- 双向流不支持交互:必须一次性输入全部请求消息,响应也会一并显示。
收录于专题
标签
常见问题
- grpcui 是什么?
- 一个命令行工具,可启动网页界面,交互式地向 gRPC 服务发送请求,类似面向 REST 的 Postman。 grpcui 让开发者无需编写客户端代码,就能在浏览器中调用 gRPC 方法。启动后会提供一个基于表单的网页界面,可以选择服务和方法、填写请求字段、添加 metadata,并查看响应的 header、正文和 trailer。
- grpcui 可以免费使用吗?用的什么许可证?
- grpcui 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- grpcui 还在维护吗?
- 活跃维护中。grpcui 最近一次提交是在 2026年11月2日。
- grpcui 适合用来做什么?
- 开发阶段无需编写客户端代码,手动测试 gRPC 服务。 通过反射接口浏览并探索不熟悉的 gRPC API。 调试需要特定 metadata 或 TLS 客户端证书的请求。 在内部 Go Web 应用中嵌入 gRPC 测试控制台。
- grpcui 怎么安装和运行?
- 使用 Homebrew 安装(macOS 或 Linux): brew install grpcui 或使用 Go 工具从源码安装: go install github.com/fullstorydev/grpcui/cmd/grpcui@latest 对明文 gRPC 服务器运行 grpcui,然后在浏览器中打开输出的网址: grpcui -plaintext localhost:12345
- 在哪里获取 grpcui?
- 源代码和安装说明在 GitHub 上:https://github.com/fullstorydev/grpcui
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
将 OpenAPI 与 Postman Collection 文件转为模拟 API 服务器,并支持请求校验与校验代理的命令行工具。
用 Go 编写的原生本地优先 API 客户端,支持 REST、gRPC、GraphQL 和 WebSocket,并内置流量代理。
终端 API 客户端,把 HTTP、GraphQL、gRPC、WebSocket 和 SSE 请求保存为可放入 git 管理的 .http 文件。
开源 API 开发工具,支持 REST、GraphQL、WebSocket 等协议,提供网页、桌面和命令行版本。
开源 API 客户端,将请求集合以纯文本文件保存在本地,是 Postman、Insomnia 的离线替代品。