跳到内容
Lenso
简体中文
Esc
导航打开⌘J预览
本页内容

向 App 添加 Plugin

通过可见 Plugin Root 与 Host Catalog 组合一个 App。

受审查的 Authoring Authority 是可见 plugins/ 目录。匹配的 Host Build 发布 .lenso/host-catalog.json;解析器合并 Host Default 与 Plugin Root 差异,生成完整、 不可变的 App Plan。

使用这些命令前,先取得可执行 Host Build,以及从这个确定 Build 生成的 host-catalog.json。它们定义产品实际支持的 linked Plugin、Slot、Execution Adapter 与默认值;通用 CLI 无法自行发明这些信息。

1. 理解 App 文件

my-app/
├── .lenso/
│   ├── host
│   └── host-catalog.json
└── plugins/
    └── example.echo/
        ├── plugin.lenso-plugin/
        ├── default.toml
        ├── default/
        │   └── prompt.md
        └── old.disabled
  • plugin.lenso-plugin/ 是验证后解出的 Bundle;
  • <instance>.toml 添加或配置 Keyed Instance;
  • <instance>/ 保存该配置 Instance 的不可变 Resource;
  • <instance>.disabled 是禁用已有 Instance 的空 Marker。

2. 通过 CLI 修改 App

使用 CLI 保持这些不变量:

lenso app init --host ./host --host-catalog ./host-catalog.json --root ./my-app
lenso plugins add ./example.echo/dist/example.echo-0.1.0.lenso-plugin --root ./my-app
lenso plugins configure example.echo default --file ./echo.toml --root ./my-app
lenso plugins disable example.echo default --root ./my-app
lenso plugins enable example.echo default --root ./my-app
lenso plugins remove example.echo default --root ./my-app
lenso plugins remove example.echo --root ./my-app
lenso app check --root ./my-app
lenso app show --root ./my-app

每次修改都会先使用 Host Catalog 解析 Candidate Snapshot。无效配置、缺少 Required Slot、未知 Plugin 与歧义 Binding 会在文件提交前失败。运行中的产品 Host 另行暂存 Generation、通过 Ready Gate、切换 Route、Drain 旧 Generation,并可在运行失败时回滚。

remove 传入 Instance key 只会删除该 App-owned 差异;省略 key 会通过可恢复的 .lenso/trash/ 路径移除整个 Plugin 目录。

plugins list 显示每个 Derived Plugin Instance 及其来源。app show 解释包含 Host Default 与 Capability Binding 在内的完整 Derived App。人工审查或合并后, app check 是最短的验证。

3. 使用确定的 Catalog Release

lenso plugins search tool
lenso plugins install example.tool --version 1.2.0
lenso plugins update example.tool --version 1.3.0
lenso plugins history example.tool
lenso plugins rollback example.tool --version 1.2.0

不存在隐式“latest”。Catalog 与 Bundle Schema 是严格的;网络下载绑定 Digest;保留 版本保持不可变。在真正存在可下载 Bundle 前,官方 Catalog 可以如实为空。

Kernel 从不读取该目录,也不安装 Package;它只接收某个 App Generation 选择的 Resolved Plan。

最后更新于 2026年9月6日

这个页面有帮助吗?