初始化 agent_ops 文档治理体系
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
# 00.base 阶段摘要
|
||||
|
||||
**状态:** 已完成
|
||||
**来源:** `lineup-app/迭代/00.base/00.base.md`
|
||||
|
||||
## 1. 结论
|
||||
|
||||
`00.base` 建立了后续所有迭代不可倒退的基线:
|
||||
|
||||
- Runtime 独占 Transport、Store、sync loop、outbox 和 App Inbox;
|
||||
- Chat 只能通过 SDK 与 Runtime Action 工作;
|
||||
- Tauri Desktop Host + Web Reference Host 是统一客户端基线。
|
||||
|
||||
## 2. 现在如何看待这个阶段
|
||||
|
||||
它现在不是未来新迭代的讨论现场,而是所有后续阶段的底层约束来源。
|
||||
@@ -0,0 +1,124 @@
|
||||
# LineUp App 迭代基线:Runtime 托管 Chat
|
||||
|
||||
**迭代编号:** 00.base
|
||||
**状态:** 已实现、已验证
|
||||
**日期:** 2026-08-04
|
||||
**定位:** 后续迭代必须保持的客户端基础能力
|
||||
|
||||
## 1. 基线说明
|
||||
|
||||
本迭代建立了 LineUp Runtime 承载第一个 Core App 的最小闭环。当前实现中的 `chat` 是
|
||||
图文 IM 形态的应用;在后续设计中,它将演进为 `Interaction App` 的 IM 模式,但现阶段
|
||||
仍保留 `app_scope = "chat"` 作为代码和协议兼容名称。
|
||||
|
||||
当前客户端基线是:
|
||||
|
||||
```text
|
||||
Tauri 2 Desktop Host + Web Reference Host
|
||||
```
|
||||
|
||||
两种 Host 运行同一份 TypeScript Runtime 和 Core App:Tauri 用于正式桌面交付,Web 用于
|
||||
浏览器开发、Tailscale 联调和自动化验证。它们不是两套客户端,也不各自实现通信、同步或
|
||||
消息存储。
|
||||
|
||||
## 2. 已实现的 Runtime 边界
|
||||
|
||||
`LineUpRuntime` 是以下对象的唯一所有者:
|
||||
|
||||
```text
|
||||
Transport
|
||||
Conversation Store
|
||||
sync loop
|
||||
outbox
|
||||
App Inbox
|
||||
作用域筛选
|
||||
旧 lineup.v1 兼容
|
||||
去重与恢复
|
||||
```
|
||||
|
||||
Chat 不能直接访问 AppServer、Transport、Store、登录态或 Host 特权能力,只能使用
|
||||
`ChatRuntimeSDK`:
|
||||
|
||||
```text
|
||||
Runtime
|
||||
→ 校验、持久化和筛选 Agent 消息
|
||||
→ 投递 app_scope + conversation_id 匹配的消息
|
||||
→ 通过 SDK 提供订阅、Inbox、ACK 和 Runtime Action
|
||||
→ 接收 Chat 的用户动作并进入 outbox
|
||||
```
|
||||
|
||||
## 3. 已实现的应用加载关系
|
||||
|
||||
当前已经将“默认应用选择”和“应用具体挂载”分开:
|
||||
|
||||
```text
|
||||
CoreAppRegistry
|
||||
→ 选择默认 app_scope = chat
|
||||
|
||||
CoreAppHostRegistry
|
||||
→ 找到 chat 对应的 Host 装配器
|
||||
|
||||
chat-app-host.ts
|
||||
→ 加载 Chat Shell、样式、Renderer、DOM Context 和 SDK
|
||||
```
|
||||
|
||||
`main.ts` 现在只负责启动 Runtime、创建 Host 绑定和请求挂载默认 App,不再直接导入
|
||||
Chat 的样式、Renderer 或 Shell。
|
||||
|
||||
相关实现:
|
||||
|
||||
- `tauri/src/runtime/coordination/lineup-runtime.ts`
|
||||
- `tauri/src/runtime/app-management/app-registry.ts`
|
||||
- `tauri/src/runtime/app-management/runtime-app-host.ts`
|
||||
- `tauri/src/core-apps/chat/chat-app-host.ts`
|
||||
- `tauri/src/main.ts`
|
||||
|
||||
## 4. 已实现的消息和交互能力
|
||||
|
||||
当前基线已经覆盖:
|
||||
|
||||
- 登录、退出和会话恢复;
|
||||
- HTTP 增量同步与包含式 cursor;
|
||||
- 用户消息本地回显、发送状态和 outbox;
|
||||
- Agent Markdown 消息和安全 DOM 渲染;
|
||||
- Agent status、progress、error 和执行摘要;
|
||||
- `choice`、`confirm`、`input` Tool Call 的状态机和可信交互卡片;
|
||||
- Tool Result / Tool Cancel 回声;
|
||||
- Surface 生命周期的基础管理;
|
||||
- Capability Registry、确认、受限 Host 执行和审计;
|
||||
- Artifact 元数据校验与 Host 临时内容缓存;
|
||||
- App Inbox 的持久化、恢复、ACK 和 `message_id` 去重。
|
||||
|
||||
所有入站内容必须先经过 Runtime 协议和作用域校验。非法或不匹配的消息不得进入 Chat,
|
||||
未知内容只能安全降级,不能执行远端脚本或系统能力。
|
||||
|
||||
## 5. 基线验证
|
||||
|
||||
```text
|
||||
npm test -- --run
|
||||
21 个测试文件通过
|
||||
94 个测试通过
|
||||
|
||||
npm run build
|
||||
TypeScript 检查通过
|
||||
Vite production build 通过
|
||||
```
|
||||
|
||||
## 6. 本基线的边界
|
||||
|
||||
以下能力尚未作为本迭代的完整实现:
|
||||
|
||||
```text
|
||||
动态 App Registry
|
||||
App 安装、更新、回滚和移除
|
||||
App Instance Manager
|
||||
App Focus Manager
|
||||
Runtime Tool Router
|
||||
Interaction App 的 IM / Audio / Video 模式统一运行时
|
||||
扩展 App 的前后台切换和恢复
|
||||
完整应用市场
|
||||
```
|
||||
|
||||
这些内容属于 [01.kernel.md](../01.kernel/01.kernel.md) 定义的下一阶段目标。`00.base` 的意义是保护
|
||||
已经完成的通信、可靠投递、作用域和安全边界,后续重构不得让这些能力回到 App 或
|
||||
`main.ts` 中。
|
||||
Reference in New Issue
Block a user