会话管理补全:生命周期控制 + 会话信箱(两个 RFC,求反馈与投票)/ Completing session management: lifecycle controls + session mailbox (two RFCs, feedback and votes welcome) #3640
qslowprofile
started this conversation in
Ideas
Replies: 1 comment
|
更新:两个 RFC 现在都有可安装的插件实现了(unofficial) 为了验证提案的可行性,我们把两份 RFC 做成了一个树外插件套件(MIT,非官方):dsh-session-nexus https://github.com/qslowprofile/dsh-session-nexus
安装(web profile 为例): (已发布到 npm:https://www.npmjs.com/package/dsh-session-nexus ;也可用 实现过程恰好验证了 RFC 里"必须上游做"的部分——插件在公开缝上能把 UX 跑通,但撞到了四堵只有官方能拆的墙:
如果这两个方向团队认为可行,Agent Note 三元组(前帖的 gist)与插件代码都可以直接取用、改写或拆分;若采纳,希望能以 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
大家好。我想提出两个互补的 RFC,合起来把"会话"补全为可管理、可寻址的一等对象,希望听到团队与社区的反馈。
RFC1 会话生命周期控制
packages/host/apiproxy/src/api/rpc-map.ts没有session.resume;packages/host/apiproxy/src/api/workspace.ts:102的归档是单向的,注释已预留 "a future unarchive restores its position";SessionPersistence缝没有任何删除入口。session.resumeRPC +workspace.unarchiveSession+ 基于SessionPersistence缝的两步删除(先归档、仅归档态可删、删除需客户端确认)。RFC2 会话信箱
send_message仅限深度 1 的父子链路;Agent Teams 信箱为实验特性且仅限同根会话树。dsh-session:URI 寻址的持久消息投递缝,静默 / 唤醒两种投递,事件写入目标会话日志,发送者署名并按不可信内容加框。agent-teams Agent Note 已否决在子代理缝上加 peer id,本提案尊重该结论,完全不触碰既有子代理缝。两者构成一条"会话管理补全弧":RFC1 让会话生命周期闭环(可恢复、可取消归档、可删除),RFC2 让任何会话可被寻址通信。两者共享
dsh-session:寻址与持久化基础。我们理解并尊重项目现阶段不接受外部 PR 的政策,因此这里不提交代码。按仓库惯例,我们准备了两组可直接落地的 Agent Note 三件套(非官方社区草案,
proposed/feature:.md/.zh.md/.i18n.yaml),团队认为方向可行的话可直接取用、改写或拆分:如果你也需要这些能力,请为本帖点赞或留言补充你的使用场景。按 CONTRIBUTING 的说法,投票是团队分配资源时的重要信号。
最后说明署名一事:两份设计文本与三件套按仓库许可(MIT)自由使用,若团队采纳,希望能以 commit author 或
Co-authored-by的方式保留署名,这是我们想以社区成员身份长期参与的一点心愿。Hi all, I would like to propose two complementary RFCs that together complete sessions as manageable, addressable first-class objects. Feedback and votes welcome.
RFC1 Session lifecycle controls
session.resumeRPC inpackages/host/apiproxy/src/api/rpc-map.ts; archiving is one-way, and the comment atpackages/host/apiproxy/src/api/workspace.ts:102already anticipates unarchive ("a future unarchive restores its position"); there is no delete anywhere in theSessionPersistenceseam.session.resumeRPC,workspace.unarchiveSession, and two-step deletion (archive first, delete only from the archived state, with client confirmation) extending theSessionPersistenceseam. This matches existing Ideas asking for archive/restore, permanent deletion, and disabling auto-recovery: #1991, #2613, #2642, #3075, #3554.RFC2 Session mailbox
send_messageis depth-1 parent/child only; the Agent Teams mailbox is experimental and same-root only.dsh-session:URI. The agent-teams Agent Note rejects peer ids on the subagent seam; this proposal honors that by leaving the subagent seam untouched.Together they form a session-management completion arc: RFC1 closes the lifecycle loop, RFC2 makes sessions addressable.
We understand and respect that external PRs are not accepted at this stage, so no code is attached. Following repo conventions, we prepared two ready-to-land Agent Note triplets (unofficial community drafts;
proposed/feature:.md/.zh.md/.i18n.yaml), feel free to take, rewrite, or split them:If these capabilities would help you, please upvote or comment with your scenario. Per CONTRIBUTING, upvotes are considered when the team allocates resources.
One note on attribution: both design documents and triplets are free to use under the repository license (MIT). If the team adopts them, we would appreciate authorship being preserved via commit author or
Co-authored-by.All reactions