8.5 KiB
8.5 KiB
RemoteConn MiniProgram(稳定基线 v3.0.1)
状态:已对齐核心功能,当前稳定基线为 v3.0.1
目标版本:v3.0.1
本次 v3.0.1 主要收口小程序使用手册与主题口径:使用手册补成图文版,正文前置“为什么需要这个APP?”,并接入 guide-mobile-* 配图;主题预设补齐到与 Web 一致的 21 套,主题名称支持随语言切换且尽量压短为单词短名。当前版本不引入新的同步协议、终端协议或配置字段,继续沿用 v3.0.0 已明确的能力边界。
1. 当前已完成范围
- 页面骨架:
connect、server settings、terminal、logs、records、settings、plugins。 - 数据基础层:服务器/设置/闪念以“本地 storage + Gateway 同步”双层持久化,日志与插件运行记录仍保留本地存储;已补齐
updatedAt / category / contextLabel / processed / discarded。 - 传输:
wx.connectSocket网关连接、心跳、收发、断开。 - 分页:日志与闪念均为 15 条/页。
- 语音区:Frame2256 交互 +
/ws/asr实时采集上行 + 结果回填,支持分类选择、未连接可记录闪念、写入服务器名称-项目名快照。 - 闪念页:搜索、分类过滤、左滑废弃 / 已处理 / 复制 / 删除、正文编辑、分类快速改写、导出。
- 配置页:
记录 -> 闪念分类管理,支持新增、设默认、删除、按住拖动排序。 - 服务器:配置页支持自定义标签(逗号分隔),服务器卡片底部展示项目标签与自定义标签,并支持左滑复制 / 删除单台服务器。
- 插件:运行时启停/重载/移除、JSON 导入导出、命令执行、运行日志。
- 资源:图标路径统一版本 query(
v=2026022701)。 - 终端:已按 xterm 风格完成 cell 光标模型重构,补齐真实
cols/rows、宽字符 continuation、自绘 caret、固定列宽渲染与双 probe 宽度测量,当前中文/英文混排输入已稳定。 - 会话续接:终端页返回其他页面后默认保活
15分钟,可在设置页调到1~60分钟;回到同一服务器会优先复用原会话并恢复尾部缓冲。首次恢复优先使用保存时的lines + bufferCols / bufferRows还原当前屏幕,仅在后续真实几何变化时再使用replayText重建,避免顶部空白与裸露5;2H一类控制串回归。 - 连接反馈:服务器列表“连接”按钮与底栏
shell按钮在活动连接态统一切到高饱和实底高亮,便于快速识别当前连接状态。 - 跳转主机:服务器配置页已支持跳板机主机、端口、用户名、认证方式与独立凭据;目录选择与终端连接链路均可透传第一跳/第二跳配置。
- AI 快速启动:服务器列表
AI按钮和终端左上角 AI 按钮都会按“全局配置 -> 连接 -> AI连接”的默认 AI 直接启动;终端页支持 Codex 目录预检、二进制预检与连接后自动启动。当前同一条终端会话内新增了 AI 前台互斥保护,AI 运行期间重复点击会直接提示而不再把启动命令写进前台 TUI;当 Codex / Copilot 正常退出回到 shell 后,保护会自动解除。 - 终端语音与主题视觉已继续收口:展开语音区按钮默认全透明、分类胶囊改为贴文字高度、录音中输入框上方新增脉冲提示;终端顶栏与语音区按钮继续按 UI / Shell 双域规则渲染。
2. 当前说明
- 机读对齐清单已更新为
done,见apps/miniprogram/parity.v2.6.0.json。 - 小程序终端 VT 能力已进入 P0 基线:双缓冲、备用屏幕切换、
DSR / CPR / DA1 / DA2 / DECSTR、基础局部重绘和移动端常用原始按键编码已接入。 - normal buffer 的 live tail 与最大滚动值已统一到同一口径,回到底部后不会再继续把当前命令行往上推。
- 当前仍建议通过微信开发者工具和真机做交互验收,尤其是服务器卡片左滑复制 / 删除、闪念左滑废弃 / 已处理 / 复制 / 删除、分类切换、语音记录链路,以及
top / less / vim一类终端程序的抽样验证。 - 终端字号修改后仍存在偶发“吃字/显示不完整”遗留问题,当前版本在设置页增加了“修改字号后建议断开重连”的提示,作为临时规避方案。
- 当前业务数据采用“双层持久化”:
服务器配置、用户设置与闪念记录会先写入小程序本地 storage,并在同步配置完整时通过 Gateway + SQLite 同步到服务端;
日志、插件运行记录与终端会话缓冲仍仅保留在本地。
通过
npm run mini生成的 preview 预览二维码,不作为正式版跨设备同步与本地缓存连续性的验证依据。 - Gateway 的同步 SQLite 目前启用
WAL模式:data/remoteconn-sync.db-wal是写前日志,文件体积不直接等于当前有效同步数据量; 需要结合 checkpoint 后的主库体积、user_settings / user_servers / user_records行数与字段大小一起判断。 - 当前版本最重要的交互修复是:小程序终端在
Codex持续输出期间,底部提示块缺行、状态行被裁掉与区域反复闪动的问题已收口;normal buffer viewport 会保留光标行之后仍真实存在的 footer,CSI ? 2026 h/l同步刷新窗口也已做兼容。 - 同一轮交互修复还收口了高亮块透底细线问题:像
> Use /skills to list available skills和代码块这类整行统一背景区域,背景优先提升到 line 层绘制,不再在行与行之间露出底色细缝,也没有新增渲染节点。 - 此前点击 Codex 连接选项后的首回显迟滞与等待期间按钮阻塞问题已收敛,当前版本不再将其作为已知遗留问题保留。
- 当前另记录一个低频连接时序遗留问题:偶发新连接后首屏只显示光标、提示符稍后才出现;初步定位为
connected状态与光标可见时机早于首个可见stdout / prompt,后续再继续优化。 - 会话续接恢复口径已明确:首次回到终端页时,以挂起前屏幕快照和当时终端几何作为权威来源;被裁剪过的
replayText不再参与首次恢复,避免历史区顶部空白和定位参数残片再次出现。 - 时延诊断浮窗已收口成单张双轴平滑曲线图:左轴显示网关响应,右轴显示网络时延;顶部只保留两张摘要卡,面板配色跟随终端主题反相推导,深色终端会自动切到更深的蓝橙曲线与指标色;同一服务器断开重连后会尽量延续最近
30个采样点。 - 当前小程序终端语音播报仍属于待优化能力:播报文本提取与轮次稳定判定还不够准确,长时间
Codex交互时也会放大小程序端响应压力;现阶段暂不建议默认使用,先作为遗留问题保留。 - 当前另记录一个 AI 交互期输入遗留问题:在
Codex等 AI 持续输出期间,点击 shell 激活区弹出软键盘后,输入框/激活区仍可能发生跳跃,导致无法稳定连续输入;该问题尚未完成稳定修复,先按已知遗留问题登记。
3. 对齐清单
机读清单:apps/miniprogram/parity.v2.6.0.json
4. 实施依据
docs/records-enhancement-plan-2026-03-06.mddocs/miniprogram-config-implementation-plan-2026-02-28.mddocs/xterm-cursor-algorithm-2026-03-07.mddocs/miniprogram-terminal-cursor-gap-analysis-2026-03-07.mddocs/ssh-jump-encryption-diagram-2026-03-07.mddocs/miniprogram-terminal-vt-guardrails-2026-03-08.mddocs/miniprogram-terminal-vt-implementation-plan-2026-03-08.mddocs/miniprogram-codex-footer-flicker-optimization-plan-2026-03-11.md
5. 本地调试
- 使用微信开发者工具打开
apps/miniprogram目录。 - 如需连通网关,在
apps/miniprogram/.env中配置运维配置:至少包含GATEWAY_URL和GATEWAY_TOKEN(可参考apps/miniprogram/.env.example,该配置不对最终用户展示)。 - 回到“服务器”页创建服务器并进入终端测试连通性。
6. 命令行预览
在仓库根目录可直接使用以下脚本:
npm run mini在终端输出小程序预览二维码;若终端二维码首次渲染失败,会自动在 shell 中重画一次。
说明:
- 该命令会先读取
apps/miniprogram/.env,并生成apps/miniprogram/utils/opsEnv.js供小程序运行时使用。 - 默认使用仓库根目录私钥:
./private.wxa0e7e5a27599cf6c.key。 - 执行前,需要在微信公众平台完成上传密钥下载和 IP 白名单配置。