原生依赖
扩展包本身仍是 data-only。需要本机二进制时,用 host-managed native dependency 声明,由 Jarvis host 审核、下载、校验、安装、启动和健康检查。
什么时候需要
标题为“什么时候需要”的章节以下情况应声明原生依赖:
- MCP server 需要本机 daemon;
- workflow 依赖固定 CLI;
- profile 调用的工具不是 Jarvis 内置能力;
- 扩展功能依赖平台相关二进制。
声明原则
标题为“声明原则”的章节- 不在 pack 里放安装脚本。
- 不在 README 中要求用户执行不透明 curl pipe shell。
- 每个平台 artifact 都要有
sha256、大小、文件名和 binary name。 - 原生依赖默认不自动安装;需要用户显式确认。
- 服务默认绑定 loopback,不能把外部监听藏进 pack。
Installability
标题为“Installability”的章节如果原生依赖安装包没准备好,catalog 必须返回不可安装状态。需要本机二进制的扩展必须显示禁用按钮和原因,直到对应安装包、hash、平台选择和用户同意流程都完成。
MemAgora 0.3.3 属于这个路径:jarvis.memagora 声明 host-managed memagorad,Jarvis 只在用户确认后下载并校验当前平台二进制。二进制 SHA 匹配时,Jarvis 可以复用已安装的 native dependency,而不是每次重新下载。
审核信息
标题为“审核信息”的章节原生依赖审核至少覆盖:
- upstream repository;
- license;
- 支持平台;
- artifact 构建来源;
- hash;
- 是否会后台联网;
- 卸载方式。