Release v0.9.18

- fix 恢复 web/package-lock.json 到 9ff63eb 的好版本:commit b3a5f98 误把本机 node v26 重新解析的坏 lock 提交了 (55ac451)
- docs 同步本会话 29 commit 进 decisions.md + CONTRIBUTING.md (205eca8)
- perf analyzerpipe.Run 加 ctx:auto-analyze 60s timeout 真正取消底层 analyzer (f2400cd)
- perf MCP probe 用 setpgid + killpg 杀进程组 真正收尾 npx 孙子进程 (5ca9b5f)
- perf RunAutoAnalyze 加 5min process-level cache:4 target 部署省 75% 重复扫码 (fb679c7)
- fix UI 把 "0 FAIL" 误判 error 红色:detectLevel 先抽数字判 K=0 降级 (f2e9a71)
- fix self-test 探别家 agent 的 mcp 拖累报告:只 probe 本系统前缀的 mcp (7c7ecab)
- fix self-test 120s 卡死第二层根因:cmd.Wait() 在 npx 孙子进程不退出时永远等 (0ad06ae)
- fix 再次恢复 internal/webui/dist/.gitkeep:commit b3a5f98 又 git add -A 误删 (17a5bae)
- fix self-test 卡 120s 真因:MCP probe 60s/个 串行 → 15s/个 并发,从 660s→15s (b3a5f98)
- feat 部署 UX:self-test 改后台异步,install 完即 toast 成功 + 跳 /bots,不再卡 60-90s (831e990)