深色
风格
视觉表达
S 循环切换
经典
稳定的技术默认风格
信号流
突出动态流向
蓝图
工程评审
编辑风格
适合发布与上线说明
动态
演示
导出
导出图表
便携、整洁的输出
E
分享
分享卡片
1200×630 PNG
路径分享卡片
1200×630 PNG
可达范围分享卡片
1200×630 PNG
复制分享卡片
复制 PNG 到剪贴板
复制图表
复制 PNG 到剪贴板
图像
PNG
无损图像
JPEG
紧凑图像
WebP
现代图像格式
矢量与动效
SVG
可编辑矢量图
WebM
6 秒动效
沙箱 SPI:Provider → Session → 命令执行
←
引导视图
探索此系统
沿精选路径逐步查看,而不改变源图表。
节点
下一步
→
▶
播放故事
#
复制此刻
显示全部
沙箱 SPI:Provider → Session → 命令执行
由 Archify 生成的架构图。
SandboxSpec · providerId/image/workspaceId · 沙箱 SPI(ai4j-agent/sandbox)
SandboxSpec
providerId/image/workspaceId
SandboxProvider · SPI · supports/createSession · 沙箱 SPI(ai4j-agent/sandbox) · spi
SandboxProvider
SPI · supports/createSession
spi
云沙箱实现 · E2B · Daytona · CubeSandbox · 沙箱 SPI(ai4j-agent/sandbox) · spi
云沙箱实现
E2B · Daytona · CubeSandbox
spi
bash 工具执行器 · SandboxShellCommandExecutor · ai4j-coding 消费侧 · exec
bash 工具执行器
SandboxShellCommandExecutor
exec
SandboxSession · execute/cancel/artifacts/close · 沙箱 SPI(ai4j-agent/sandbox) · exec
SandboxSession
execute/cancel/artifacts/close
exec
CodingSandboxRuntime · session 薄包装 · ai4j-coding 消费侧 · exec
CodingSandboxRuntime
session 薄包装
exec
SandboxResult · stdout/stderr/exitCode · 沙箱 SPI(ai4j-agent/sandbox) · exec
SandboxResult
stdout/stderr/exitCode
exec
SandboxEvent · 会话与命令状态事件 · 沙箱 SPI(ai4j-agent/sandbox) · exec
SandboxEvent
会话与命令状态事件
exec
① supports(spec)
② 三种实现
③ createSession
④ execute(SandboxCommand)
⑤ 命令结果
⑥ 持有 session
⑦ 事件上报
沙箱 SPI(ai4j-agent/sandbox)
ai4j-coding 消费侧
图例
后端
云服务
消息总线
就绪
章节 01 / 01
引导章节
图表指南
探索此系统
×
正在检查已编译语义
01
查找任意节点
搜索标签、职责、类型和稳定 ID。
/
02
追踪路径
查看两个语义节点如何按编写方向连接。
R
03
查看完整系统
打开带实时视口和稳定节点的语义雷达。
M
04
比较语义类型
统计角色、显示流量并比较直接编写的连接。
L
05
播放引导故事
浏览已编写的章节和真实关系。
P
06
进入演示模式
让实时图表占满视口,同时不改变导出。
F
E
导出
T
主题
S
风格
0
重置
+
放大
-
缩小
Esc
关闭
查找节点
×
⌕
/
没有匹配的节点
语义护照
已验证来源
编写可达范围
上游
0
下游
0
×
复制链接
关系
路径探测
选择起点节点
查找起点
复制链接
清除
在图表中选择两个语义节点
←
▶
旅程
→
总览
先选择来源,再选择目标;方向很重要。
语义透镜
比较系统角色
×
最多选择两种语义类型。选择一种可显示其真实流量;选择两种只比较直接编写的关系。
选择一种类型以检查其节点和相连关系。
复制链接
清除
语义雷达
正在构建总览
打开雷达
×
点击节点
拖动平移
语义雷达需要更多地图可见空间。
路径
地图
透镜
阅读
100%
SPI 三方法
• getProviderId:稳定 ID,供配置/blueprint/插件清单引用;supports(spec):能否满足该规格;createSession(spec):建隔离会话
• 内置实现:E2B、Daytona、CubeSandbox——各带独立 Client/Config/Session;新增厂商只实现这一个接口
会话即隔离边界
• SandboxSession.execute(SandboxCommand)→SandboxResult{stdout/stderr/exitCode/timedOut};cancel(commandId) 取消在跑命令
• listArtifacts() 取回会话产物;close() 释放远端资源;SandboxStatus 反映会话生命周期
与权限/编码侧联动
• bash 工具经 SandboxShellCommandExecutor 把命令+工作目录+超时翻译为 SandboxCommand,并打 metadata{tool:bash, routing:ai4j-coding}
• 权限决策带执行环境:LOCAL / SANDBOX / REMOTE_SANDBOX——沙箱命令可与本地命令走不同审批策略