Lenso 是什么?
用普通异步服务、明确的插件实例和按需选择的适配器构建 TypeScript 应用。
Lenso 是 Bun 优先的 TypeScript 应用框架。插件声明服务如何启动、依赖哪些确切实例,以及如何释放自己拥有的资源。业务方法保持普通 async 函数。同一个服务可以由应用代码、显式 CLI 操作、Fetch 入口或经过授权的 agent 工具调用。
从一个服务开始
快速开始 安装已发布 Core 包并运行应用,无需服务器或数据库。先认识三个对象:插件声明、应用组装和已启动的应用。
| 你的任务 | 下一步 |
|---|---|
| 连接服务并释放资源 | 组合、生命周期 |
| 配置某个实例 | 配置 |
| 检查或调用显式操作 | CLI |
| 增加浏览器/API 入口 | Web、原生 Fetch、React |
| 保护业务对象 | Auth |
| 暴露所选管理操作 | Manage |
| 持久化 Notes 或生成报告 | 现有示例 |
| 选择宿主 | 部署 |
分清三个边界
运行时。 Core 校验依赖,初始化服务并拥有 cleanup。依赖的键是确切插件对象;相同 ID 不让另一个实例等价。业务策略属于服务。
构建期 Engine。 Engine 发现可信应用声明,扩展生成、构建和受监督开发。约定可通过公开扩展接口替换,它与应用 setup 有独立生命周期。
适配器。 Web、Auth、DB、Storage、Tasks、Manage、MCP、日志与遥测均可选。安装它们不会让每个服务自动可被远程调用;操作与身份仍需明确声明。应用也可直接使用底层 Fetch、Drizzle、Pino 或 OpenTelemetry API。
了解文档基线
本指南使用已核实的 npm 产物,并以 TypeScript 源码 549b987 审计接口。Core、Engine 与主要适配器为 0.2.0;CLI 为 0.19.0;DB、Storage 为 0.1.1。快速开始已用实际 @lenso/core@0.2.0 运行。此版本组合已发布配置、Bun listener、Manage 与 Log/OTel 入口。
安装记录精确版本与平台边界。oRPC v2 仍使用预发行 2.0.0-beta.42,客户端与服务端必须匹配。源码提交与 npm 发布是独立事实,此基线已分别核查。
应用拥有的部分
应用选择 listener、部署、secret 来源、schema、迁移、身份提供者和对象/租户策略。cleanup 释放资源,不会撤销已提交写入。操作的 effect 元数据不授予执行权限。当前可选 Manage 已能选择绑定到确切实例的现有操作,供显式 CLI、agent 或 oRPC 入口使用;它借用已启动的应用图,要求可信的每次调用 binding 与服务授权。配置中心和内建 Observe 查询服务尚未提供。
旧 Rust/Host/Capability 一代已归档,其命令和契约不是 TypeScript API。Console 与 Relay 是独立产品。