-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture Overview
EnerOS Bot edited this page Jul 5, 2026
·
1 revision
中文 | English
维护版本:v0.51.2 | 最后更新:2026-07-06
EnerOS 采用双执行域 + 11 层架构:通用执行域承载 Agent 编排与 AI 推理,实时执行域保障保护逻辑与开关操作的确定性时延;底层由 56 个 crate 按依赖方向分层组织。
完整架构文档见 README §系统架构 与 docs/developer-guide.md §1。
┌─────────────────────────────────────────────────────────────────┐
│ 通用执行域 (General Domain) │
│ Agent 运行时 · AI 推理 · 规划优化 · 人机交互 │
│ 响应时间:秒级 ~ 分钟级 │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 实时安全网关 (RT Safety Gateway) │ │
│ │ 跨域通信 · 指令下发 · 状态同步 · 优先级仲裁 │ │
│ └────────────────────────┬─────────────────────────────────┘ │
├───────────────────────────┼─────────────────────────────────────┤
│ 实时执行域 (Real-Time Domain) │
│ 继电保护 · 开关操作 · 故障隔离 · 频率调节 │
│ 响应时间:微秒级 ~ 毫秒级 │
└─────────────────────────────────────────────────────────────────┘
| 执行域 | 调度策略 | 典型任务 | 响应时延 |
|---|---|---|---|
| 通用执行域 | 公平调度 | Agent 编排、AI 推理、潮流计算 | 秒级 ~ 分钟级 |
| 实时执行域 | 优先级抢占(SCHED_FIFO) | 继电保护、开关操作、故障隔离 | 微秒级 ~ 毫秒级 |
核心原则:安全域不可被通用域阻塞 / 单向信任 / 跨域通过 SafetyGateway / 故障降级到本地保护逻辑。
┌─────────────────────────────────────────────────────────────────┐
│ L3 应用层 eneros-api (HTTP/WS/CLI) · eneros-dashboard │
│ eneros-iot-hub · eneros-3d · eneros-report │
├─────────────────────────────────────────────────────────────────┤
│ L3 编排层 eneros-agent (7种专业Agent+编排+调度+协作) │
│ eneros-gateway (7阶段决策管线+安全网关+执行器) │
│ eneros-multiregion (多区域HA+DR+滚动升级) │
│ eneros-edge (边缘设备管理+批量OTA) │
├─────────────────────────────────────────────────────────────────┤
│ L2 能力层 eneros-reasoning · eneros-tool · eneros-memory │
│ eneros-scada · eneros-device · eneros-constraint │
│ eneros-analysis · eneros-network · eneros-bridge │
│ eneros-timeseries · eneros-equipment · eneros-tenant │
│ eneros-ai · eneros-ids · eneros-compliance │
│ eneros-i18n · eneros-twin │
├─────────────────────────────────────────────────────────────────┤
│ L9 NL 层 eneros-nl (自然语言查询引擎+8意图) │
├─────────────────────────────────────────────────────────────────┤
│ L1 协议层 eneros-protocol-mqtt · eneros-protocol-coap │
│ eneros-protocol-lwm2m · eneros-protocol-dlt698 │
│ eneros-protocol-iec103 · eneros-protocol-cdt │
│ eneros-protocol-pmu · eneros-protocol-iccp │
├─────────────────────────────────────────────────────────────────┤
│ L1 核心层 eneros-powerflow · eneros-topology · eneros-eventbus │
│ eneros-equipment · eneros-memory · eneros-timeseries │
│ eneros-trust · eneros-audit │
├─────────────────────────────────────────────────────────────────┤
│ L0 基础层 eneros-core (类型/错误/配置/线性代数/i18n+privacy) │
└─────────────────────────────────────────────────────────────────┘
| 层级 | 职责 | 代表 crate |
|---|---|---|
| L0 基础层 | 领域类型、错误、配置、线性代数 | eneros-core, eneros-linalg |
| L1 核心层 | 拓扑、潮流、设备、事件、时序、信任、审计 | eneros-powerflow, eneros-topology, eneros-trust |
| L1 协议层 | 8 个独立协议 crate(MQTT/CoAP/LwM2M/DLT698/IEC103/CDT/PMU/ICCP) | eneros-protocol-* |
| L2 能力层 | 推理、工具、记忆、SCADA、设备、约束、分析、AI、租户、合规、i18n、孪生 | eneros-ai, eneros-tenant, eneros-twin |
| L9 NL 层 | 自然语言查询 | eneros-nl |
| L3 编排层 | Agent 编排、安全网关、多区域 HA、边缘 | eneros-agent, eneros-gateway, eneros-multiregion |
| L3 应用层 | HTTP/WS API、Dashboard、IoT Hub、3D、报表 | eneros-api, eneros-dashboard |
详见 Layered Dependencies 与 Crate Index。
- 内核-用户分离 — 物理约束执行在内核层,Agent 逻辑在用户层
- 图为中心 — 电网拓扑图是系统核心索引,一切操作围绕图展开
- 事件驱动 — 基于事件总线的异步架构,适配实时响应
- 插件架构 — 设备协议、求解器、Agent 能力均以插件形式接入
- 标准合规 — 设备模型与通信协议遵循 IEC 61850 / IEC 60870-5-104 / GB 系列
| ADR | 主题 |
|---|---|
| ADR-0002 | Power-Native AgentOS 定位 |
| ADR-0003 | 插件进程隔离 |
| ADR-0015 | RT 类型层与安全类型层 |
| ADR-0016 | v0.50.0 MVP 纵向闭环 |
完整 19 个 ADR 见 ADRs 索引。
- Power-Native Design — 六大设计哲学详解
- Dual Execution Domain — 实时域类型层保证
- Layered Dependencies — 依赖方向规则
- Crate Index — 56 crates 完整索引
EnerOS Wiki | v0.51.2