深色
风格
视觉表达
S 循环切换
经典
稳定的技术默认风格
信号流
突出动态流向
蓝图
工程评审
编辑风格
适合发布与上线说明
动态
演示
导出
导出图表
便携、整洁的输出
E
分享
分享卡片
1200×630 PNG
路径分享卡片
1200×630 PNG
可达范围分享卡片
1200×630 PNG
复制分享卡片
复制 PNG 到剪贴板
复制图表
复制 PNG 到剪贴板
图像
PNG
无损图像
JPEG
紧凑图像
WebP
现代图像格式
矢量与动效
SVG
可编辑矢量图
WebM
6 秒动效
插件发现与启用:ServiceLoader→manifest→apply→expose
←
引导视图
探索此系统
沿精选路径逐步查看,而不改变源图表。
节点
下一步
→
▶
播放故事
#
复制此刻
显示全部
插件发现与启用:ServiceLoader→manifest→apply→expose
由 Archify 生成的时序图。
① ExtensionRegistry.discover()
② loader.load() → ServiceLoader.load(Ai4jExtension)
DiscoveredExtension 列表(META-INF/services)
③ extension.manifest() → id/能力声明
④ enable(extensionId)
⑤ applyEnabledExtensions → ext.apply(context)
⑥ 注册 tool/command/skill/prompt/guardrail/hook
⑦ exposeTool(toolId) 显式放行
⑧ snapshot():只含 enabled+exposed 的贡献面
宿主启动方 · 启用入口 · 时序参与者
宿主启动方
启用入口
Registry · ExtensionRegistry · 时序参与者
Registry
ExtensionRegistry
Loader · ServiceLoader 实现 · 时序参与者
Loader
ServiceLoader 实现
Ai4jExtension · manifest + apply · 时序参与者
Ai4jExtension
manifest + apply
ExtContext · 六类注册表 · 时序参与者
ExtContext
六类注册表
图例
默认消息
就绪
章节 01 / 01
引导章节
图表指南
探索此系统
×
正在检查已编译语义
01
查找任意节点
搜索标签、职责、类型和稳定 ID。
/
02
追踪路径
查看两个语义节点如何按编写方向连接。
R
03
查看完整系统
打开带实时视口和稳定节点的语义雷达。
M
04
比较语义类型
统计角色、显示流量并比较直接编写的连接。
L
05
播放引导故事
浏览已编写的章节和真实关系。
P
06
进入演示模式
让实时图表占满视口,同时不改变导出。
F
E
导出
T
主题
S
风格
0
重置
+
放大
-
缩小
Esc
关闭
查找节点
×
⌕
/
没有匹配的节点
语义护照
已验证来源
编写可达范围
上游
0
下游
0
×
复制链接
关系
路径探测
选择起点节点
查找起点
复制链接
清除
在图表中选择两个语义节点
←
▶
旅程
→
总览
先选择来源,再选择目标;方向很重要。
语义透镜
比较系统角色
×
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
选择一种类型以检查其节点和相连关系。
复制链接
清除
语义雷达
正在构建总览
打开雷达
×
点击节点
拖动平移
语义雷达需要更多地图可见空间。
路径
地图
透镜
阅读
100%
发现即声明
• ServiceLoaderExtensionLoader 走标准 ServiceLoader 机制(META-INF/services),可传自定义 ClassLoader
• manifest() 提供 extensionId 与能力声明;discovered map 按 id 归一化登记,重复 id 拒绝
两道显式门
• enable(id) 只标记启用并触发 apply——贡献写进 ExtensionContext 各类注册表
• 工具要进宿主可见面还需 exposeTool(toolId) 白名单:enabled 但未 exposed 的工具不进 snapshot
校验与示例
• ExtensionValidator/ExtensionValidationReport 产出带 severity 的 issues;ExtensionToolSchemaValidator 校验工具 schema
• 官方示例 ai4j-plugin-ask-user:宿主中介的 ask-user 工具 + 命令 + Skill + Prompt 全套贡献