Skip to content

多入口实时看 agent 运行过程:类似终端 agent 的 live session,而不只是频道成稿 #1103

Description

@beilo

owner 原话

「还有能不能多个入口 能实时查看机器人运行的结果 类似终端 agent 的那种效果」

现状

人现在只能看到 频道成稿presence 摘要,看不到 agent 正在跑的那一屏:

  • 时间线 / MessageCard:agent 发完才出现。
  • AgentDetailModal分工 #272):从已加载频道消息里滤出它最近 20 条 + presence 状态。注释写明「不建新后端」。
  • party watch --follow:跟的是频道消息,不是 runner 的 stdout / tool 轨迹。
  • party status / webhook --filter status:只有 working / waiting / blocked / done。
  • 桌面 ResidentDutyLogs:本机值班文件日志,不是远端会话的 live PTY。

结果:#m93 里一个 agent 标 workingstale · live connection but no serve runner 时,频道页、成员条、详情弹窗都没有第二扇窗能像 Claude Code / Codex 终端那样,盯着它这一轮在干什么。

要做的

同一个 live session 开多个入口,点进去看到的是同一份实时输出,而不是再翻一遍频道历史。

入口至少这些(有数据就亮,没有就禁用并说明原因):

  1. Presence / 成员条上的 agent
  2. AgentDetailModal 主行动(现在只有历史消息)
  3. 时间线里该 agent 的 working / 进行中卡片
  4. 桌面本机 agent 面板(本机 runner 可直接附 PTY;远端只读同一条流)

打开后的形态对齐终端 agent,而不是再做一个聊天记录面板:

  • 实时滚:模型输出、tool / shell 调用、命令 stdout/stderr。
  • 进行中自动 follow;人往上翻时不要被新行拽回去。
  • 结束或断线:停在最后一屏,并写清 done / blocked / runner 掉了,不要空白。
  • 只读。发话仍走频道 Composer;这条不是远程接管键盘。

没有 session 流的身份(纯 watch、从未武装、对端没上报):入口在,文案说明「没有可跟的运行会话」,不要假装跟频道历史。

实现线索

  • 网页已有频道 WS(welcome + presence)。缺的是 session output 帧,不是再 poll GET /presence
  • 本机 runner(party serve --runner claude|codex / party claude)已经占着真实终端;优先从本机适配器附上,再考虑服务端转发。
  • AgentDetailModal 可以先改成「有 live session 就嵌只读终端,没有再退回历史 20 条」,避免再做一个平行弹窗。

不做

  • 不把 party watch --follow 改名为终端。
  • 不在这条里做远程 stdin / 人接管会话。
  • 不要求每个 harness 都有完整 PTY;至少要把已有的 runner 日志 / tool 事件流出来。

测试

  • 同一 agent 从成员条、详情弹窗、working 卡片打开 → 接到同一 session id / 同一条流。
  • runner 有输出:面板出现新行且自动 follow。
  • 无 session:入口禁用或诚实空态,不渲染频道历史冒充终端。
  • 流结束后再打开:看到最后一屏 + 结束原因,不是空白。
  • 变异:入口只打开 AgentDetailModal 历史列表 ⇒ 用例红。

关联

#272(Agent 详情只读频道历史)、频道 presence WS、桌面 ResidentDutyLogs(本机文件日志,不是这条)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions