Skip to content

[设计] 统一后端命令、查询和事件接口,支持 SSE 游标恢复与代理接入 #2185

Closed

Description

@zy95-12

Written-by: Codex

这是用户已确认的后端边界收敛设计记录,不代表已实现、已部署或真实任务已验证;暂不自动派发、启动实施或中断现有前端流程。优先盘点并复用现有服务,不建立平行身份、任务、会话或调度系统。区分主仓 main 与交付分支已有能力。
常规技术设计可独立完成,改变既定产品/权限边界才向用户提交具体方案。

关联与定位

在 #2170/#2171/#2175/#2177/#2179/#2182 领域服务之上收敛接口;先沿用已有 development service,避免第二套入口和业务规则。
依赖统一身份授权及执行生命周期契约,存储事件与业务记录的事务边界与 #2182 协调。

已确认接口分工

  • 命令:提出/接纳 Task、交接、裁定、授权、项目变更等;明确调用主体、权限、前置条件、幂等键、版本/代次、返回结果及恢复语义。
  • 查询:项目、任务池、执行状态、历史、证据和产物;分页、有界读取、引用解析权限、可重建读模型。
  • 事件:仅表达已提交事实,提供游标、断线补取与客户端去重,供 CLI、网页、内外代理同步。
  • 第一版采用 HTTP API + SSE,共用同一领域服务;原有入口通过适配调用,不能各自维护可写状态。
  • 接收事件不等于得到操作权。事件必须按用户/代理和项目权限过滤;撤权后不得继续泄露信息,不能用恢复游标跨越权限。
  • 明确断线后补取、重复事件、顺序范围、保留期限/过期游标与重新拉取快照流程。不承诺任意历史永久通过 SSE 重放。
  • 幂等冲突、权限不足、版本冲突、资源忙、不可恢复/未知执行结果分别有机器可读错误和下一步建议。
  • 消息咨询与任务主动权交接保持独立;CLI/UI 不把普通询问转为 Task。
  • SSE 不是唯一事实来源;客户端可通过查询核对当前状态。

设计交付

命令/查询/事件目录及 schema、权限矩阵、错误码、版本策略、分页与游标协议、HTTP/SSE 示例及已有入口映射。
尽量向后兼容,标明兼容适配、废弃与迁移路径;不暴露内部凭据或任意文件读取能力。

验收

  • CLI 和测试客户端使用同一接口完成项目查询、Task 提出/接纳/交接/裁定及进展同步。
  • SSE 断线/重连、重复事件、过期游标、重启恢复、快照与事件衔接;不遗漏关键状态变化或重复执行命令。
  • 跨项目、私有代理、撤权和事件字段可见性验证;只订阅不授予操作权限。
  • 命令重复/响应丢失、并发版本冲突及错误分类。
  • 大列表/历史有界,不无条件注入 LLM 或因普通查询调用模型。

交付要求

  • 同步项目长期记忆、架构/子系统文档、接口/配置说明和变更记录。
  • 测试标明实际提交、执行项及未覆盖项;区分测试替身通过与真实 SDK/实际任务可用。
  • 不改 control-plane,不擅自部署、合并或中断健康执行。后续按依赖拆可审阅实施项。

Activity

  1. zy95-12 commented on Nov 2, 2026

    @zy95-12
    CollaboratorAuthor

    开始直接实施 #2185,叠加原 #2182 PR #2227;当前无其他认领/评论。沿用现有 development service 和 /api/bot 授权入口,补齐有界视图/历史、命令回执和仅已提交事实的权限过滤事件/SSE。先用回归验证领取受理在持久化失败/响应丢失后的幂等边界;修复会明确归属,不把 SQLite 事务等同于领域回执已完备。不会增加第二套身份/任务/调度器,不改UI、control-plane、不上线或启动新定时任务。

  2. zy95-12 commented on Nov 3, 2026

    @zy95-12
    CollaboratorAuthor

    已提交对应原实施 Draft PR(见关联分支 feat/2185-service-contracts),提交90dfcc830f6fbaeddc8438bb3a30571a63fbd757,叠加 #2227。完整 verify4631通过/0失败/0跳过,定向98通过。新增操作级/独立主体级回执、真实失败领取回滚、Task提案来源、精确有界历史、与业务事务同存的已提交事件以及实际TCP SSE重连/撤权/过期/关闭测试;实际SQL服务测试确认重启重试不重复Task、日常状态/查询零新增模型调用。保持原底层来源/候选/退出测试,旧事务故障测试仍覆盖原域服务,不被回执前置保存吞掉。文档、长期记忆、测试和生成补丁已同步。仍不冒称真实外部代理SDK或完整并行自动开发已验收;未合入/部署/改UI。接下来补原角色治理和原生Session依赖,再做 #2186 与最后 #2189。

  3. zy95-12 commented on Nov 3, 2026

    @zy95-12
    CollaboratorAuthor

    按 Owner 要求阶段关单:对应 PR #2250 已 squash 合入 delivery/ai-centric-development-service,合并提交 ae00e7180d8ced56c76aa1695a6c5dd82403f895。

    最终集成提交 f95946fce81ad020cb6dd568c34efe9eb5d2f5be 的完整文件树与已通过 4726 项完整验证的源码 d720f8cced5b09d79123e979de1d448584b94fb6 完全一致。

    所有已确认功能缺口和未完成的真实任务/运行验收统一迁移至 #2292,继续保持 open。本次关闭表示已实现部分的阶段归档,不表示本 issue 原有所有验收项均已完成;不修改未验证的 checklist。未部署或重启服务。

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions