mp_recoverConnection
Recovers a degraded or expired connection by rebuilding the automator session, remounting log listener, and restoring project context. Use when health check indicates needsRecovery=true.
Instructions
按标准顺序修复一个已存在但降级/失效的连接:重建 automator 会话 → 重挂日志监听 → 恢复项目上下文,并返回恢复前后对比。
何时用:这是升级修复步——只有当 mp_healthCheck 显示 needsRecovery=true 时调它,而不是只看 summary='degraded' 就重连。 何时不用:首次“建立连接”不要用本工具,用 mp_ensureConnection(它才负责自动拉起 IDE);连接全绿但截图失败且 needsRecovery=false 时也不要用,重连无法修复截图通道。与 ensure(reconnect=true) 的区别:本工具跑一套有序修复并报告 before/after,ensure 只是把会话弄就绪。
⚠️ 副作用(launch 模式):重连会退出并重新 launch 小程序(App.exit + 关 IDE 窗口 → cli auto 冷启),页面栈被重置回项目的启动/入口页 —— 当前所在页 / reLaunch 的现场会丢失。所以仅在连接确实降级失效(needsRecovery=true)时用;若只是想保留当前页、连接其实没坏,不要用本工具。connect 模式(配置了 wsEndpoint)只断开重连 WS、不重启小程序,不丢页。
返回 JSON 含 ok / recovered、actions、before/after 状态、health.summary、warnings/errors。recovered=true 只表示连接恢复完成;若历史截图仍失败,health.summary 会保持 degraded 但 needsRecovery=false。recovered=false 说明连接修复未完成——此时不要无限重试,确认开发者工具确实在运行,必要时反馈给用户。
参数:reconnect 默认 true(丢弃旧会话重连);设 false 仅在不想强制重连、只想跑其余修复步骤时用。connection 可选,覆盖默认连接参数。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| reconnect | No | ||
| connection | No | 可选连接覆盖(不传则用默认会话)。可用字段:mode(launch|connect)、cliPath、projectPath、wsEndpoint、timeout、port(【自动化端口】→ cli auto --auto-port,默认 9420;不是 IDE HTTP 服务端口,别把 IDE 服务端口传进来)、account、ticket、trustProject、args、cwd、autoClose、autoLaunch、launchTimeout、connectTimeout。 |