119 lines
5.2 KiB
Markdown
119 lines
5.2 KiB
Markdown
# LineUp App
|
||
|
||
这里是 LineUp App 的客户端工作区;LineUp Runtime 是其中向 MiniApp 提供通信、可靠性、
|
||
调度与安全能力的核心运行环境。
|
||
|
||
## 当前实现基线
|
||
|
||
LineUp 不只是一个聊天客户端,而是用户设备上的协作 Runtime:它连接
|
||
AppServer 与 Remote Agent,维护会话、消息、Store、outbox、App Inbox、权限与恢复;
|
||
当前 `chat` 兼容实现是其上的第一个系统级 MiniApp:Interact 的 IM Mode。
|
||
|
||
当前唯一的客户端实现与验收基线是:
|
||
|
||
```text
|
||
Tauri 2 Desktop Host + Web Reference Host
|
||
```
|
||
|
||
这里的 **Host(运行外壳)** 指的是把同一套 LineUp 程序放进不同运行环境的方式,
|
||
并不表示有两套客户端或两套聊天逻辑。它们共用同一份 TypeScript
|
||
`LineUpRuntime` 和 Chat Core App:
|
||
|
||
- **Tauri Desktop Host** 是正式桌面应用的外壳。它负责创建桌面窗口,并在 Runtime
|
||
授权后提供文件、通知等操作系统能力。
|
||
- **Web Reference Host** 是浏览器中的同代码开发和验证入口。它用于 Vite 开发、
|
||
Tailscale 联调与自动化回归,不能替代桌面版的系统能力。
|
||
|
||
无论运行在哪个 Host 中,连接、同步、消息存储和 Agent 协议都只能由 Runtime 管理,
|
||
不能各自实现一套。
|
||
|
||
不再规划、实现或维护独立 Android/Kotlin 客户端,也不再维护 Wails Host。旧实验设计仅在
|
||
Git 历史中保留,不是当前产品、协议或交付路线。
|
||
|
||
## MVP-R1:Runtime 托管 Chat
|
||
|
||
当前 MVP 已验证以下边界:
|
||
|
||
```text
|
||
Chat Core App
|
||
└── ChatRuntimeSDK
|
||
└── LineUpRuntime
|
||
├── Transport / sync loop / outbox
|
||
├── Conversation Store / App Inbox
|
||
├── app_scope + conversation_id 路由
|
||
└── lineup.v1 Compatibility Adapter
|
||
```
|
||
|
||
- `LineUpRuntime` 是网络连接、消息存储、同步循环和待发送队列的唯一管理者;
|
||
- Runtime 从本地 Core App Registry(内置应用清单)加载默认 `chat`,而不是由
|
||
`main.ts` 直接拼出聊天页面;
|
||
- Chat 只能通过 Runtime SDK 接收已筛选的消息和状态、恢复并确认已处理的 Inbox 消息,
|
||
再向 Runtime 提交用户动作;
|
||
- Runtime 拒绝非法或不匹配的 `app_scope` / `conversation_id`,并在内部兼容既有
|
||
`lineup.v1`;
|
||
- 登录、同步、发送、本地回显、Markdown、Agent 状态和刷新恢复保持回归通过;
|
||
- 当前 Tauri/Web 回归为 23 个测试文件、99 个测试,`npm run build` 通过。
|
||
|
||
完整边界、MiniApp SDK 路线和发布安全约束见 [APP架构设计.md](设计/APP架构设计.md)。
|
||
|
||
## 开发与验证
|
||
|
||
客户端工作区使用独立仓库,远端为 `ssh://git@100.121.118.116:2222/lineup/app.git`。
|
||
Linux 开发机通过 Vite 启动 Web Reference Host;Mac 或其他设备可经 Tailscale 用浏览器
|
||
直接打开它,看到的就是 Linux 工作区中正在修改的同一份前端,无须每次改动都同步或重新
|
||
clone 源码。
|
||
|
||
```bash
|
||
cd lineup-app/tauri
|
||
npm run web:dev
|
||
```
|
||
|
||
当前开发地址:
|
||
|
||
```text
|
||
http://100.121.118.116:1420/
|
||
```
|
||
|
||
常用命令:
|
||
|
||
```bash
|
||
# Runtime / SDK / Renderer 自动化回归
|
||
npm test -- --run
|
||
|
||
# TypeScript 检查与 Web production build
|
||
npm run build
|
||
|
||
# Tauri 桌面 Host 开发
|
||
npm run desktop:dev
|
||
```
|
||
|
||
`tauri/node_modules/`、`tauri/dist/` 和 `tauri/src-tauri/target/` 都是可再生本机构建产物,
|
||
已被忽略。
|
||
|
||
## 文档入口
|
||
|
||
- [设计/README.md](设计/README.md):当前设计文档入口和文档分工说明;
|
||
- [APP架构设计.md](设计/APP架构设计.md):LineUp App、Runtime、MiniApp SDK、Surface/Capability 安全与后续迭代的权威架构设计;
|
||
- [程序文件清单与功能说明.md](程序文件清单与功能说明.md):客户端 Runtime、Chat Core App、Tauri/Web Host 与测试的文件清单;
|
||
- [tauri/src/README.md](tauri/src/README.md):源码目录、依赖方向与模块放置规则;
|
||
- [tauri/README.md](tauri/README.md):Tauri/Web Host 的运行、构建、行为回归和历史里程碑;
|
||
- [迭代/](迭代/00.base/00.base.md):按迭代目录记录当前基线、设计评审和后续 Runtime Kernel / 应用编排目标;
|
||
- [LineUp App 最终设计方案](设计/02.正式方案/app_final_design.md):当前架构的唯一汇总入口;
|
||
- [LineUp App 层架构方案](设计/02.正式方案/lineup-app-layer-architecture.md):M0~M4 历史实施记录与迁移基础;
|
||
- [LineUp Runtime 与 App SDK 架构方案](设计/02.正式方案/lineup-runtime-sdk-architecture.md):Runtime / SDK 的详细契约来源;
|
||
- [LineUp UI Surface 与 App Capability 协议](设计/02.正式方案/lineup-ui-surface-protocol.md):Surface sandbox 和 Capability Gateway 协议;
|
||
|
||
## 工作区目录
|
||
|
||
```text
|
||
lineup-app/
|
||
├── README.md # LineUp App 工作区入口
|
||
├── 设计/ # 当前设计文档
|
||
│ ├── README.md
|
||
│ ├── APP架构设计.md
|
||
│ └── 02.正式方案/
|
||
└── tauri/ # Tauri Desktop + Web Reference Host
|
||
├── src/ # Runtime、Core App 与 Host 组合入口
|
||
└── src-tauri/ # Tauri Rust Host
|
||
```
|