aaif-goose / aaif-goose/goose

ACP updates are not broadcast across clients

未关闭
#10,130 2 条评论 0 个 reaction 已指派 1 人 已指派给 @jbg 在 GitHub 查看
主要语言
Rust
星标
54.2k
派生
6.2k
平均合并
3 天 4 小时
30 天内合并 PR
240

描述

### Expected behavior

Multiple ACP clients connected to the same Goose server should receive near-real-time session updates when another client creates or updates a session.

### Observed behavior

ACP updates appear to be scoped to the client that initiated the change. Other connected clients do not receive `session/update` notifications for cross-client session creation or prompts.

### Experiment

We ran two independent ACP clients against `goose serve` over WebSocket:

- Client A initialized, called `session/list`, loaded a session, and waited for notifications.
- Client B initialized, called `session/new`, then sent `session/prompt` to that same session.

Client B received `session/update` events for its own actions, including assistant streaming chunks. Client A received no events after `session/new` and no events during or after Client B’s `session/prompt`.

We observed the same behavior with separate stdio `goose acp` processes.

### Impact

Remote/mobile ACP clients cannot reflect sessions or messages created by another Goose client without polling `session/list` and replaying `session/load`. This makes near-real-time cross-client session sync difficult to implement cleanly.

贡献指南

打开贡献指南

调研方向

Look at the WebSocket server implementation in `goose serve` and the ACP protocol handling for session updates. The issue is about broadcast notifications across connected clients. Start by finding where `session/update` events are generated and sent, likely in a session management module. Check if there's a central pub/sub mechanism or client registry. The test case described can be reproduced with two `goose acp` processes. 'Done' means both clients receive updates for sessions created or modified by the other.

由索引模型根据 Issue 内容生成。

评估

技术栈
rust
领域
backend, distributed-systems
Issue 类型
缺陷
难度
4/5
预计耗时
3-5 天
活跃度
冷清
描述清晰度
描述清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。