插件扩展体系:发现 → 授权 → 装配进宿主

插件扩展体系:发现 → 授权 → 装配进宿主 由 Archify 生成的架构图。 扩展 JAR · META-INF/services + 资源 · 架构组件 扩展 JAR META-INF/services + 资源 ExtensionLoader · ServiceLoader 实现 · ai4j-extension-api(轻量契约模块) ExtensionLoader ServiceLoader 实现 AskUserExtension · 官方示例插件 · 架构组件 AskUserExtension 官方示例插件 Ai4jExtension · manifest() + apply(ctx) · ai4j-extension-api(轻量契约模块) · contract Ai4jExtension manifest() + apply(ctx) contract ExtensionRegistry · discover/enable/expose/apply · ai4j-extension-api(轻量契约模块) · gate ExtensionRegistry discover/enable/expose/apply gate ActivationPlan · 逐项激活报告 · ai4j-extension-api(轻量契约模块) · gate ActivationPlan 逐项激活报告 gate ExtensionContext · 注入五类注册表 · ai4j-extension-api(轻量契约模块) · gate ExtensionContext 注入五类注册表 gate 能力注册表 · tool/command/skill/prompt/guardrail · ai4j-extension-api(轻量契约模块) · gate 能力注册表 tool/command/skill/prompt/guardrail gate 宿主面 · Agent 工具 · CLI 命令 · Skill · 宿主装配面 宿主面 Agent 工具 · CLI 命令 · Skill ① 服务发现 ② load→注册 ③ implements ④ apply(ctx) ⑤ apply→plan ⑥ 激活项 ⑦ 注册能力 ⑧ 显式 expose 后可用 ai4j-extension-api(轻量契约模块) 宿主装配面 图例 前端 后端 数据库 云服务 安全

两道显式闸门

  • • enable(extensionId):整个扩展默认不启用,发现≠生效;requireKnownExtension 拒绝未知 ID
  • • exposeTool/allowCommand/allowSkill/allowPrompt/allowGuardrail:能力逐项再授权——扩展声明了不等于宿主放行

五类能力注册表

  • • ExtensionContext 暴露 tools()/commands()/skills()/prompts()/guardrails()——apply 里各取所注册表
  • • ask-user 示例一次注册全四类:ask_user 工具 + ask-user 命令 + SKILL.md + prompt 模板(同名 ID 体系)

Manifest 即契约

  • • id/name/version/vendor + capability 集合 + permission + configPrefix——宿主按清单决定展示与配额
  • • ActivationPlan/InspectionSnapshot/RuntimeSnapshot 三层回读:激活项、静态检查、运行时状态都可观测