一个基于 Tauri 2 + React + TypeScript + Rust 的桌面通信调试工具。
debug-comm 以可视化工作流的方式组织通信链路,支持串口、TCP 客户端、TCP 服务端、发送窗口和接收窗口等节点。你可以在设计器里拖拽节点、连接数据流,然后在工作台启动任务、发送数据、查看接收日志。
- 可视化工作流设计:基于 React Flow 进行节点拖拽、连接和参数配置。
- 串口通信:支持串口号、波特率、数据位、停止位、校验位、流控和结束符配置。
- TCP 客户端:主动连接远端 TCP 服务,支持收发数据。
- TCP 服务端:监听本地端口,接收客户端连接并广播下行数据。
- 发送数据窗口:支持 UTF-8 和 HEX 输入模式,HEX 模式支持大小写、空格和分隔符。
- 接收数据窗口:以日志列表展示接收数据,支持 UTF-8 / HEX 切换、本地持久化和历史加载。
- 任务运行管理:启动、停止、查询当前运行任务,停止时释放后台任务和 socket 资源。
- 本地持久化:工作流配置、语言设置和接收日志保存在本地应用数据目录。
- 自动更新:从 GitHub Releases 检查、下载并安装新版本。
- 中英文界面:基于 react-intl 的国际化支持。
- 桌面框架:Tauri 2
- 前端:React 19、TypeScript、Vite
- UI:Ant Design、Ant Design Pro Components
- 工作流画布:@xyflow/react
- 状态管理:Zustand
- 后端:Rust、Tokio、serialport
- 本地能力:Tauri Store、Dialog、FS、Opener 插件
- 自动更新:Tauri Updater、Process 插件
自动更新使用 GitHub Releases 中的 latest.json。推送 v* 标签后,GitHub Actions 会构建安装包、生成 updater artifacts 并发布 Release;应用检测到新版本后会下载、安装并重启。
这不需要 Windows/macOS 代码签名证书,但 Tauri updater 必须使用更新包签名密钥来校验下载内容。首次启用前需要在仓库 Settings -> Secrets and variables -> Actions 中添加:
TAURI_SIGNING_PRIVATE_KEY:C:\Users\lipeng\.tauri\debug-comm.key的完整内容。TAURI_SIGNING_PRIVATE_KEY_PASSWORD:签名私钥密码;填写生成私钥时设置的密码。
当前应用内置的 updater 公钥位于 src-tauri/tauri.conf.json,Release 端点为:
https://github.com/laolaolulu/debug-comm/releases/latest/download/latest.json
- 打开应用后进入工作台或设计器。
- 在设计器中创建通信工作流:
- 添加发送数据窗口。
- 添加串口 / TCP 客户端 / TCP 服务端节点。
- 添加接收数据窗口。
- 按数据流方向连接节点。
- 配置每个通信节点的参数。
- 保存工作流。
- 回到工作台,点击启动。
- 在发送窗口输入 UTF-8 或 HEX 数据并发送。
- 在接收窗口查看接收日志。
- 点击停止释放任务、串口和 socket 资源。
| 节点 | 说明 |
|---|---|
| 发送数据窗口 | 人工输入数据,并向下游通信节点发送 |
| 接收数据窗口 | 展示相邻通信节点返回的数据,并持久化为本地日志 |
| 串口通信 | 打开串口,接收下行数据写入串口,并将串口返回数据发布出去 |
| TCP 客户端 | 主动连接远端 TCP 服务,支持读写 |
| TCP 服务端 | 监听本地端口,接收客户端数据并支持广播写回 |
.
├── src/ # React 前端
│ ├── pages/ # 工作台、设计器和布局页面
│ ├── models/ # Zustand 状态管理
│ ├── locales/ # 国际化文案
│ └── appStore.ts # Tauri Store 封装
├── src-tauri/ # Tauri / Rust 后端
│ ├── src/
│ │ ├── step/ # 工作流和各通信步骤实现
│ │ ├── receive_log.rs # 接收日志持久化
│ │ └── lib.rs # Tauri 命令入口
│ ├── capabilities/ # Tauri 权限配置
│ └── tauri.conf.json # Tauri 应用配置
├── public/ # 静态资源
├── scripts/ # 工具脚本
└── package.json
- [√] 基础通信:TCP、串口
- [×] JavaScript 脚本 通信报文模拟
- [×] Lua 脚本 通信报文模拟
- [×] 通信报文模拟 脚本编写
AI能力 'Pro' - [×] Modbus 通信调试
- [×] MQTT 协议调试
- [×] 虚拟串口
Pro - [×] 串口监控,不占用当前串口
- [×] 任务配置文件云端同步功能,换个环境一键同步
Pro - [×] C# (.NET 8) Runtime 开发
本项目基于 MIT License 开源。