Skip to content

feat(sight): Dashboard 默认落地页改为 Agent 看板(/health) #2723

Description

@chengshuyi

背景

当前 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 />
  }
/>

修改建议

  1. defaultPath() 的优先级改为:agent_health/healthagent_observability/,兜底 /sessions
  2. 根路径 / 的 Route element 改为 <Navigate to={fallbackPath} replace />(统一走 redirect),或直接在 / 渲染 AgentHealthPage
  3. NavBar 中可考虑将 Agent 看板排到第一位(当前排第二)

验收标准

  • 全新打开 Dashboard(http://localhost:3004/)直接看到 Agent 看板
  • agent_health capability 关闭时,回退到 Agent 可观测页
  • 现有导航链接不受影响
  • cargo test + 前端构建通过

Metadata

Metadata

Assignees

No one assigned

    Labels

    component:sightsrc/agentsight/good first issueApproachable for first-time contributors; scope and acceptance criteria are definedtype:enhancementA new capability or improvement request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions