Files
app/程序文件清单与功能说明.md
T

9.2 KiB
Raw Blame History

LineUp App 程序文件清单与功能说明

最后核验:2026-08-04Asia/Shanghai

本文是 lineup-app/ 的客户端源码导航,覆盖 Tauri/Desktop Host、Web Reference Host、 LineUpRuntime、Interact MiniApp(当前兼容名 Chat)与客户端测试。跨项目的 AppServer、Hermes Adapter、 WuKongIM 和运行配置见根程序文件清单

1. 当前客户端怎样运行

LineUp 不是“聊天页面直接连 Agent”。用户首先打开的是一个运行外壳:正式交付时是 Tauri 桌面窗口,开发和联调时可在浏览器中打开 Web Reference Host。两种外壳都会启动同一个 Runtime;Runtime 再加载默认 Chat,并负责 Chat 与 AppServer / Remote Agent 之间的全部 通信。

Tauri Desktop Host / Web Reference Host
  → main.ts(启动时把 Host、Runtime 与默认 App 接起来)
  → LineUpRuntime
  → CoreAppRegistry → chat Core App
  → ChatRuntimeSDK
  → AppServer / Remote Agent

当前唯一的客户端实现与验收基线是 Tauri 2 Desktop Host + Web Reference Host。两种 Host 复用同一份 TypeScript Runtime 与 Chat Core App,不是两套客户端。main.ts 只在启动时把 Host、LineUpRuntime 和默认 App 接起来;网络传输、消息存储、同步循环、待发送队列、 scope 路由和旧 lineup.v1 兼容都由 Runtime 统一管理。

2. 工作区顶层文件

文件 / 目录 功能
README.md LineUp App 工作区入口、当前实现摘要、开发与文档导航。
程序文件清单与功能说明.md 本文:客户端源码与测试导航。
APP架构设计.md LineUp App、Runtime、MiniApp SDK、Surface/Capability 安全、发布约束和后续路线。
tauri/ Tauri Desktop Host 与 Web Reference Host 的工程目录。

3. Tauri/Web 工程入口

目录:tauri/

文件 / 目录 功能
package.json Vite、Vitest、Tauri CLI 与开发/构建脚本。
vite.config.ts Vite/Vitest 的 @/ → src/ 源码别名。
tsconfig.json TypeScript 严格检查与同一 @/ 路径别名。
index.html Vite 页面入口。
scripts/tauri.sh Tauri/Rust 工具链包装脚本。
src/ TypeScript Host、Runtime、Core App 与测试。
src-tauri/ Tauri Rust Host、窗口配置、能力声明和图标。
README.md Tauri/Web Host 的运行、构建、回归和历史里程碑。

4. TypeScript Runtime 与 Chat Core App

目录:tauri/src/。完整依赖方向见 src/README.md

4.1 Host 组合与 Chat Core App

文件 / 目录 功能
main.ts 应用启动装配入口:创建 Runtime,并请求通用 RuntimeAppHost 根据 App Registry 挂载默认 Core App。它不直接导入 Chat Renderer,也不拥有网络传输、消息存储、同步循环或待发送队列。
core-apps/chat/chat-shell.ts Chat Core App 的可信 DOM Shell。
core-apps/chat/chat-app-host.ts Chat Core App 的 Host 装配器:集中加载 Chat 样式、Shell、Renderer、DOM 上下文和 Chat SDK,避免这些细节进入 main.ts
core-apps/chat/trusted-dom-renderers.ts 已验证消息到可信 DOM:Markdown、消息、交互卡、任务、执行摘要、Surface、Capability、Artifact 与 fallback。
core-apps/chat/renderer-registry.ts 按受信任 ConversationItem.kind 分派 Chat Renderer。
core-apps/chat/styles/ Chat Shell、能力卡片、执行摘要样式。

4.2 App 管理、SDK 与 Runtime 协调

文件 功能
runtime/coordination/lineup-runtime.ts Runtime 唯一协调器:持有 Transport、Conversation Store、sync loop、outbox、scope 筛选、lineup.v1 兼容、可靠 App Inbox 与 Chat SDK 投影。
runtime/app-management/app-registry.ts 本地 Core App Registry;当前静态注册默认/恢复 chat
runtime/app-management/app-sdk.ts 当前 Chat/IM Runtime SDKCore App 与 Runtime 之间的受限接口;提供状态/消息订阅、Inbox ACK、Runtime Action、Tool/Task 投影。Runtime 通过 openApp(app_scope) 选择对应 SDK。
runtime/app-management/runtime-app-host.ts 从 Runtime App Registry 解析默认 App,再通过 Core App Host Registry 找到对应装配器并挂载可信 Core App。
runtime/coordination/interaction-kernel.ts 无副作用协议入口:decode、重复抑制、Agent 状态、Tool/Task 投影。
runtime/coordination/runtime-envelope.ts 内部 RuntimeEnvelopeapp_scope + conversation_id 校验及旧协议作用域映射。
runtime/coordination/tool-call-state.ts choice / confirm / input 交互状态机。
runtime/coordination/task-state.ts agent.progressoperation_id 聚合。
runtime/coordination/execution-progress-state.ts execution_id 关联 ACP 实时步骤。

4.3 通信、持久化与协议

文件 功能
runtime/communication/transport-adapter.ts HTTP Transport:登录、发送、同步、超时和响应校验。
runtime/persistence/conversation-store.ts 会话持久化:cursor、消息、typed outbox、App Inbox、Tool/Task、摘要、Surface/Capability 快照。
runtime/protocol/lineup-v1.ts LineUp v1 受限协议模型与解析边界。
runtime/protocol/golden/lineup-v1.json lineup-v1-golden-1 Runtime compatibility fixture。

4.4 Surface、能力、Artifact 与 Inventory

文件 功能
runtime/surfaces/surface-registry.ts 开发期 Surface Manifest 与本地启用注册表;仅精确 app id/version 可用。
runtime/surfaces/surface-instance-manager.ts open / ready / patch / close / restore 的纯状态生命周期、幂等与冲突拒绝。
runtime/surfaces/isolated-surface-host.ts opaque-origin iframe 宿主;sandbox="allow-scripts"、严格 CSP、仅受限 bridge。
runtime/surfaces/production-surface-manifest.ts 生产 Manifestimmutable artifact、版本、大小、SHA-256、Ed25519、key id、最小 Host、权限 allowlist。
runtime/surfaces/production-surface-policy.ts production admission policy:只允许已验证的精确 app/version 创建实例。
runtime/surfaces/surface-bundle-cache.ts HTTPS 下载、Ed25519 验签、大小/SHA-256 校验、verified cache、失效与回滚。
runtime/inventory/client-inventory.ts 生成 revisioned lineup.v1.client.inventory
runtime/capabilities/capability-registry.ts 能力声明、风险等级、可见性与参数 schema 校验。
runtime/capabilities/capability-call-state.ts 能力调用状态机:pending → approved → executing → terminal
runtime/capabilities/capability-executor.ts 调用 Host handler,并将结果归约为安全确定的 app.result
runtime/capabilities/capability-audit.ts 最小审计:call id、能力、风险、处置、时间;不保存敏感参数。
runtime/artifacts/artifact-state.ts Artifact 元数据状态:名称、MIME、大小、完整性。
runtime/artifacts/artifact-content-cache.ts Host-owned 易失内容缓存;内容不进入 Conversation Store。

5. Tauri Rust Host

目录:tauri/src-tauri/

文件 功能
src/main.rs Tauri 桌面二进制入口。
src/lib.rs Tauri 应用构造与运行库入口。
tauri.conf.json 窗口、应用元数据与构建配置。
capabilities/default.json Tauri 权限声明;当前只保留核心默认能力。
Info.plist macOS WebView / ATS 兼容配置。
build.rs Tauri/Rust 构建脚本入口。

6. 客户端测试与构建

src/runtime/** 模块的 .test.ts 与实现同目录放置,主要覆盖 Runtime/SDK、协议与 Kernel、Store/App Inbox、Tool Call、Task、执行摘要、Surface、Capability、Artifact、 生产 Bundle 与 golden fixture。

runtime/coordination/lineup-runtime.test.ts 覆盖 MVP-R1 的 Core App Registry、scope 筛选、lineup.v1 兼容、App Inbox 恢复、去重和 Runtime Action 边界; runtime/app-management/runtime-app-host.test.ts 验证默认 Chat 由 Runtime Registry 加载。

cd lineup-app/tauri

# Runtime / SDK / Renderer 自动化回归
npm test -- --run

# TypeScript 检查与 Web production build
npm run build

# Web Reference HostTailscale 开发)
npm run web:dev

# Tauri Desktop Host
npm run desktop:dev

当前验证基线:23 个测试文件、99 个测试通过,npm run build 通过。

7. 相关文档