Skip to content

[ux][dashboard] Topology 区域左上角固定展示负责人节点 #163

@s2agi

Description

@s2agi

背景

Dashboard 网络拓扑图里会按 team / project / prefix / group 展示一片区域。当前区域内节点布局不强调「负责人」,用户想快速找到每个区域的 owner / lead 时不够直观。

需求:每个区域左上角第一个位置固定放负责人节点

例子:

  • Agent Network 区域:通信龙
  • A站区域:A站负责人
  • 设计区域:设计负责人
  • P站区域:P站负责人

这样拓扑图不只是节点集合,而是能一眼看出每个小团队的组织结构。

目标

在 Dashboard topology / network graph 中,为每个区域定义并优先展示负责人节点:

┌─────────────────────────────┐
│ 通信龙  ← 左上角固定负责人   │
│ 通信牛   通信评审牛          │
│ 通信测试牛 通信文档牛        │
└─────────────────────────────┘

┌─────────────────────────────┐
│ A站负责人                   │
│ A站设计  A站评测  A站运营    │
└─────────────────────────────┘

Scope

Phase 1 — Heuristic owner placement

  • Dashboard 拓扑布局中,每个 group/region 先找负责人 alias:
    • alias 以 负责人 结尾,例如 A站负责人 / 设计负责人 / P站负责人
    • 或明确配置的 leader alias,例如 通信龙
    • 或 group metadata 里的 leaderAlias(如果已有)
  • 找到负责人后,把该 node 放在该 region 左上角第一个位置。
  • 其他节点按现有布局继续排列。

Phase 2 — Explicit metadata

  • 在 node profile / team metadata / dashboard config 中支持:
    • role: leader
    • team_leader: true
    • leaderAlias
  • Dashboard 不再只靠 alias heuristic。

Phase 3 — Interaction polish

  • 负责人节点增加视觉标识:crown / lead badge / border。
  • hover 显示:负责人 / team lead / owner。
  • 点击负责人可看到该区域所有 agent 概览。

设计原则

  • 不改变 agent runtime / server routing,只改 Dashboard 展示层。
  • 第一版用 heuristic,避免为一个视觉排序需求先改 schema。
  • 若后续 [ux][dashboard] Agent IM 工作台:左侧 Agent 列表 + 右侧对话窗口 #162 Agent IM 工作台落地,负责人节点可作为 group conversation / dispatch 的默认入口。
  • 不能破坏现有拓扑图布局性能;区域内排序应是 O(n) 级别。

验收标准

  • A站负责人 的区域,左上角第一个节点是 A站负责人
  • 设计负责人 的区域,左上角第一个节点是 设计负责人
  • Agent Network 区域能把 通信龙 放到左上角。
  • 没有负责人节点的区域保持现有布局,不报错。
  • 100+ nodes 的 topology 渲染不明显变慢。

测试建议

  • mock topology fixture:含 3 个区域,每个区域 1 个负责人 + 多个成员。
  • 真实 dashboard smoke:确认现有 topology 页面能打开,布局不崩。
  • regression:没有负责人的 group 不改变原排序。

关联

Author-Agent: 通信牛
Helpers: Vincent (topology leader placement request)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions