Persist PageTree expand state via control-plane view-state and align chevron/DOM with restored expansion; keep Sidex-style shallow page-tree scan and drop the unused recursive scanner that only added cargo noise. Add password vault workbench routes/runtime/skill/CLI, split page_ai_pi into a module package, and retire Hermes/ACP/OpenHub recycle + root harness evidence from the index while gitignoring recycle and local diag dumps. Archive superseded design/bugs docs under old/, point architecture at ARCHITECTURE.md, and refresh smokes for Pi S1–S7, vault, and editor regressions so the working tree can stay clean.
1.9 KiB
1.9 KiB
[recycle] 7-1 [done] 页面 AI provider=hermes 仍命中旧 run route 导致 502
现象
- 当前 Rust 3000 页面壳里,页面 AI 默认 provider 是
hermes。 - 发送消息时仍请求旧
/api/ai-agent/run。 - Rust compat route 对显式
provider=hermes返回ai_provider_bridge_unavailable,HTTP 状态为 502。
复现证据
- 页面壳默认 provider:
rust/crates/mnote-web/src/ssr/pages/layout.rs - 页面 AI 发送旧 route:
fetch('/api/ai-agent/run') - 旧 route 注册:
rust/crates/mnote-web/src/routes/mod.rs - 502 来源:
rust/crates/mnote-web/src/routes/compat.rs - 可复跑 smoke:
scripts/task-hermes-page-ai-baseline-smoke.js
归类
- owner:
07-ai - 根因:页面 AI UI 仍走旧 mnote-cli / compat 主链,而默认 provider 已切到 Hermes。
- 修复方向:页面 AI 主链改为同源
/api/hermes/client/*,旧/api/ai-agent/run只保留 legacy guard。
验收
- 页面 AI 打开后创建或恢复 Hermes session。
- 发送消息不再请求
/api/ai-agent/run。 - 未配置 Hermes upstream 时返回稳定
hermes_client_unconfigured,不再出现旧 502。 - 配置 Hermes upstream 后 run/event stream 由 Hermes 返回。
完成证据
- 代码主链:
rust/crates/mnote-web/src/ssr/pages/layout.rs已改为/api/hermes/client/sessions、/api/hermes/client/runs、/api/hermes/client/events/{run_id}。 - 合同与路由:
rust/crates/mnote-web/src/routes/hermes_client.rs提供同源 Hermes client proxy。 - 测试:
cd /mnt/Data1T/mnote/rust && cargo test -p mnote-web hermes_ -- --nocapture,14 passed。 - smoke:
MNOTE_UI_BASE_URL=http://127.0.0.1:3000 node scripts/task-hermes-page-ai-smoke.js通过,并拦截旧/api/ai-agent/run证明新页面 AI 主链未调用旧 route。 - 说明:2026-05-14 已在正式
3000入口复跑 Hermes 页面 AI smoke 矩阵,旧/api/ai-agent/run只保留 410 retirement guard。