Repository navigation
这一版把终端里的命令行编辑补全了,修掉两个会让人「以为清干净了」的问题,虚拟串口也能正常列出了。
✨ 新增
1. 终端模式:命令行可以像 shell 一样编辑
- 行缓冲模式下:← → 移动光标,↑ ↓ 翻本机命令历史,Backspace / Delete / Home / End 都在本地生效,
回车才把整行发出去。 - 方向键(含 Ctrl / Shift 组合)不再作为 ESC 序列发给设备——AT 模组收到 ESC 只会吐垃圾。
- 直发模式(WSL 分栏默认)完全不变:按键原样发、不拦截、不追加行尾。
2. 虚拟串口也能列出来了
- 端口枚举改为以注册表
HARDWARE\DEVICEMAP\SERIALCOMM为端口全集,SetupAPI 只用来补显示名。
ELTIMA、com0com 这类不属于「端口」设备类的虚拟串口,此前在列表里根本不出现,现在可以正常选择。
3. 窗口更窄也能用
- 主窗口最小宽度 1047 → 838;新增分栏的自动宽度 524 → 419。
- 工具栏里的端口下拉在 80–189px 之间弹性收缩:窗口变窄时先压它,保住一行;压到下限仍放不下才换行。
名字太长时保留尾部串口号(… (COM17)不会被截掉)。
🐞 修复
4. 「清除内容」现在会真正清掉磁盘上的会话缓存(issue #22)
- 以前只清界面:
%APPDATA%\seahi-serial\log-cache\session-*.log里仍是完整输出,
用户以为敏感日志已经清掉了。现在清屏会同时截断该分栏的缓存文件,并复位写入预算。 - 按钮说明已写明「同时清空磁盘会话缓存」;通过 MCP 的
serial_clear调用也是同样的行为。
5. 端口枚举的两个隐患
- 注册表里存在非 ASCII 端口名时,按字节切前缀会 panic(这是启动 / 刷新端口的必经路径)——已修复。
- 某个值超长时枚举会提前中断,导致它后面的端口静默消失——现在跳过这一条继续枚举。
6. AI 看到的控件名不再是一整句话
- 控件注册表改为优先读
aria-label(title只当悬停说明)。此前终端模式把title改成整句,
AI 在ui_list里看到的按钮名会变成一整句话,而且随开关来回变。
7. WSL 面板的工具栏也会自适应
- 之前只有串口分栏会压窄端口框,WSL 面板不会——窗口一窄就溢出。
🔌 MCP(AI 控制接口)
serial_set_display新增lineBuf参数,serial_get_state会上报它;终端模式关着时该参数报skipped而不是失败。- 28 条工具描述重写(何时用 → 作用与边界 → 别拿它当谁),总字数 -33%:AI 选工具更准,
tools/list也更小。 - 补上两处实测坑:
ble_refresh_rssi没连设备会直接失败、ble_start_scan不接受时长参数。
🧪 内部
- 后端单测 288 条、前端无头断言 1991 条、安装器自测 94 条全绿。
- 新增
clear_log_cache命令;截断用独立写句柄(append 句柄在 Windows 上没有截断权限)。
⚠️ 安装说明(未签名)
本项目为个人开发,安装包暂未做代码签名,Windows SmartScreen 可能提示「未知发布者」——
这是未签名程序的正常提示,不等于病毒。请只从 GitHub Release 下载,并按
代码签名与安装说明 核对 SHA-256 后再运行。
Release 会附带 SHA256SUMS.txt 与 cosign keyless 签名(SHA256SUMS.txt.sigstore.json):
先用 cosign 验签,再核对安装包 SHA-256(命令见说明文档 §4.1)。