1.8 KiB
1.8 KiB
Business Plugin V1 边界
Core 负责
- 用户身份、密码、2FA、TokenVersion、会话撤销和管理员角色;
- 余额、余额流水、套餐、订阅、订单、用量、配额、计费和退款;
- 网关鉴权、请求路由、原子预留/结算、幂等和核心审计;
- Core 数据库 schema、迁移和事务;
- 现有
.s2plugintransport ABI 及 OpenAI OAuth 生命周期; custom_menu_items的最终校验和页面可见性。
控制面负责
- 业务插件清单、签名、公钥、包哈希和 Core 兼容性;
- 插件安装目录、revision、active 指针和旧版本保留;
- 独立服务进程的启停、drain、健康、升级和回滚;
- 插件配置加密、会话、CSRF、权限和控制面审计;
- 由插件声明的管理员菜单 preview/apply;
- 只允许服务端调用的 Core API Adapter。
业务插件负责
- 自己的业务 UI、HTTP API、BFF 和领域逻辑;
- 自己声明的 Core API allowlist、字段映射、分页和错误展示;
- 可删除、可重建的只读 projection;
- 自己的健康端点、版本报告和配置校验;
- 不影响 Core 的独立发布和回滚。
明确禁止
- 插件前端持有 Core JWT、refresh token、Admin Key 或服务 secret;
- 插件直连 Core PostgreSQL、Redis、宿主文件目录或内部 Go 包;
- 插件自行判断余额、权限、配额、计费或网关放行;
- 用多个 Admin API 拼接一个本应由 Core 原子事务完成的购买/扣款/续费;
- 把业务插件声明成
openai.oauth.outbound_transport.v1; - 通过 iframe URL、LocalStorage、查询参数或日志传递认证凭据;
- 由插件卸载流程删除 Core 账本、订阅或审计数据;
- 在 V1 承诺无感 SSO、远程任意下载、OS 沙箱或跨插件 RPC。