Skip to content

v2.18.1

Choose a tag to compare

@DearTang DearTang released this 19 Oct 05:33
· 13 commits to main since this release

MyShell v2.18.1

MCP 稳定性修复:修复所有工具 30 秒超时的根因,锁定保险库时改为调用内等待解锁。

🐛 修复

  • 修复 MCP 全部工具 30 秒超时:GUI 运行中其 IPC 发现文件(gui-ipc-port)被陈旧清理竞态误删后,GUI 永久失联——此后每次工具调用都尝试启动第二个实例、被单实例守卫拦截、等待 30 秒后超时。三层修复:GUI 端口文件看门狗(每 5 秒自愈重发布);MCP 启动前探测 myshell.exe 进程存活,不再盲目启动第二实例(返回可操作的 NoPortFile 错误);单实例弹窗 TaskDialogIndirect 失败(部分机器恒 E_INVALIDARG)时回退 MessageBoxW,不再静默退出

🛠️ 优化

  • 保险库锁定时 MCP 工具改为调用内等待解锁(最长 20 秒):窗口自动置顶后若在 20 秒内输入主密码,本次调用直接继续执行——不再需要人工告知"已解锁"后重试;等待上限刻意低于客户端约 30 秒请求预算,超时仍返回结构化 vault_locked 错误。等待期间 GUI 崩溃时正确报告 ipc_unresponsive 而非误导性的"未解锁"
  • GUI 存活但端口文件缺失时,等待看门狗自愈(约 7 秒)后自动复用现有实例;GUI 自动启动轮询从 30 秒缩短到 20 秒,避免撞上客户端请求预算后变成不透明的传输超时