SaaS Team Workbench 后端能力支持讨论 #739
Replies: 7 comments
1. Team-scoped 事件流 / Team Activity关联 issue:#738 产品目标Team Detail 需要一个 这不是 raw log viewer,也不是单个 run audit。它应该是 Team 维度的运营时间线。 为什么现有 API 不够现有 Team Activity 应该由后端拥有 Team 归属、分页、过滤、版本/水位、脱敏和事件语义。 建议后端能力新增 Team-scoped event stream endpoint,例如: GET /api/scopes/{scopeId}/teams/{teamId}/events?take=50&pageToken=...&severity=...&memberId=...&eventKind=...响应建议包含:
单条事件建议包含:
v1 事件类型建议
实现约束
需要后端一起确认
|
2. Team-scoped 事件拓扑 / Event Topology关联 issue:#737 产品目标Team Detail 需要一个 和现有
|
3. Team pause/resume 生命周期当前状态早期 preview 里有 产品目标SaaS Team Workbench 中,用户可能需要临时停止一支 Team 处理外部流量,但不想删除或归档 Team。例如:
需要定义的语义Pause/Resume 必须是后端明确命令语义,而不是前端状态切换。需要讨论:
可能 APIPOST /api/scopes/{scopeId}/teams/{teamId}/pause
POST /api/scopes/{scopeId}/teams/{teamId}/resume响应必须诚实表达 ACK 阶段,不要在 weak ACK 中暗示强一致完成。 前端期望如果后端支持 pause/resume,前端可以:
需要后端一起确认
|
4. Team 运营指标产品目标Team 列表和 Team Overview 需要一些 compact metrics,让 SaaS 用户快速理解 Team 状态。例如 preview 中出现过:
但这些指标必须有后端语义支撑,不能由前端猜。 为什么需要后端定义同一个指标可能有多种含义:
如果前端先展示这些数字,后续很容易变成产品债务。 建议后端能力可以先提供一个 Team operational summary endpoint/readmodel,例如: GET /api/scopes/{scopeId}/teams/{teamId}/operational-summary?window=24h或把 summary 放入 Team Activity/Topology readmodel 的 companion API。 响应建议包含:
所有字段需要清楚定义统计口径。 推荐 v1 最小指标建议 v1 先选少量稳定指标:
成功率、在线率、平均响应时间可以后置,除非后端能明确且稳定定义。 需要后端一起确认
|
5. Team connector 可见性产品目标Team Detail 可能需要 从 SaaS 用户角度,这不是全局 connector admin,而是回答:
当前不清楚的地方Connector 很可能是 scope-level 或 governance/binding-level 事实,而 Team 是 scope 下的一等聚合。需要明确 connector 如何归属 Team,否则前端无法决定应该展示:
这些不是 UI 选择,而是后端事实归属问题。 建议后端能力新增 Team-scoped connector/binding query,或在 Team Activity/Topology 中提供足够 connector 节点后,由前端链接到 connector 详情。 可能 endpoint: GET /api/scopes/{scopeId}/teams/{teamId}/connectors响应建议包含:
connector item 建议包含:
v1 简化方案如果 connector 归属暂时不明确,v1 可以先不做独立 Connectors tab,只在 Team Activity / Topology 的节点或事件中显示 connector,并提供跳转。 独立 Connectors tab 应等到后端能明确回答“这个 connector 属于/影响这支 Team”的时候再做。 需要后端一起确认
|
6. 共通实现原则与开放问题建议实现顺序推荐后端优先顺序:
原因:Activity 和 Topology 会先建立 Team 可观察事实。Metrics、Connectors、Pause 状态展示都应该建立在这些 Team 归属和事件语义之上,而不是各自发明一套归属逻辑。 共通原则所有 Team Workbench 后端能力都应满足:
明确不希望出现的实现
开放问题
期望讨论结论这轮讨论结束后,希望能形成:
|
7. Team Test / 测试 Team当前状态当前后端还不支持“直接测试 Team”的一等接口。 现有 Team API 覆盖:create/list/get/patch/archive/list members。现有 workflow/chat run 能力可以通过 因此,前端现在最多能做“在 Team 页面选择某个 member/service 去测试”。这可以作为临时交互,但它不是完整的 Team Test 后端语义,也不会天然进入 Team Activity / Event Topology。 产品目标SaaS Team Workbench 里的
这个能力面向的是 Team 维度的运营验证,而不是要求用户先知道底层 actorId。 v1 语义建议建议把
建议后端 API可以新增 Team-scoped test endpoint,例如: POST /api/scopes/{scopeId}/teams/{teamId}/test-runs请求体建议包含:
响应建议采用 accepted receipt,不暗示强一致完成:
如果需要流式返回,可以再讨论 SSE/WS 形态,但 ACK 语义仍应保持诚实。 后端需要支持的核心语义
不建议的实现
需要后端一起确认
|
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
背景
Aevatar Console 正在收敛成 SaaS 视角的 AI Team Workbench。在这个产品模型里,用户打开 Team Detail 时,首先关心的不是 actor、run、Envelope 或底层日志,而是:
当前前端已经可以展示 Team identity、lifecycle、member roster、member/service 提示和最近 run 摘要。但完整 Team Workbench 里有几类能力必须先由后端提供 Team-scoped 的权威事实,前端不应该在浏览器里临时拼出 Team 级事实。
这个 Discussion 的目的
这个 Discussion 用来和后端同学讨论:为了把 Team Detail 做成完整 SaaS Team Workbench,后端需要先支持哪些 Team-scoped 能力、这些能力的语义边界是什么、应该按什么顺序落地。
为方便逐条讨论,下面每个能力点已拆成独立 comment:
当前后端已有能力
已有:
StudioTeamGAgent和一等 Studio Team identityteamId/api/actors/{actorId}/graph-enrichedagentId + scopeId测试某个 actor/workflow/member/service重要限制:
teamId,因此不支持一等 Team Test,只能测试某个选定 member/service。期望讨论结果
希望这轮讨论后可以明确:
All reactions