采用签名 npm 或源码内容发布
核对一个精确的 Plugin 版本和发布物,将源码复制与运行时选择分开。
此页不会替代缺失的已发布版本。 查询确切版本
- 语言
- zh-CN
- 内容修订
sha256:9318b646415bbb4a8ad0bec1d4cb4e0a1d11fc30850982cdd873a04a805dbeb1
使用 @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-previewCLI 会下载已核验记录的归档。也可以加入 --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 源码指南。