Skip to content

[feature][dashboard] Dashboard 组织架构视图 — 经典公司 org-chart 展示(总指挥/副指挥 → 多团队 → 成员) #170

@s2agi

Description

@s2agi

背景 / Vincent dispatch

Vincent (2026-05-21):把现在的 dash 展示改成经典的公司组织架构展示 —— 有总指挥和副指挥,下面分多个团队(A站 / B站 / P站 / 设计团队 / 视频团队 等等)。看看方案上怎么设计,先出方案,下个正式版本更新。

当前 dashboard 拓扑图是网络视图(agent ↔ hub 连接 + 前缀分组)。本 issue 跟踪把它升级为组织架构视图:经典公司 org-chart 树形结构。

目标

dashboard 不只展示「网络拓扑」,而是反映真实的「AI 公司组织结构」:

                总指挥
                  │
                副指挥
   ┌─────────┬─────┴─────┬─────────┬─────────┐
 A站团队   B站团队    P站团队   设计团队   视频团队   …
   │          │          │         │         │
 [成员…]    [成员…]    [成员…]   [成员…]   [成员…]
  • 自顶向下层级:总指挥 → 副指挥 → 团队负责人 → 团队成员
  • 团队子树可折叠 / 展开
  • 节点框沿用现有视觉身份(厂商 LOGO + runtime + 在线状态 ring)
  • 原网络拓扑图不删除,做成视图切换(组织架构 / 网络拓扑 toggle)

核心设计决策 — 组织结构元数据从哪来

commhub 已有全部 agent(session / alias 都在),缺的是 org 归属元数据:role(总指挥 / 副指挥 / 团队负责人 / 成员)+ team 归属 + 汇报线。RFC-017 将对比 3 个方案并给推荐:

方案 描述 取舍
A Dashboard 侧静态 org config(org.json:alias → team → role → reports_to) 零协议改动,但需手维护
B Hub 注册元数据(agent register 带 team / role,commhub 协议扩展) 数据权威,但协议级改动重
C 命名约定推导(前缀:A站*→A站团队;*负责人→team lead;总指挥 / 副指挥 特殊 alias) 零配置,但靠命名纪律

初步推荐:C 做零配置兜底 + A 做显式覆盖层(config 优先,缺失 fallback 到命名推导);B 留作未来(本期不做协议改动)。最终方案以 RFC-017 为准。

交付节奏

  1. RFC-017(docs/rfcs/RFC-017-dashboard-org-chart-view.md,中文)— 通信龙 起 v1 draft,通信牛 co-draft 技术可行性 + 二审
  2. RFC 双 review pass → Vincent confirm
  3. 实施排期 → 下个正式版本(不进 v0.10.9,该版 scope 锁 🔴 P0 Dashboard Servers 面板数据完全不正确 (Vincent 5560) #157)
  4. 实施:数据层(org config schema + 命名推导)→ 后端(org endpoint / 复用 servers)→ 前端(OrgChart 组件 + view toggle)→ Docker smoke gate

Related issues

Agent Assignment

  • 方案 / RFC:通信龙(lead,RFC-017 v1 draft)+ 通信牛(技术可行性 co-draft + 二审)
  • 实施(下个正式版本):N站马(dashboard 前端)+ 通信牛(如走方案 B 的 server 侧)
  • 状态:方案阶段 — RFC-017 起草中

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    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