docs: record transport adapter milestone

This commit is contained in:
2026-08-03 14:50:27 +08:00
parent b4f03387b5
commit 74aef6fb7d
+4 -4
View File
@@ -24,10 +24,10 @@ macOS 的 `src-tauri/Info.plist` 为当前 Tailscale / 私网 HTTP AppServer 配
| 范围 | 当前行为 | 当前实现位置 | 重构后必须保持 |
|---|---|---|---|
| 登录 | 用户输入 AppServer 地址、手机号、验证码;登录请求 10 秒超时;地址仅保存到 localStorage | `src/main.ts` | 成功登录进入会话;失败原因对用户可见 |
| 登录 | 用户输入 AppServer 地址、手机号、验证码;登录请求 10 秒超时;地址仅保存到 localStorage | `src/main.ts``src/runtime/transport-adapter.ts` | 成功登录进入会话;失败原因对用户可见 |
| 会话 | 当前只有一个 Agent channel;退出清空页面内消息并停止同步 | `src/main.ts` | 会话状态必须可由 Store 管理,不能依赖 DOM |
| 发送 | 用户消息先本地显示,再调用 `/messages/send`;显示已发送或失败 | `src/main.ts` | 即时反馈、送达状态与失败可见性不退化 |
| 历史同步 | 首次从 cursor `0` 连续拉取到空页;之后以 `lastSeq + 1` 每 1.5 秒增量轮询 | `src/main.ts` | 保持包含式 cursor 语义,不能漏消息或无限热循环 |
| 发送 | 用户消息先本地显示,再通过 Transport 调用 `/messages/send`;显示已发送或失败 | `src/main.ts``src/runtime/transport-adapter.ts` | 即时反馈、送达状态与失败可见性不退化 |
| 历史同步 | 首次从 cursor `0` 连续拉取到空页;之后以 `lastSeq + 1` 每 1.5 秒经 Transport 增量轮询 | `src/main.ts``src/runtime/transport-adapter.ts` | 保持包含式 cursor 语义,不能漏消息或无限热循环 |
| Agent 文本 | 将 `lineup.v1.text` 解码为 Markdown,使用 `marked + DOMPurify` 渲染 | `src/protocol.ts``src/main.ts` | GFM、安全净化和外链防护不退化 |
| Agent 状态 | `thinking` 显示临时指示器;其他状态更新顶栏 presence | `src/protocol.ts``src/main.ts` | 状态应更新已有状态项,而非无限追加气泡 |
| 进度和错误 | progress/error 目前以系统提示显示 | `src/protocol.ts``src/main.ts` | 迁移后至少保持可见,M1 再升级为正式卡片 |
@@ -47,7 +47,7 @@ macOS 的 `src-tauri/Info.plist` 为当前 Tailscale / 私网 HTTP AppServer 配
### 当前结构债务(M0 的改造对象)
`src/main.ts` 目前同时包含 App Shell、页面 DOM、登录、直接 HTTP `fetch`会话 cursor、同步循环、协议到展示的映射和 rendererM0 的目的不是改变上述用户行为,而是将它们迁入 `app-shell``transport``conversation-store``interaction-kernel``renderer-registry`独立边界;在 M0 准入前不新增 Surface 或 Capability 功能。
`src/main.ts` 目前包含 App Shell、页面 DOM、会话 cursor、同步循环、协议到展示的映射和可信 rendererM0-05 已将登录、发送与同步 HTTP `fetch` 迁入 `src/runtime/transport-adapter.ts`。M0-06 的目标是在不改变上述用户行为的前提下继续将 renderer 迁入独立边界;在 M0 准入前不新增 Surface 或 Capability 功能。
### M0-02 协议模型(已完成)