Skip to content

v0.5.21

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Oct 01:36

这一版把终端里的命令行编辑补全了,修掉两个会让人「以为清干净了」的问题,虚拟串口也能正常列出了。

✨ 新增

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)。