模块 4 · 未接线

菜单有 ≠ API 已接
Chat 还有 B 方案三端点

前端 P0 主链路已真接,但和后端课对照,仍有页面占位、风控/平台按钮缺失、SSE 行为等缝。 改 URL 进别人工作台,前端藏菜单拦不住,后端才是闸。

前端未全接清单(2026-09)

风控

AML scan · 适当性校验按钮 · 台账高级筛选 — 部分 API 有,UI 简版或未接。

问数

AnalystChatShell 占位 · 真问数在 AnalystQueryPage + dashboard/assets。

游客

VisitorChatWidget 首页试聊 · 与登录 ChatPanel 不同 API。

Chat 方案 B:三端点 + SSE 注意点

会话 API
GET  /api/chat/sessions
GET  /api/chat/sessions/{id}/messages
POST /api/chat/sessions/{id}/close
POST /api/chat/stream  → customer SSE
白话

列表/历史/关闭与发消息共用同一套鉴权(Bearer + X-Agent-Type)。

SSE 无心跳:断连可能留下半空回合——排障时查 session 表 + 是否 uvicorn 重启。

HashRouter:URL 带 #,生产 Nginx 要配 SPA fallback。

改 URL 进别人工作台

RequireAuth 只验「有没有 token」,不验「这个角色能不能进 /app/risk」。菜单隐藏 ≠ 安全——后端 AGENT_ACCESS_MATRIX 和平台 RBAC 才拒 403。

客户账号手动打开 /app/risk/alerts,只靠前端能拦住吗?