open_kimi_web_embedded 加 launch_lock 串行化并发调用,拿锁后重查单例; oneshot 在锁内等待主线程建窗完成,封死命令返回后的残留空档。 spawned_by_me 门控失败路径的 server 清理,复用的 server 不再被误杀; spawn 前用 try_wait 检查已有子进程避免覆盖泄漏。前端两个打开按钮加 busy 态防重入(打开中...)。
open_kimi_web_embedded 加 launch_lock 串行化并发调用,拿锁后重查单例; oneshot 在锁内等待主线程建窗完成,封死命令返回后的残留空档。 spawned_by_me 门控失败路径的 server 清理,复用的 server 不再被误杀; spawn 前用 try_wait 检查已有子进程避免覆盖泄漏。前端两个打开按钮加 busy 态防重入(打开中...)。