📖 Languages / 语言支持: English | 中文
一个现代化的跨平台NATS客户端,提供简洁易用的图形界面,让NATS消息传递变得更加简单。
前往 GitHub Releases 下载适合您系统的版本:
操作系统 | 架构 | 下载链接 |
---|---|---|
Windows | 64位 | nats-client-windows-amd64.exe |
macOS | Intel芯片 | nats-client-darwin-amd64 |
macOS | Apple芯片 | nats-client-darwin-arm64 |
Linux | 64位 | nats-client-linux-amd64 |
下载后双击运行即可,无需额外安装依赖。
- 智能历史记录: 自动保存连接地址,支持快速选择
- 一键连接: 支持
nats://user:pass@host:port
格式 - 状态监控: 实时显示连接状态
- 自动重连: 连接断开时自动重连
- 历史记录: 自动保存发布过的主题,快速重用
- 消息编辑: 大尺寸编辑器,支持多行消息
- JSON格式化: 一键美化JSON消息格式
- 请求-响应: 支持Request-Reply模式,可设置超时时间
- 模式匹配: 支持通配符订阅(如
test.*
,events.>
) - 分组订阅: 支持队列组负载均衡
- 实时接收: 消息实时显示,自动滚动
- 历史管理: 保存订阅模式和分组历史
- 流管理: 创建和管理JetStream数据流
- 消费者管理: 配置消息消费者
- 保留策略: 支持限制、兴趣和工作队列策略
- 实时监控: 查看流和消费者状态
- 实时过滤: 输入关键词即时过滤消息
- 消息统计: 显示接收消息数量
- 历史记录: 保留最近100条消息
- 一键清空: 快速清理消息历史
如果您还没有NATS服务器,可以:
使用Docker (推荐):
docker run -p 4222:4222 nats:latest
或下载NATS服务器:
- 前往 NATS官网 下载
- 解压后运行
nats-server
- 打开NATS Client应用
- 在连接栏输入服务器地址(默认:
nats://localhost:4222
) - 点击"连接"按钮
- 切换到"发布"标签页
- 在主题栏输入:
test.hello
- 在消息框输入:
Hello, NATS!
- 点击"发送"按钮
- 切换到"订阅"标签页
- 在模式栏输入:
test.*
- 点击"订阅"按钮
- 回到发布页面发送消息,即可在订阅页面看到接收的消息
- 回到"发布"标签页
- 将模式切换为"Request-Reply"
- 在主题栏输入:
test.hello
- 设置超时为:
5s
- 在消息框输入:
Who are you?
- 点击"发送"按钮
- 在右侧输出区域查看响应结果(如果有服务响应的话)
支持多种连接格式:
- 基本连接:
nats://localhost:4222
- 带认证:
nats://username:password@server:4222
- 集群连接:
nats://server1:4222,server2:4222
- JSON消息: 粘贴JSON后点击"格式化JSON"美化代码
- 消息模板: 常用消息会自动保存在历史记录中
- 批量发送: 可以快速选择历史主题重复发送
- 选择模式: 在发布页面的"模式"下拉框选择"Request-Reply"
- 设置超时: 在"超时"字段设置等待响应的时间(如:5s, 10s, 30s)
- 发送请求: 输入主题和消息内容,点击"发送"
- 查看响应: 右侧输出区域会显示响应结果或超时错误
超时格式示例:
5s
- 5秒30s
- 30秒1m
- 1分钟500ms
- 500毫秒
Request-Reply使用场景:
- API调用: 向微服务发送请求并等待响应
- 状态查询: 查询系统或服务状态
- 数据获取: 从远程服务获取数据
- 健康检查: 检查服务是否正常运行
模式 | 说明 | 示例 |
---|---|---|
test.* |
匹配单层级 | test.hello , test.world |
events.> |
匹配多层级 | events.user.login , events.order.created |
logs.error.* |
特定层级 | logs.error.app , logs.error.db |
- 创建流: 指定流名称和捕获的主题模式
- 设置保留策略:
- 限制策略: 按大小/时间限制
- 兴趣策略: 有消费者时保留
- 工作队列: 确认后删除
- 创建消费者: 从流中消费消息
应用会自动在以下位置保存配置:
- Windows:
%APPDATA%\nats-app\config.json
- macOS:
~/Library/Application Support/nats-app/config.json
- Linux:
~/.config/nats-app/config.json
配置包含:
- 连接历史记录(最多15个)
- 发布主题历史
- 订阅模式历史
- 分组名称历史
- 所有输入框都支持历史记录下拉选择
- 使用快捷模式示例快速订阅常见模式
- 利用分组订阅实现负载均衡
- 定期清理消息历史保持界面整洁
- 使用
>
通配符监听所有消息进行调试 - 利用消息过滤快速找到特定消息
- 通过JetStream监控查看消息流量统计
- 使用分组订阅实现服务的高可用
- 通过JetStream实现消息持久化
- 利用流的保留策略控制存储成本
Q: 如何连接到远程NATS服务器?
A: 在连接栏输入完整URL,如 nats://192.168.1.100:4222
Q: 支持TLS安全连接吗? A: 目前版本专注于基础功能,TLS支持在开发路线图中
Q: 消息历史能保存多少条? A: 为保证性能,应用保留最近100条消息,可随时清空
Q: 配置文件在哪里? A: 自动保存在系统配置目录,支持跨平台,详见上方配置文件说明
Q: 如何报告问题或建议功能? A: 请在 GitHub Issues 提交
- 简单易用: 无需复杂配置,下载即用
- 跨平台: Windows、macOS、Linux原生支持
- 现代界面: 清晰的标签式界面设计
- 功能完整: 支持基础消息传递和JetStream高级功能
- 智能历史: 自动保存使用历史,提高工作效率
- 开源免费: MIT协议,完全开源
如果您想自己编译应用:
- Go 1.21 或更高版本
- Git
# 克隆项目
git clone https://github.com/gogap/nats-app.git
cd nats-app
# 安装依赖
go mod tidy
# 编译当前平台
make build
# 运行 (macOS 会生成 .app 包,Windows 生成 .exe,Linux 生成可执行文件)
# macOS: open nats-client.app
# Windows/Linux: ./nats-client
# Windows (生成 .exe 文件)
fyne package --os windows --name nats-client-windows
# macOS (生成 .app 应用包)
fyne package --os darwin --name nats-client-darwin
# Linux (生成可执行文件)
fyne package --os linux --name nats-client-linux
# 带版本信息的编译
fyne package --os darwin --name nats-client --app-version 1.0.0 --app-build 1
make build # 编译当前平台
make build-release # 编译发布版本
make clean # 清理编译文件
注意: 使用
fyne package
命令可以确保生成的应用程序包含所有必要的资源文件和依赖,在目标平台上可以直接运行,无需安装Go环境。
本项目采用 MIT 许可证 - 详见 LICENSE 文件
如果觉得有用,请给个 ⭐ Star 支持一下!