背景
当前 Dashboard 的默认落地页(/)渲染的是 Agent 可观测(ConversationList),即 LLM 调用会话列表。但对于日常运维场景,用户打开 Dashboard 第一眼更想看的是 Agent 看板(/health)——它展示所有 Agent 的在线/离线/挂起状态概览,信息密度更高、更适合作为首页。
期望行为
- 访问 Dashboard 根路径
/ 时,默认展示 Agent 看板(/health 对应的 AgentHealthPage)
- 如果
agent_health capability 不可用,回退到当前行为(agent_observability → /,否则 /sessions)
当前实现
dashboard/src/App.tsx 中的路由逻辑:
const LOCAL_DEFAULT_PATH = "/sessions";
function defaultPath(capabilities: string[]): string {
return capabilities.includes("agent_observability") ? "/" : LOCAL_DEFAULT_PATH;
}
// Route "/"
<Route
path="/"
element={
capabilities.includes("agent_observability")
? <ConversationList />
: <Navigate to={fallbackPath} replace />
}
/>
修改建议
- 将
defaultPath() 的优先级改为:agent_health → /health,agent_observability → /,兜底 /sessions
- 根路径
/ 的 Route element 改为 <Navigate to={fallbackPath} replace />(统一走 redirect),或直接在 / 渲染 AgentHealthPage
- NavBar 中可考虑将 Agent 看板排到第一位(当前排第二)
验收标准
背景
当前 Dashboard 的默认落地页(
/)渲染的是 Agent 可观测(ConversationList),即 LLM 调用会话列表。但对于日常运维场景,用户打开 Dashboard 第一眼更想看的是 Agent 看板(/health)——它展示所有 Agent 的在线/离线/挂起状态概览,信息密度更高、更适合作为首页。期望行为
/时,默认展示 Agent 看板(/health对应的AgentHealthPage)agent_healthcapability 不可用,回退到当前行为(agent_observability→/,否则/sessions)当前实现
dashboard/src/App.tsx中的路由逻辑:修改建议
defaultPath()的优先级改为:agent_health→/health,agent_observability→/,兜底/sessions/的 Route element 改为<Navigate to={fallbackPath} replace />(统一走 redirect),或直接在/渲染AgentHealthPage验收标准
http://localhost:3004/)直接看到 Agent 看板agent_healthcapability 关闭时,回退到 Agent 可观测页cargo test+ 前端构建通过