用途与实际影响
这项功能怎样使用
为什么需要它
手机与电脑必须共用同一个任务来源,又不能把本机底层控制服务直接放到公网;旧设计通过受控入口传递整理后的进展。
举个实际例子
我问“为什么手机和电脑当时能看到同一个任务进度?”历史链路只让公网入口接触经过整理的产品事件,真正的任务连接留在本机并由两端共享。当前 Remote 冻结不可用,这只是架构说明,不包含刷新速度承诺,也不会打开地址或建立监听。
最后我会得到什么
历史材料能解释手机为何看到同一任务进展及断线时怎样重读;当前不会建立任何连接,也不承诺实时刷新速度。
正常时
历史上,手机入口和电脑确实连到同一任务来源时,才显示持续进展。
发现问题时
旧设计遇到事件缺段会重新读任务真实状态;当前不启服务补证。
入口不可用或证据不足时
当前控制入口冻结且不可用,只能阅读获准的历史材料;恢复须由本人另行明确启动独立项目并重新验收。
从哪里开始
当前入口冻结且不可用,不能连接 Browser(浏览器端)、Sidecar(认证侧车服务)、Broker(代理服务) 或 app-server(任务协议服务);本页仅解释历史任务事件怎样抵达手机。
需要准备什么
- 想了解的历史手机与电脑同步方式;当前不能连接
从开始到拿到结果
- 1
看过去的同任务通路
历史手机入口先验证登录,再通过本机共享组件读取电脑任务的公开进展;底层控制服务留在本机。
- 2
断线时重新确认
旧设计按任务真实记录续接,不能靠相似标题猜这是同一个任务。
- 3
当前不建立连接
架构说明不证明今天在线,也不提供实时刷新。
技术实现与依据
这里保留实现、关键条件、精确入口、历史记录和验证结果。
当前控制入口不可用且冻结;共享架构、SSE 重连和订阅屏障保留源码/测试,不建立连接或查询端点关键规则与设计选择
公网只暴露认证后的产品 API 和 SSE。
Broker(代理服务) 不拥有 UI 投影,Sidecar(认证侧车服务) 不拥有 app-server(任务协议服务) 进程。
每个连接独立 resume,不能假设订阅共享。
重连失败时重读快照,不用旧事件补造当前状态。
本模块用到的名词
- loopback(本机回环)
- 只允许本机进程连接的网络地址,不直接暴露 LAN 或公网。
- RPC correlation(请求对应)
- Broker(代理服务) 将多个客户端请求与正确返回一一配对。
- SSE sequence(事件序号)
- 用于发现漏事件、重复事件和跨进程实例重连。
- domain projection(领域投影)
- 把协议细节转成任务、消息、审批和文件等产品状态。
专业定义
历史架构中公网只到认证 Sidecar(认证侧车服务),Broker(代理服务)/app-server(任务协议服务) 只在 loopback(本机回环);当前链路冻结,不建监听或探测任何组件。
解决什么
解决原始协议暴露、双 app-server(任务协议服务) 分叉、连接级订阅丢失、SSE 漏事件和 Sidecar(认证侧车服务) 崩溃拖死 Desktop。
当前怎样实现
- Sidecar(认证侧车服务) 默认 127.0.0.1:18790,Broker(代理服务) 默认 127.0.0.1:18791,app-server(任务协议服务) 默认 127.0.0.1:18792。
- Broker(代理服务) 注入内部 RPC id,并在返回前恢复各客户端原始 id。
- Sidecar(认证侧车服务) 用 domain projection 把底层事件转成稳定产品模型。
- SSE 事件带 process instance id 与单调 sequence;Last-Event-ID 支持续接。
- 超出 ring buffer 时发送 reset,浏览器重新读取任务快照。
执行流程
- 1
以下是已保留源码所定义的历史流程,用于理解曾经做成的能力,不是当前操作步骤;运行时冻结期间不执行、不探测,也不因旧测试或截图解除冻结。
- 2
浏览器建立 HTTPS 会话。
- 3
Sidecar(认证侧车服务) 验证会话、Origin(请求来源)、CSRF 与请求合同。
- 4
Sidecar(认证侧车服务) 通过回环 WebSocket 请求 Broker(代理服务)。
- 5
Broker(代理服务) 路由到单一 app-server(任务协议服务)。
- 6
app-server(任务协议服务) 产生任务事件。
- 7
Sidecar(认证侧车服务) 投影并通过 SSE 广播。
- 8
浏览器按 sequence 应用或在 reset 后重读。
边界
- 当前控制入口不可用且冻结:不调用 Status、Open、Close、重启、登记、回滚、dispatcher(分派器)、计划任务、Sidecar(认证侧车)、Broker(共享代理)或公网端点,也不走替代启动路径。仅可只读查看获准的具名源码、文档、测试定义与历史图片;恢复须由用户另行明确启动独立项目并重新完成端到端验收。
- Broker(代理服务) 与 app-server(任务协议服务) 原始 WebSocket 永远不监听公网。
- Sidecar(认证侧车服务) 断线不应终止 Desktop。
- Browser(浏览器端) 不直接依赖 app-server(任务协议服务) protocol types。
- 截图不是 listener 或当前连接健康证明。
失败与恢复
- 当前入口冻结
- 当前控制入口不可用且冻结:不调用 Status、Open、Close、重启、登记、回滚、dispatcher(分派器)、计划任务、Sidecar(认证侧车)、Broker(共享代理)或公网端点,也不走替代启动路径。仅可只读查看获准的具名源码、文档、测试定义与历史图片;恢复须由用户另行明确启动独立项目并重新完成端到端验收。
- SSE 事件窗口过期
- 发送 reset,并从权威 API 重新取得快照。
- Broker(代理服务) RPC 超时
- 返回有界错误,不在另一个 app-server(任务协议服务) 重试。
- Sidecar(认证侧车服务) 进程断开
- 浏览器进入断线态,Desktop 连接保持。
- app-server(任务协议服务) 身份变化
- 阻断新动作,重新完成连接与订阅验收。
真实入口
docs/architecture.md公开架构、端口、数据流、SSE 与订阅边界。
apps/broker/src/runtime.ts单一 app-server(任务协议服务) 与回环 listener 运行合同。
apps/sidecar/src/server.ts认证 API、SSE 与产品路由。
如何验证
- Broker(代理服务) coordinator、websocket liveness、loaded-thread registry(登记清单) 与 Sidecar(认证侧车服务) reconnect 均有测试。
- 历史真实多端验收确认手机与 Desktop 同时看到同一任务事件。
- 本轮未建立 listener,也未读取任何当前 runtime(运行环境) endpoint。
与其他模块的关系
它是同一任务、子智能体、审批、文件与安全能力共用的传输骨架;安装更新模块只能在这条链的 Broker(代理服务)/app-server(任务协议服务) 身份不变时滚动公网层,版本证据仍不能代替当前在线回读。
