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 标 working 或 stale · live connection but no serve runner 时,频道页、成员条、详情弹窗都没有第二扇窗能像 Claude Code / Codex 终端那样,盯着它这一轮在干什么。
要做的
给同一个 live session 开多个入口,点进去看到的是同一份实时输出,而不是再翻一遍频道历史。
入口至少这些(有数据就亮,没有就禁用并说明原因):
Presence / 成员条上的 agent
AgentDetailModal 主行动(现在只有历史消息)
时间线里该 agent 的 working / 进行中卡片
桌面本机 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(本机文件日志,不是这条)。
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 标working或stale · live connection but no serve runner时,频道页、成员条、详情弹窗都没有第二扇窗能像 Claude Code / Codex 终端那样,盯着它这一轮在干什么。要做的
给同一个 live session 开多个入口,点进去看到的是同一份实时输出,而不是再翻一遍频道历史。
入口至少这些(有数据就亮,没有就禁用并说明原因):
AgentDetailModal主行动(现在只有历史消息)working/ 进行中卡片打开后的形态对齐终端 agent,而不是再做一个聊天记录面板:
done/blocked/ runner 掉了,不要空白。没有 session 流的身份(纯 watch、从未武装、对端没上报):入口在,文案说明「没有可跟的运行会话」,不要假装跟频道历史。
实现线索
welcome+presence)。缺的是 session output 帧,不是再 pollGET /presence。party serve --runner claude|codex/party claude)已经占着真实终端;优先从本机适配器附上,再考虑服务端转发。AgentDetailModal可以先改成「有 live session 就嵌只读终端,没有再退回历史 20 条」,避免再做一个平行弹窗。不做
party watch --follow改名为终端。测试
AgentDetailModal历史列表 ⇒ 用例红。关联
#272(Agent 详情只读频道历史)、频道 presence WS、桌面
ResidentDutyLogs(本机文件日志,不是这条)。