跳转到内容

原生依赖

扩展包本身仍是 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。

如果原生依赖安装包没准备好,catalog 必须返回不可安装状态。需要本机二进制的扩展必须显示禁用按钮和原因,直到对应安装包、hash、平台选择和用户同意流程都完成。

MemAgora 0.3.3 属于这个路径:jarvis.memagora 声明 host-managed memagorad,Jarvis 只在用户确认后下载并校验当前平台二进制。二进制 SHA 匹配时,Jarvis 可以复用已安装的 native dependency,而不是每次重新下载。

原生依赖审核至少覆盖:

  • upstream repository;
  • license;
  • 支持平台;
  • artifact 构建来源;
  • hash;
  • 是否会后台联网;
  • 卸载方式。