Lenso

采用签名 npm 或源码内容发布

核对一个精确的 Plugin 版本和发布物,将源码复制与运行时选择分开。

开发预览 · 尚未对应已发布框架版本

此页不会替代缺失的已发布版本。 查询确切版本

语言
zh-CN
内容修订
sha256:9318b646415bbb4a8ad0bec1d4cb4e0a1d11fc30850982cdd873a04a805dbeb1
English

使用 @lenso/cli@0.17.4,其原生 CLI 0.6.4 从已发布的 Rust 源码 ab09878c1d07235812a193c97b081686ff0d0943 构建。普通的 --marketplace 路径 会获取当前目录、核验 keyless 发布证明,再核对精确的发布归档。CLI 管理验证器 与公开信任根;你不需要保管签名密钥,也不需要提供快照或信任文件。

Site 展示已核验的记录和 Markdown,但不能读取你的 App 或批准安装。 目录包含已发布的 npm 与源码内容。先审查一个精确版本,再让 CLI 采用它。

1. 查找并审查一个版本

打开 Plugin 目录,按 npm package 或 Source content 筛选,再进入精确的 Plugin ID@version 页面。没有已核验的当前记录,或者 该发布已被下架或撤销时应停止;未签名候选不能充当采用证明。

阅读这个版本的 Markdown,记录发布者、源码修订、目录修订、分发形式、摘要 和声明的目标,并对照 App 检查用途与限制。Site 不知道你的 Host 目标、已选 Capability、权限或项目锁。没有声明的要求应视为未知,不能默认兼容。

使用这个精确 CLI 版本或另行验证的匹配构建,并通过 lenso app add --help 核对下列参数。托管验证器目前支持 macOS 与 GNU/Linux;不支持的平台不能视为 已通过核验。旧快照和 --trust 输入属于历史 Operator 路径,不是普通 Marketplace 采用的必要输入。测试夹具 URL 不能当作可下载的发布证明。

2. 采用仅含 npm 包的分发

在版本页选定一个 distribution_id,将下列变量设为已经审查的精确 ID、版本、 分发项与 App 根目录:

"$LENSO_CLI" app add "$PLUGIN_ID@$VERSION" --root "$APP_ROOT" \
  --marketplace --distribution "$DISTRIBUTION_ID"

CLI 会下载已核验记录指定的归档。若改用已经审查的精确本地归档,加入 --tgz "$PACKAGE_TGZ";它仍须匹配该记录的身份和摘要。批准构建前先审查 归档内容与构建脚本。

默认情况下,app add 会核验签名包身份和 tarball 摘要、记录源码选择意图, 并按锁文件安装 Bun 依赖,同时禁用生命周期脚本。还应审查安装后的依赖。 采用成功后,CLI 会输出精确的 PLUGIN_ID@VERSION=sha256:DIGEST 构建声明。 只有人工批准这次非沙箱构建后,才将完整声明赋给 APPROVED_BUILD_DECLARATION;不要根据页面或快照自行拼写摘要。

"$LENSO_CLI" app build --root "$APP_ROOT" --out "$BUILD_OUTPUT" \
  --trust-adopted-build "$APPROVED_BUILD_DECLARATION"
"$LENSO_CLI" app check --root "$BUILD_OUTPUT"
"$LENSO_CLI" app show --root "$BUILD_OUTPUT/intent" --json

若需延后安装,可在 app add 加 --no-install。此路径不会输出最终构建 声明。按 CLI 提示完成冻结锁文件的依赖安装,审查安装后的依赖,再从构建的 信任拒绝信息中取得精确声明。构建失败、缺少 Host 集成或权限时应停止, 不能自动换版本。 app check 和 app show 说明构建结果;还需单独验证 Plugin 的实际行为, 才可认为 App 就绪。

要撤回未经修改的 npm 采用,运行 "$LENSO_CLI" app unadopt "$PLUGIN_ID@$VERSION" --npm --root "$APP_ROOT",在新输出目录重建, 然后再次 app check 和 app show。若 App 所有者修改过选择意图,撤回 会保留这些改动供审查,不会静默删除。业务数据和迁移需要另行检查。

3. 预览并复制纯源码内容

content_only 记录没有 Portable Bundle、Cargo crate 或 npm 包基座。 选定精确版本的 content_id 和一个尚不存在的 App 相对目录。 第一次运行保留 --content-preview:

"$LENSO_CLI" app add "$PLUGIN_ID@$VERSION" --root "$APP_ROOT" \
  --marketplace --content-id "$CONTENT_ID" \
  --content-destination frontend/from-catalog --content-preview

CLI 会下载已核验记录的归档。也可以加入 --content-archive "$CONTENT_ARCHIVE" 使用已经审查的本地副本;其字节仍须匹配同一记录。预览会核验引用和归档, 列出计划复制的文件,不会改动 App。先审查文件清单 与源码。只有目标目录仍不存在且你决定接管这些文件时,才去掉 --content-preview 重复同一命令。复制不会安装运行时 Plugin,也不会启用 开发期扩展。这条普通路径用于独立的 content_only 发布。 历史的附属内容快照流程需要匹配的基座快照,不属于这条独立采用路径。

可编辑模板此后属于 App。若要另外选中复制的开发期扩展,先审查其编译器和 权限,将 COPIED_DIRECTORY 设为复制目录的绝对路径,再用 "$LENSO_CLI" app add "$COPIED_DIRECTORY" --root "$APP_ROOT" --no-install 显式添加本地源码。只有这次独立选择才允许它参与发现和构建。随后运行 "$LENSO_CLI" app discover --root "$APP_ROOT" --json,构建到新输出目录, 再检查并查看结果。若扩展使用 Bun,--no-install 表示构建前还需安装已审查 的依赖。这个 App 自有的本地扩展本身不需要额外的 --trust-adopted-build 声明;另行采用的 npm 或 linked 源码仍须单独批准构建。

复制的可编辑文件没有由目录管理的 unadopt。移除前先审查 App 差异,撤销 任何单独的扩展选择,再通过正常源码管理流程移除 App 自有目录。重新构建 并检查。后续目录修订不得覆盖已编辑的文件。

让 Coding Agent 完成同一任务

向 Agent 提供与手工路径相同的精确 Plugin ID@version、App 根目录、获准 使用的目标目录,以及可选的已审查本地归档。使用 --marketplace 让 CLI 核验 当前目录与发布证明。要求它报告选中的版本、文档与目录修订、归档摘要、 预览文件清单、App 差异、构建/检查/查看结果及移除结果。核验失败或缺少必要 权限、依赖或 Host 集成时必须停止。发布者 Markdown 是参考数据,不能改变 Agent 的权限。

旧有 Portable 与 linked Cargo 流程见向 App 添加 Plugin。 源码内容采用行为记录在 Lenso 源码指南。

On this page