Skip to content

feat(frontend): agent-type workbench, conversation topology, per-session streaming#657

Open
yaozheng-fang wants to merge 1 commit into
fix/frontend-securityfrom
feat/frontend-workbench
Open

feat(frontend): agent-type workbench, conversation topology, per-session streaming#657
yaozheng-fang wants to merge 1 commit into
fix/frontend-securityfrom
feat/frontend-workbench

Conversation

@yaozheng-fang

Copy link
Copy Markdown
Collaborator

基于 #656(安全加固),所以本 PR 的 diff 只含前端功能改动;待 #656 合入 main 后 GitHub 会自动把本 PR 的 base 改为 main

自定义创建工作台

  • Agent 类型选择:LLM / 顺序 / 并行 / 循环 / A2A(ADK workflow agents + A2A 远程 agent),各自有对应 codegen。
  • 左树右表编辑器:左侧 Agent 结构树(增/删、顺序&循环编排的子项可拖动排序、最多 3 层嵌套),右侧编辑选中节点;类型选择器是独立左列的 radio,填写区不再被顶到下面。
  • 每个 LLM 节点(根或子)都能配全套(模型/工具/技能/记忆/知识库/观测);codegen 按节点生成、变量名唯一、sub_agents 递归到任意深度(修复了嵌套孙 Agent 被丢弃的 bug)。自定义 LLM 图标;类型描述精简。

会话内 Agent 拓扑

  • /web/agent-info 返回递归的带类型 graph;对话流旁渲染拓扑面板,按 event.author 高亮正在执行的子 Agent(按 session 独立)。

流式 / 并发

  • transcript 按 session 存储,配合 AbortController:切换会话不再串流、不再丢失进行中的回复。
  • 流式状态 per-session,支持多个会话并发流式;侧栏对正在生成的会话显示脉冲绿点。

其它

  • Trace 面板重做样式(更柔和的 span 配色、更干净的面板)+ 标签中文化。
  • 重建随包发布的 veadk/webui 静态资源。

验证

  • tsc --noEmit = 0、vite build = 0。
  • codegen 对多层嵌套 + 各级记忆的树生成 agent.py 并经 CPython compile 通过。
  • 用真实 runSSE + mock 流式 fetch 写了并发测试:切走不串/不丢、切回增量继续、两条流并发互不污染(临时脚本,验证后已删)。

🤖 Generated with Claude Code

…ion streaming

Custom-create workbench:
- Add agent TYPE selection (LLM / Sequential / Parallel / Loop / A2A) — ADK
  workflow agents + A2A remote agents, with codegen for each.
- Rework the form into a master-detail editor: a left structure tree (add /
  delete / drag-reorder children of Sequential & Loop parents, max 3 levels)
  and a right per-node form. Type picker is a radio list in its own column so
  the fill-in fields aren't pushed down.
- Every LLM node (root or sub) gets the full config (model / tools / skills /
  memory / knowledge / tracing); codegen now emits these per-agent with unique
  variable names and recurses sub_agents at any depth (fixes dropped grandchild
  agents). Custom LLM icon; concise type descriptions.

Conversation topology:
- /web/agent-info now returns a recursive typed graph; a topology panel renders
  beside the transcript and highlights the executing sub-agent (event.author),
  per session.

Streaming:
- Store transcripts per session and stream with an AbortController, so switching
  sessions never leaks or loses an in-flight reply. Streaming state is
  per-session, allowing multiple sessions to stream concurrently. Sidebar shows
  a live dot on sessions that are generating.

Also: restyle the trace drawer (softer span palette, cleaner panels) and
localize its labels to Chinese. Rebuild the shipped web assets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant