扩展总览
本页面向想把团队工作流分发给他人的开发者。读完后,你会知道扩展包解决什么问题、Phase 1 能做什么,以及哪些能力必须等到更强的插件运行时。
Jarvis Phase 1 的扩展系统叫 Declarative Extension Packs。扩展包只提供数据:Agent Profile、Workflow 和 slash command 到 Core action 的映射。Jarvis Core 负责校验、安装、启停、持久化、UI 展示、worker 启动和权限执行。
为什么已有自定义还需要扩展包
标题为“为什么已有自定义还需要扩展包”的章节Workflow 和 Agent Profile 已经可以在核心产品里手动创建。扩展包解决的是另一个问题:让第三方维护者把一组配置作为一个可版本化、可验证、可禁用、带来源信息的交付物发布。
这对长期尾需求更有价值。核心开发者不适合维护每个团队的发布流程、数据库隧道、值班巡检、代码评审偏好或迁移 SOP;扩展作者可以维护自己的 pack,Jarvis 只维护稳定的 host 边界。
Core 与 Pack 的边界
标题为“Core 与 Pack 的边界”的章节| 领域 | Jarvis Core | Extension Pack |
|---|---|---|
| Manifest | 解析、schema 校验、兼容性判断、权限展示 | 声明身份、版本、贡献点、权限和适用条件 |
| Agent Profile | YAML 解析、lint、worker 启动、MCP 合并 | 提供 profile YAML,不写密钥明文 |
| Workflow | 校验 DAG、持久化、运行快照、pipeline engine 执行 | 提供 workflow spec 和 pack-local profile 引用 |
| Slash command | 解析、补全、路由、执行 Core action | 声明 /command 映射到 workflow、profile 或 route |
| 安全 | 禁止可执行入口、展示风险、锁定 pack-owned 对象 | 声明需要的能力,接受校验失败 |
Phase 1 能力
标题为“Phase 1 能力”的章节- 安装 server-local 目录形式的扩展包。
- 使用
jarvis-pack.yaml声明 pack identity、engine 兼容性、permissions、secrets 和 contributions。 - 贡献 Agent Profile、Workflow 和 slash command。
- 把 workflow 中的
profile:<local-id>重写为安装后的真实 profile id。 - 在 Settings → Extensions 中验证、安装、启用、停用和卸载 pack。
- 在 slash command 菜单中显示 extension command 来源。
- 将 extension-owned Profile 和 Workflow 展示为 locked,只能复制后编辑。
Phase 1 不能做什么
标题为“Phase 1 不能做什么”的章节- 不能运行第三方 Python、JavaScript 或 shell 插件代码。
- 不能注册任意 slash command handler。
- 不能贡献自定义 UI panel 或 Webview。
- 不能从在线 marketplace 自动拉取、安装或更新。
- 不能绕过 Jarvis worker 的权限模型。
下一步
标题为“下一步”的章节- 用 快速开始 安装仓库内的示例 pack。
- 按 创建扩展包 打包自己的 workflow/profile。
- 查 Manifest 参考 和 贡献点参考。