Repository navigation
Releases: wuyan19/serial-studio
Releases · wuyan19/serial-studio
Release list
Serial Studio v0.14.0
🔐 SSH 设备支持(本版重点)
像打开串口一样打开远程设备的 shell:PORTS 面板新增 SSH 设备卡,双击即连,终端与串口同框使用。
- 设备/端点/实例三层模型:设备 = 连接身份(host、认证、生命周期);端点 = 连上之后打开什么(v1 为 shell);实例 = 运行时终端会话(
shell、shell@2…最小空闲编号复用)。右键设备卡「新建终端」可开多条独立 PTY,互不串流。 - 三种认证:密码(可记住,失败弹窗重输闭环)、私钥文件(
~展开)、SSH Agent(Windows 走 Pageant,其余走SSH_AUTH_SOCK,逐身份尝试)。 - TOFU 主机指纹确认:首连弹出指纹(算法 + SHA256)供确认后才信任;指纹变更时红色警告对话框展示新旧对比,由你决断是否继续。
- 断线即断开态:网络断连映射为 USB 拔插模型——终端转断开、占有权保留、重连即恢复。
- 设备管理页纯管理(增删改、测试连接),连接动作归 PORTS 面板;支持设备昵称与端点别名(侧栏铅笔)。
🤖 MCP 与脚本寻址
serial_list切扁平单行格式:key · 端点别名 · 设备 昵称 · 寻址 提示 · 状态 · N 人;SSH 行标签「端点别名」与设备昵称撞词时服务端告警留痕。serial_status对 SSH 端点显示 设备/认证/端点/持有者(不再显示无意义的串口参数)。- 脚本可操作 SSH 终端:
send/expect直接寻址switch-dev::shell(昵称/别名均可)。
⌨️ 快捷键与导出体验
- 快捷键支持清除:改键对话框录制中按
Backspace解绑(Esc取消);右上角 ⓘ 速查浮层说明全部手势。 - 宏/脚本单项导出文件名带名称与类型:
名称.macro.json/名称.script.json;多选/全选保持默认集合名。
⚠️ 安全说明(请阅读)
- SSH 凭据(密码/密钥路径)明文保存于本机 server 侧配置目录(
ssh_hosts.json);headless Linux 无系统 keyring 是不做加密的决策依据,升级 keychain 是后续课题。 - ss-server WS 默认无认证:能连上服务的人可用已保存的凭据打开 shell——与现有串口面暴露程度一致,公网暴露服务前请自备访问控制。
Serial Studio v0.13.1
🔌 开发板接入(本版重点)
不跑完整 Serial Studio 也能把开发板串口接进来:ss-board-bridge 单文件 C 实现(纯 libc、静态约 65KB)跑在板上,PC 端 UI 注册设备地址后,端口即以 昵称::端口名 出现在 Web UI / 脚本 / MCP 工具——AI agent 经 MCP 直达板子串口。
- Release 附带四个架构的预编译静态二进制(x86_64 / aarch64 / armv7 / riscv64)及 sha256 清单,scp 到板子即可,零编译;mips/mipsel 可一条 musl-gcc 命令从源码编译。
- 设备端协议已文档化为公开契约(
docs/device-protocol.md),任何语言可实现;examples/ss-board-bridge.c为官方参考实现。
ℹ️ 说明
- 应用本体无功能变化(版本号仅为发布上述资产而递增),桌面用户无需急着升级。
Serial Studio v0.13.0
✨ 新功能
- 脚本文件写入:脚本新增
write_file(path, content)(截断覆盖)与append_file(path, content)(追加)两个宿主机文件函数,父目录自动创建,与既有只读函数同一套错误语义。采集数据落盘、生成报告等场景不再需要把数据塞进 log。 - 脚本日志自动落盘:设置页新增「脚本日志 log 输出自动落盘」开关(默认关闭,改动即时生效无需重启)。开启后每次脚本运行的 log 输出追加写入配置目录
script-logs\下的日志文件(文件名含时间/端口/脚本名,每条带毫秒级时间戳),设置页提供「打开目录」按钮直达。经 MCP 运行脚本时,响应末尾会给出本次日志文件完整路径——超出响应上限被截断的日志可用read_file从该文件读回全量。 - 终端输入自动回底:串口终端向上滚动查看历史后,敲击键盘或粘贴会立即滚回底部跟随最新输出(单独按 Ctrl/Shift 等修饰键仍不触发跳转),不再需要手动滚回。
🔧 改进
settings.json改为原子写入,杜绝并发读取时读到写一半的配置导致设置静默失效。
🐛 修复
- 远端端口在线人数显示错误:桌面版远程连接到另一台机器并打开其已被多个客户端占用的端口时,人数错误显示为 1(实际应为真实占用数)。现以端口所在机器上报的权威值为准,Web 远程不受影响。
Serial Studio v0.12.0
✨ 新功能
- MCP 按名执行脚本库脚本:
serial_run_script按name执行脚本库(scripts.json)中已保存的脚本;配套新增serial_get_script(取脚本完整定义,serial_list_scripts只回元数据)。脚本调通后落库复用,不必每次传全文。 - 脚本日志随响应返回:脚本内
log()的调试日志随serial_debug_script/serial_run_script响应一起返回,AI 无实时推送通道也能排障。 - 脚本读宿主机文件:脚本内新增
file_stat/file_md5/read_file/read_b64_chunk四个只读文件函数(只读、单文件上限 64MiB);脚本参数新增file类型(UI 采集带文件选择按钮)。配合分块 base64 + md5 校验,可经串口向无网络设备传输小文件。 - 远程设备「设备详情」:设备列表右键菜单新增详情弹窗;同时移除 Tauri WebView 默认右键菜单。
🔧 改进
serial_send响应直返:设timeout_ms时不再包「Sent N bytes. Response:」外壳,直接返回设备输出;响应收尾静默期 40ms → 250ms,交互式 CLI「立即回显→执行停顿→输出」的两段式响应不再被截断。- MCP 全部工具与参数描述修订:修正不精确表述、消除跨工具重复说明、统一标点。
⚠️ MCP 工具改名
- 原
serial_run_script(临时执行一段 JS)改名为serial_debug_script,serial_run_script转为按名执行脚本库脚本。AI 客户端经 tools/list 会自动看到新工具集,硬编码旧工具名的自动化或提示词需同步更新。
Serial Studio v0.11.3
✨ 新功能
- Telnet 编号选口菜单:连上 telnet 后不再需要输入端口名,直接显示编号菜单(
Open Port List),输入编号即可选口;条目使用友好名(设备昵称 > uuid、端口别名 > 真实名)。仍支持按名称输入(裸名 / 别名 /昵称::端口),方便脚本与熟练用户;连续 3 次无效输入才断开。 昵称::别名寻址:test::GPS这类"设备昵称 + 端口别名"的写法现在可以直达端口(在该设备上唯一命中时自动解析为真实端口)。WS / MCP / 脚本 / telnet 各接入方同时受益。
🔧 改进
- Telnet 线上提示全部改为 ASCII 英文并精简,避免部分终端客户端中文乱码。
- Telnet 输入的行尾统一归一为单个回车(CR),适配串口控制台惯例。
🐛 修复
- Telnet 连接后立即退出、无任何提示:服务端写完提示消息立即关闭连接会触发 RST,真实 telnet 客户端已收到的消息被丢弃。现在以 FIN 收尾并排空在途协商字节,消息可靠送达。
- 每条命令多发一个回车:telnet 客户端回车发送
\r\n,设备把\n当作第二条空命令(每条命令多出一个提示符)。现在只发送单个\r。 - 别名可能遮蔽远端真实端口:别名设置后新插入的同名真实端口会被别名"劫持"寻址。现在真实端口名恒优先于别名。
- 菜单陈旧时(选择瞬间端口被关闭/设备断开)不再挂起无响应会话,改为明确提示后断开。
- 脚本 pipelining 输入(如一次发送
COM7\r\nAT\r\n)不再被误判为无效选口,剩余数据正确转发到串口。
Serial Studio v0.11.2
🔧 改进
- 快捷键设置分组化:改键对话框按 面板与搜索 / 端口与设备 / 标签页 / 显示与外观 / 应用 五组卡片两列展示,替代原来的单一长列表——一屏可查全部快捷键,不用来回滚动
- 宏 / 脚本面板标题的端口名友好显示:标题里的目标端口从内部键(如
uuid::COM5)改为「设备昵称::端口别名」(如test::GPS),与通道条、标签页、端口列表同源;悬停仍可看真实地址与端口名 - 分组组头菜单收进右键:端口 / 宏 / 脚本分组标题行上的 ⋯ 按钮移除,组操作(重命名、解散;设备卡的断开 / 重连 / 删除)统一为右键组头弹出,与终端区右键菜单同交互模式;键盘可用 Menu 键 / Shift+F10
Serial Studio v0.11.1
✨ 新功能
- 远程设备改名:侧栏设备卡右键 →「重命名设备」,给设备起个好认的昵称(如
GPS、实验台-1),组标题不再只显示 host:port(悬停仍可看地址)。改名原地生效、连接不断开,昵称::COM5寻址即时可用;重连、身份学习后昵称不丢失。昵称规则前后端双重校验(禁::分隔符、禁保留字local、跨设备查重)
🔧 改进
- 设备卡组头与宏/脚本面板视觉统一:断开/重连/删除收进右键菜单,折叠箭头带旋转动画
- 设备在线状态点三态显示:绿=在线、灰=连接中、红=离线(此前「连接中」误显示为红色)
🐛 修复
- 自动更新双清单策略:下载地址随清单走——直连用户固定走 GitHub 直连,镜像清单独立供给代理用户;镜像源故障不再影响直连用户的更新检查与下载(v0.11.0 遗留问题,存量用户已热修)
- 手工编辑 remotes.json 出现重复设备 id 时,可能残留一条无法关闭的连接直至重启——已按「后者胜」去重处理
Serial Studio v0.11.0
✨ 新功能
- 终端记录落盘:串口终端底部新增记录条——「开始记录…」选择位置后,收到的数据即实时写入
.log文件(默认文件名自带时间戳与端口/设备标识,如20260826-213045-COM5.log;远程口用设备昵称)。支持 暂停 / 继续 / 更换文件;关闭终端自动收尾保存 - 终端右键菜单:右键终端任意区域弹出 复制 / 粘贴 / 记录条开关。粘贴走系统剪贴板直通,不再弹权限请求窗;"显示/隐藏 记录条"按每个终端独立记忆
- 设备身份统一(段名=实例 id):远程设备的标识从随机占位 uuid 升级为对端实例 id——跨重启、跨机器的端口路径稳定一致,别名与历史记录不再因重装漂移;互注册组网下"绕回幽灵条目"自动识别并斩断
- 多级级联透传:A→B→C 三级组网中,C 的串口在 A 的列表可见、可直接打开(链路深度上限 4)
🔧 改进
- 断链感知逐跳传播:级联链路中任一跳断开(含远端本地串口拔出),下游各跳的对应端口都会标记"已断开",不再静默断流
- 打开远端口时回执携带服务端解析后的真实端口名,别名寻址更稳
- 设备命令回执按请求号精确配对;与新旧版本对端的读写兼容性加固
🐛 修复
- 首次添加远程设备偶发永久悬停"连接中…"
- 若干稳定性修复
⚠️ 升级须知
- 混合版本组网:新版客户端 ↔ 旧版远端 完全兼容;但 旧版 hub ↔ 新版设备 的组合下 open/write 可用而 RX 会断流——升级时请让设备端先于或同时于 hub 升级。
- 记录文件为明文的完整 RX 字节流,请注意含敏感报文日志的存放。
Serial Studio v0.10.4
✨ 新功能
- 脚本运行参数记忆——再次运行同一脚本时,自动预填上次使用的参数值,只需修改要调整的部分,不必每次从默认值重新配置全部参数。
- 每个参数右侧新增 ↺ 按钮,可单独恢复默认值;变淡表示该参数当前就是默认值,一眼即可看出哪些参数被改过。
- 底部「恢复默认」一键还原全部参数。
- 参数值保存在本地浏览器存储中;脚本作者更新了参数默认值或选项后,失效的旧值会自动回落到新默认。
完整变更: v0.10.3...v0.10.4
Serial Studio v0.10.3
✨ 新功能
- 关于对话框新增仓库地址链接——直达 https://github.com/wuyan19/serial-studio ,查看源码、反馈问题、获取新版本更方便。桌面版点击后调起系统浏览器打开,Web 版在新标签页打开。
🐛 修复
- 双击端口行打开串口配置框时,对话框内文字不再被误高亮选中;打开后直接按 Enter 即可确认,无需先点一下「打开」按钮。
- 上述防误选机制不再波及只读内容——关于页(版本号 / MCP 地址 / 仓库链接)、脚本编辑器的 API 速查面板、各类报错信息仍可正常选中复制。
完整变更: v0.10.2...v0.10.3