---
title: Service System Plane
description: 连接精确 lenso.system.v2 混合拓扑，同时避免把 Console 变成部署平面。
---

Service System Plane 描述一个 Lenso 应用中的 Host、Provider Service、
Autonomous Service、Module、Workload、合约与管理 Adapter 如何组合。当前混合
拓扑合约是 `lenso.system.v2`。

该拓扑不是 Service Mesh、业务请求 Router、进程启动器或生产部署记录。它是
Console 连接 System 时校验的精确图。

## 组合与拓扑职责不同

| 合约 | 职责 |
| --- | --- |
| `lenso.app.json` | 应用组合与锁：应用修订、内容摘要、不可变 Module Release、依赖与 Implementation Binding。 |
| `lenso.system.v2` | 已连接拓扑：稳定对象身份、所有权、合约、Workload、Adapter 与关系。 |
| Management Binding | 该拓扑的精确 Console 权限，以及受支持的目标自有管理路径。 |

拓扑从已组合应用及其运行目标派生，不会扩大 App Composition，也不会选择生产
目标。

## 混合拓扑

System v2 明确区分每一种对象：

- **Host** 持有 Linked Module 与 Provider 运行时协调；
- **Provider** 把兼容性与进程 Metadata 保存在 `lenso.service.v1`，通过
  `/lenso/provider/v1` 上的 `lenso.provider.v1` 提供精确
  `lenso.module-release.v1` Release，并支持 Rust 或 TypeScript；
- **Autonomous Service** 使用 Rust `lenso.service.v2`，持有自己的运行时与
  Service Store；
- **Module** 在 Linked 或 Service-backed 交付间保持业务身份；
- **Workload** 命名 Service 的一个可执行部分；
- 合约关系命名精确 Producer、Consumer、版本与 Tenancy 要求；
- 管理 **Adapter** 只公开声明的目标自有 Operation。

选择 Service 类型前请阅读
[Service Capability Tiers](/docs/zh/autonomous-services)。TypeScript does not
provide Autonomous Service parity。

## 使用公开生命周期

### Compose（组合）

生成可运行的 Support Desk 基础：

```sh
lenso app compose ./support-desk --blueprint support-desk --apply
```

Blueprint 包含 `auth`、`notification-worker` 与 `support-api`。Pack-backed
Support Ticket 与 Story 拓扑由[产品级验收](/docs/zh/examples)覆盖；该 Runner
会在启动前注册 Service-backed Provider。

### Run locally（本地运行）

启动已组合 Host 与 auto-start Provider Service。加入现有 Console checkout 可运行
已连接本地路径：

```sh
cd ./support-desk
lenso dev up --console-root ../lenso-console
```

更底层的 `lenso system dev` 是 System Sandbox；它不会启动已组合的 Host 或
Console，也不会连接 Console。在 App Composition 模式下，它会在限定范围的
Sandbox Run 中启动所选 Service-backed Provider Workload 与 Local Control
Adapter。

### Connect（连接）

使用 `--console-root` 时，`lenso dev up` 创建只限 loopback 的已签名 Enrollment，
组装 `.lenso/console-connect.json`，并在报告 System ready 前应用精确连接。如需
应用单独准备的本地 Bundle，请使用：

```sh
LENSO_CONSOLE_TOKEN='<operator-session-token>' \
  lenso console connect \
  --console-url http://127.0.0.1:3030 \
  --bundle .lenso/console-connect.json
```

Console 保存连接前会校验每个活动 Enrollment、拓扑摘要、Management Binding
与已发布 Core Contract。本地 Path 只接受 loopback 目标，不是远程生产自助
路径。Bundle 还可以携带精确 Console Composition Artifact Effect；Token 与签名
材料不会输出，也不会存入 Bundle。

### Status（状态）

通过 Console 或以下 API 读取已连接图：

```text
GET /api/console/v1/system
```

System、Service、Module、Surface 与 Adapter Projection 报告
`connected`、`unavailable`、`incompatible` 或 `unmanaged`，并给出直接原因。
Workload Operational State 是独立维度。Local Control Adapter 不可用时，
Workload Observation 为 `unknown`，变更会被拒绝且不排队、不回退。

## 业务流量不进入 System Plane

Module Surface 通过 Surface Gateway 调用生成客户端。Console Service 重新校验
Console Actor、精确已连接 System、制品摘要、合约摘要与允许的 Operation ID，
再调用声明的 Business API；浏览器不会获得目标凭据。

Autonomous Service Data Plane 调用使用 direct HTTP/gRPC 或 Event Contracts。
它们不经过 Console，已建立的 Service 本地执行也不依赖 System Plane 可用性。

## Console 权限保持狭窄

Console 可以连接精确拓扑、报告直接状态、加载符合条件的 Module Surface，并
调用受支持的目标自有 Operation。它不会：

- 创建、接管、删除、发布、部署、回滚或修复生产 Workload；
- 选择生产目标；
- 直接变更 Service Store；
- 把 Service 或 Adapter 凭据交给浏览器；
- 把拓扑状态合成为第二套应用总分。

生产交付仍由 Repository、Platform 与 Operator 持有。System Plane 可以描述
最终对象，但不会成为其运行时 Owner。

认证、Surface 与 Workload Control 参见
[Lenso Console](/docs/zh/runtime-console)；集成 Support Desk 验收参见
[示例](/docs/zh/examples)。
