Open-Core 的 seam 设计
同一代码仓中,MIT 核心与企业实现(ee/)可读共存,但核心不得静态依赖企业包。无有效许可时企业代码不加载,客户可自行审计运行路径是否进入商业模块,不必只凭许可协议判断。
flowchart TD Req[请求商业能力] --> Lic{许可含特性?} Lic -->|否| F403[403 且不 load ee] Lic -->|是| Dyn[动态 import 企业实现] Dyn --> Run[执行]- 禁止核心静态
import企业树;唯一加载点经动态import()与字符串路径 - 钥匙:
AGENTFORGE_EE_LICENSE_KEY(RS256 JWT,含features[]) - 特性例:
multitenant、hitl、audit
两处 seam
Section titled “两处 seam”- 端点壳:租户/账号写、审计 verify/rehash 等先
require特性再加载企业实现 - 谓词:例如他人 HITL decide 需
hitl;本人确认留在开源核心
企业运行时可依赖核心 API;核心不反向静态依赖企业树。基线与可追溯讨论见基线可追溯。
相关阅读: