一个基于 Tauri 2 + React + TypeScript + Rust 的桌面通信调试工具。
debug-comm 以可视化工作流的方式组织通信链路,支持串口、TCP 客户端、TCP 服务端、发送窗口和接收窗口等节点。你可以在设计器里拖拽节点、连接数据流,然后在工作台启动任务、发送数据、查看接收日志。
- 可视化工作流设计:基于 React Flow 进行节点拖拽、连接和参数配置。
- 串口通信:支持串口号、波特率、数据位、停止位、校验位、流控和结束符配置。
- TCP 客户端:主动连接远端 TCP 服务,支持收发数据。
- TCP 服务端:监听本地端口,接收客户端连接并广播下行数据。
- 发送数据窗口:支持 UTF-8 和 HEX 输入模式,HEX 模式支持大小写、空格和分隔符。
- 接收数据窗口:以日志列表展示接收数据,支持 UTF-8 / HEX 切换、本地持久化和历史加载。
- 任务运行管理:启动、停止、查询当前运行任务,停止时释放后台任务和 socket 资源。
- 本地持久化:工作流配置、语言设置和接收日志保存在本地应用数据目录。
- 中英文界面:基于 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 插件
请先安装:
- Node.js
- pnpm
- Rust stable
- Tauri 2 所需系统依赖
Windows 环境通常还需要安装 Microsoft C++ Build Tools 和 WebView2 Runtime。
pnpm installpnpm tauri devpnpm buildcd src-tauri
cargo testpnpm tauri build当前 Tauri 配置默认打包 Windows MSI 安装包。
- 打开应用后进入工作台或设计器。
- 在设计器中创建通信工作流:
- 添加发送数据窗口。
- 添加串口 / TCP 客户端 / TCP 服务端节点。
- 添加接收数据窗口。
- 按数据流方向连接节点。
- 配置每个通信节点的参数。
- 保存工作流。
- 回到工作台,点击启动。
- 在发送窗口输入 UTF-8 或 HEX 数据并发送。
- 在接收窗口查看接收日志。
- 点击停止释放任务、串口和 socket 资源。
| 节点 | 说明 |
|---|---|
| 发送数据窗口 | 人工输入数据,并向下游通信节点发送 |
| 接收数据窗口 | 展示相邻通信节点返回的数据,并持久化为本地日志 |
| 串口通信 | 打开串口,接收下行数据写入串口,并将串口返回数据发布出去 |
| TCP 客户端 | 主动连接远端 TCP 服务,支持读写 |
| TCP 服务端 | 监听本地端口,接收客户端数据并支持广播写回 |
发送窗口切换到 HEX 模式后,只允许输入:
0-9a-fA-F- 空白字符
- 常用分隔符:
, ; : - _
以下格式都可以被解析:
a1b2C3
A1 B2 C3
A2-C1
A1,B2:C3
发送前会移除分隔符并按两个字符解析为一个字节。
接收窗口会把收到的数据写入本地日志文件:
- 默认加载最近 100 条。
- 最新日志显示在底部。
- 向上滚动可以加载更早日志。
- 清空按钮会同时清空界面和本地持久化日志。
- 日志按任务 ID 和接收节点 ID 分文件保存。
.
├── 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
# 启动前端 Vite
pnpm dev
# 启动 Tauri 开发模式
pnpm tauri dev
# 构建前端
pnpm build
# 预览前端构建产物
pnpm preview
# 提取国际化文案
pnpm i18n:extract
# 运行 Rust 测试
cd src-tauri && cargo test项目已配置 GitHub Actions 自动发布。推送 v* 格式的 tag 后,会自动构建并发布 GitHub Release:
- Windows x64:
msi - macOS x64:
dmg - Linux x64:
deb
git tag v0.1.0
git push origin v0.1.0- 前端发送数据通过
publish_step_message命令进入后端工作流。 - 后端步骤之间通过工作流内部广播通道传递
Up/Down消息。 - 接收窗口监听相邻通信节点的数据并生成
ReceiveLogRecord。 - 停止任务时会显式关闭步骤,释放后台任务、串口和 socket 资源。
本项目基于 MIT License 开源。