用一个软件包分发相关能力

Rudder 插件是一个分发单元,里面可以包含一个或多个技能、MCP 服务端定义或应用。 它可以使用带 .codex-plugin/plugin.json 清单的 Codex 插件目录格式,也可以从 skills add 兼容的公开来源确定性生成只包含技能的软件包。 插件负责把相关能力组织在一起,不提供另一套 Rudder 运行时。技能仍由 Agent 使用; MCP 服务端仍通过托管 MCP 完成认证和访问控制;本地应用仍由原来的应用运行时启动。

安装会发生什么

Rudder 会先检查软件包,不执行其中内容,并显示身份、来源、摘要、支持的组件、 警告和错误。安装后会为当前组织创建不可变快照。随后可以把软件包中的技能分配给 Agent,并完成 MCP 的认证或访问设置。 输入可以是 Rudder 精选目录、兼容的公开 GitHub 技能来源、目录、受大小限制的 .zip、本地 Codex 市场,或使用完整 commit SHA 固定的 HTTPS GitHub 市场。 精选和链接来源会在详情出现前解析为不可变发布版本或默认分支提交。市场策略 会作为来源信息保留,但不会绕过 Rudder 预览或触发静默安装。 如果软件包中的技能与组织技能冲突,安装会暂停,直到操作者明确选择保留现有技能、 替换,或使用不同名称同时安装。 本地应用也会作为只包含应用的插件出现在 Hub > Plugins。直接启动方式 和原有 /apps/... 路由保持不变。应用构建器生成的新版本会成为待检查的 不可变更新;当前版本会保持生效,直到用户预览并应用。 对软件包技能选择 Customize 会创建一个带软件包来源信息、但可独立编辑的 组织技能。这个副本不再受插件更新、禁用或卸载控制。 在输入框的 @ 搜索中,已安装的插件只显示为一个能力入口。Rudder 不会把插件 内部的每个技能拆成独立结果;独立创建或通过 Customize 生成的技能仍可单独搜索。 当多个能力共同服务于一个可复用工作流,或需要把应用作为一个完整能力分发时,适合 使用插件。如果技能需要被用户独立查找、分配和持续修改,则应保留为独立技能。

生命周期和信任边界

禁用插件会阻止其能力进入新的工作,但不会删除外部连接、应用源码或应用 数据。重新启用会恢复之前的技能分配。卸载只移除软件包拥有的投影,不删除用户 工作和独立管理的资源。 更新也必须先经过预览。Rudder 会对比新旧执行面;如果技能执行或 MCP 访问扩大, 必须显式确认。Rudder 会先准备新版本的组件投影,再切换当前软件包;如果准备失败, 现有版本继续生效。成功更新后,上一份不可变软件包仍可用于显式回滚。 已启用的托管 MCP 连接可以提供 HTML 界面资源。Rudder 会列出这些资源,并在 禁止网络访问的沙箱中打开;.app.json 中的应用别名不会启用这条路径。 导入的软件包都应当按不可信输入处理。安装前检查发布者、版本、文件、凭据引用、 不支持的字段和兼容性报告。Rudder V1 不运行插件工作进程、任务、Webhook、界面 插槽、钩子、浏览器扩展、定时任务模板或任意软件包代码,也不会执行 npx 或仓库的 安装生命周期。 完整步骤见安装和管理插件