---
title: 平台概念
description: 理解 Lenso 公开生命周期背后的应用、Module、Service 与 System Plane 边界。
---

Lenso 是面向 Rust 业务系统、agent-ready 的模块化应用与微服务框架。它从一份
精确应用组合开始，并在产品增长过程中保持每个边界明确。

## 核心模型

| 概念 | 当前合约 | 职责 |
| --- | --- | --- |
| App Composition | `lenso.app.json` | 锁定应用修订、内容摘要、不可变 Module Release、依赖、Implementation Binding 与 Provenance。 |
| Module | `lenso.module.v1` | 持有稳定业务身份、强类型 Business API、Event、运行时声明与可选 Console Surface。 |
| Provider Service | `lenso.service.v1` Metadata 与 `lenso.provider.v1` Runtime | 由独立 Rust 或 TypeScript 进程提供精确 Module Release，运行时协调仍由 Host 持有。 |
| Autonomous Service | `lenso.service.v2` | 使用 Rust 运行时持有自己的 Workload、Service Store、身份、Workflow 与运维。 |
| System topology | `lenso.system.v2` | 命名混合拓扑中的精确 Host、Service、Module、Workload、合约与管理关系。 |
| Console Service | Console API | 连接精确拓扑、加载回执绑定的 Surface，并报告直接对象状态。 |

这些合约相互组合，而不是相互替换。Support Ticket Module 从 Linked 交付迁移到
Provider 时，不会改变业务身份或 Operation 名称。Autonomous Service 增加独立
持有的运行时边界，同时保持声明合约明确。

## 公开生命周期

开发者、运维人员与 Coding Agent 使用相同四步：

1. **Compose（组合）**：从产品蓝图生成精确 `lenso.app.json`。
2. **Run locally（本地运行）**：使用 `lenso dev up`；加入 `--console-root` 可让
   现有 Console checkout 与 Host、Provider Service 一同启动。
3. **Connect（连接）**：通过已连接本地命令生成的 Bundle 提交已签名本地 Service
   Enrollment、精确 `lenso.system.v2` 拓扑及其 Management Binding。
4. **Status（状态）**：直接读取每个 Service、Module、Surface、Adapter 与 Workload。

生产发布和部署由外部交付系统持有。Console 不创建、接管、发布、部署或修复已
连接应用。

## Module 保持业务身份

`ModuleManifest` 是可序列化声明数据，命名 Capability、Business API Route、
Runtime Function、Event、Lifecycle Work、依赖与 Console Surface。可执行 Handler
保留在 Linked Binding 或 Service 实现中。

运维 UI 是与同一不可变 Module Release 绑定摘要的 `console_ui_esm` 制品。生成
客户端通过 Surface Gateway、在精确 Surface Grant 下调用声明 Operation。
浏览器代码不会获得 Service 凭据，也不能直接访问 Store。

## Service Capability Tiers

Provider 与 Autonomous Service 是不同所有权层级，不能把任意进程外 Module
都称为 Autonomous：

- Provider 把兼容性与进程 Metadata 保存在 `lenso.service.v1`，安装精确
  `lenso.module-release.v1` Release，并使用 `/lenso/provider/v1` 上由 Host 持有的
  `lenso.provider.v1` Runtime；支持 Rust 与 TypeScript。
- Autonomous Service `lenso.service.v2` 由 Service 持有，仅支持 Rust。

当前 Rust Autonomous Service 能力包括 direct HTTP/gRPC、Event Contracts、
Durable Workflows、Workload Identity、Delegated Actor Context 与 service-owned
storage。TypeScript does not provide Autonomous Service parity。

准确支持边界参见
[Service Capability Tiers](/docs/zh/autonomous-services)。

## 分离 Data Plane 与 System Plane

业务调用使用声明的 Module 或 Service 合约。Autonomous Service 流量在 Service
之间直连，不经过 Console，也不经过 Host Provider Proxy。接收边界在本地校验
Actor、Tenant、Deadline、Idempotency、Identity 与合约 Policy。

Console 是面向运维人员的 System Plane。保存连接前，它会校验精确的活动
Enrollment、拓扑摘要、Management Binding 与已发布 Core Contract。浏览器
Surface 使用同源 Console Service，目标凭据只保留在服务端。

## 状态属于具体对象

每个已连接对象报告一种状态与直接原因：

- `connected`：精确合约与在线目标一致；
- `unavailable`：当前无法观察声明目标；
- `incompatible`：协议、合约、Release 或制品不匹配；
- `unmanaged`：当前 Management Binding 未覆盖对象。

Local Control Adapter 不可用时，Workload 观察结果为 `unknown`，变更会被拒绝，
不排队也不回退。Console 不会把这些状态合成为应用总分。

完整生命周期参见 [Host 快速开始](/docs/zh/quickstart)；混合拓扑连接模型参见
[Service System Plane](/docs/zh/service-system-plane)。
