跳转到内容

为什么使用插件

Jarvis Core 负责稳定的会话、权限、运行时、UI 和数据边界。插件负责把某个团队、领域或工作方式需要的配置和工具能力打包出来,让别人可以审查、安装、启用、更新和卸载。

这个边界让 Jarvis 能支持更多长尾需求,而不把所有场景都塞进核心产品。

很多有价值的能力不是所有用户都需要:

  • 团队自己的代码审核流程;
  • 某个行业的值班、发布或迁移 SOP;
  • 特定模型、权限和目录组合的 Agent Profile;
  • 一组可复用的 workflow;
  • 本机工具或 daemon 通过受控接口暴露给 worker。

如果这些能力都进入 Core,Jarvis 会变重、权限面会变大、发布节奏也会被长尾场景拖慢。插件让维护者把自己的场景作为独立交付物维护,Jarvis 只维护安装、校验、权限展示和运行时接线。

Jarvis 插件当前主要共享声明式贡献点:

贡献点 适合承载
Agent Profile 模型、运行时、工作目录、工具和权限默认值
Workflow 多 worker 流程、交接 schema、监督策略
Slash command 把常用动作做成 /command 入口
Workspace 插件需要的 Jarvis-managed 数据目录
Native service 由 Jarvis 下载、校验和启动的本机 daemon
Internal MCP server 由 Jarvis relay 注入给 worker 的受控工具

插件包仍是 data-only。它不能把任意脚本、密钥或隐式安装逻辑塞进 Jarvis。

插件市场解决发现、信任和更新问题:

  • 用户能在 https://jarvis.xcos.dev/plugins 看到可安装插件;
  • 本机 Jarvis 会在安装前展示来源、版本、hash、签名、权限和原生依赖;
  • 安装时由本机 Jarvis 下载并校验 artifact,而不是网页直接运行代码;
  • 更新时 Jarvis 能比较已安装版本和 catalog latest,并要求用户重新审查能力变化;
  • 维护者可以把新版本作为不可变 artifact 发布,保留可回滚的来源记录。

公共网页只负责展示。真正的安装入口在本机 Jarvis。

领域 Jarvis Core 插件
安装 下载、验签、hash 校验、写入本机数据库 提供不可变 pack 和 metadata
权限 展示、审查、启停、阻断危险能力 声明需要的能力
运行 启动 worker、合并 profile、注入 MCP 声明 contribution
原生依赖 下载、校验、安装、启动、健康检查 声明需要哪个 dependency
数据 管理 Jarvis data dir 和用户配置 使用受控 workspace
发布 catalog、签名、版本生命周期 提供 changelog、隐私说明和支持入口

以下能力应该留在 Core 或先作为 Jarvis 功能设计:

  • 每个用户都会用到的基础会话能力;
  • 影响全局权限模型或安全边界的能力;
  • 需要任意代码执行、复杂 UI 或长期后台权限的能力;
  • 还没有清晰维护者、升级策略和隐私说明的实验。

插件适合已能被描述为稳定交付物的场景:谁维护、装了会贡献什么、会访问什么、如何卸载、如何升级,都能在安装审查里说清楚。