一款基于 Tauri 2 + Rust 的轻量级串口调试桌面工具,VS Code Serial Monitor 风格界面。
- 多串口同时连接 — 同窗口分栏显示,每个分栏独立操作互不干扰
- 完整串口配置 — 波特率(支持自定义输入)、数据位、停止位、校验位
- DTR / RTS 实时切换 — 一键切换高低电平,适配不同硬件复位需求
- 发送历史记录 — 每栏独立保存最近 50 条发送记录,支持上下键快速回填
- 快速指令 — 自定义常用命令一键发送
- ANSI 颜色解析 — 自动解析转义序列,以对应颜色显示
- 终端模式 — 输出区模拟终端交互
- 自动重连 — 串口断开后自动尝试重新连接
- 原生日志导出 — 通过系统文件对话框选择日志保存路径
- 日志隐形缓存 — 每次打开串口后如有收发内容,自动缓存本次会话日志,最多保留 10 个文件、新建时自动淘汰最旧的
- 12 种主题 — 6 种风格(默认、浮世绘彩、诗意东方、水墨丹青、桃之夭夭、金风玉露)×ばつ 深浅色
- WSL 端口映射 — 通过 usbipd-win 将 USB 串口映射到 WSL 环境
- WSL 串口监控 — 在 WSL 内直接调试串口设备
- USB 设备插拔检测 — 设备插拔自动刷新列表
- 首次使用引导 — 9 步聚光灯引导,快速上手
- 自动更新 — 启动时检测 GitHub 最新版本
| 依赖 | 说明 |
|---|---|
| Rust | https://rustup.rs/ |
| Node.js 18+ | https://nodejs.org/ |
| Visual Studio Build Tools 2022 | 需勾选 "C++ 桌面开发" |
| WebView2 | Windows 10/11 通常已预装 |
# 克隆仓库 git clone git@github.com:SeaHi-Mo/Seahi-Serial.git cd SeaHi-Serial # 安装依赖 npm install # 开发模式(热重载) npm run dev # 构建发布版 .exe npm run build
构建产物位于 src-tauri/target/release/seahi-serial.exe
serial-debugger-tauri/
├── src/
│ └── index.html # 前端(单文件,~4400 行)
├── src-tauri/
│ ├── Cargo.toml # Rust 依赖
│ ├── tauri.conf.json # Tauri 应用配置
│ ├── capabilities/
│ │ └── default.json # ACL 权限配置
│ ├── wsl-daemon/ # WSL bridge 脚本(base64 编码)
│ └── src/
│ └── main.rs # Rust 后端(~1745 行)
├── skills/
│ └── seahi-serial-dev/
│ └── SKILL.md # AI 开发技能指南
├── doc/ # 项目文档
├── installer.iss # Inno Setup 安装脚本
└── TEST_CASES.md # 测试用例
- 前端:原生 HTML/CSS/JavaScript(无框架,单文件)
- 后端:Rust +
serialport 3.3+winapi 0.3+windows-sys 0.59 - 桌面框架:Tauri 2
- 原生对话框:
rfd 0.15 - WSL 桥接:Python bridge 脚本 +
usbipd-win
项目已配置 GitHub Actions 自动构建,推送版本 tag 后自动编译并创建 GitHub Release。
工作流文件位于 .github/workflows/build.yml,包含以下功能:
- 触发方式:推送
v*格式的 tag 时自动触发,也支持手动触发 - 运行环境:
windows-latest - 缓存优化:Rust 编译缓存,加速后续构建
- 自动发布:构建完成后直接发布正式 Release(latest),附带 MSI 与 exe 安装包
- 版本校验:构建前先校验 tag 与 5 处版本号一致(不一致即失败,防止发出"版本号对不上"的包)
# 1. 修改版本号(5 处必须一致,CI 会校验) # - src-tauri/Cargo.toml 中的 version # - src-tauri/tauri.conf.json 中的 version # - installer.iss 中的 MyAppVersion # - package.json 中的 version # - src-tauri/Cargo.lock 中 seahi-serial 条目的 version # 2. 提交并推送代码 git add -A git commit -m "v0.x.x: 更新说明" git push origin main # 3. 创建并推送版本 tag git tag v0.x.x git push origin v0.x.x # 4. GitHub Actions 自动开始构建,完成后**直接发布为正式 Release(latest)** # 无需手动操作(releaseDraft/prerelease/draft 均为 false)
进入 GitHub 仓库 → Actions → Build Release → Run workflow,无需创建 tag 即可手动触发构建。
界面分为以下区域:
| 区域 | 说明 |
|---|---|
| 全局操作栏 | 最顶部,包含「打开额外监视器」「WSL 端口映射」、主题风格选择、提交 issue 和深浅色切换 |
| 工具栏 | 串口配置区:查看模式、端口选择、波特率、行尾、开始/停止监控,以及图标按钮组 |
| 输出区 | 中间大面积区域,显示接收到的串口数据 |
| 发送栏 | 底部输入框,支持文本/HEX 模式、发送历史、快速指令 |
- 插入串口设备(如 USB 转串口线)
- 点击工具栏的 端口 下拉框,选择目标端口
- 根据设备需求配置波特率(默认 115200)
- 点击 ▶ 开始监控 按钮
连接成功后,输出区会实时显示设备发来的数据。可切换查看模式(文本/HEX)、显示行号、时间戳。
在底部输入框输入内容,按 Enter 或点击发送按钮。支持文本和 HEX 两种发送模式。
点击齿轮按钮展开高级设置:数据位、停止位、校验位、DTR/RTS 控制、日志保存。
点击 + 打开额外监视器 可添加新分栏,每个分栏独立配置、独立连接。
点击发送栏右侧的快捷指令按钮,配置常用指令一键发送。
点击终端模式按钮,输出区变为可编辑状态,直接打字发送。
点击 WSL 端口映射 将 USB 串口映射到 WSL 环境,支持自动映射和手动映射。
支持 6 种风格 ×ばつ 深浅色 = 12 种主题,点击全局栏的主题风格下拉和深浅色开关切换。
每次打开串口,只要产生收发内容,程序都会自动把本次会话的日志缓存到磁盘(无需手动保存),一个会话对应一个缓存文件。
- 缓存位置:
%APPDATA%\seahi-serial\log-cache(即C:\Users\<用户名>\AppData\Roaming\seahi-serial\log-cache) - 文件命名:
session-<时间戳>-<端口>.log - 保留数量:最多 10 个文件,超出后新建文件时自动删除最旧的,始终保留最近 10 个
- 触发时机:打开串口后有收发数据时才生成文件;整个会话无任何收发内容则不产生文件
- 内容范围:缓存的是接收与发送的日志内容(不含系统提示/错误提示等界面消息)
在资源管理器地址栏粘贴上述路径即可查看缓存文件。
| 按键 | 功能 |
|---|---|
Enter |
发送输入框内容 |
↑ / ↓ |
浏览发送历史 |
Escape |
关闭历史下拉列表 |
MIT