AXM 原创格式

AxonCog Native Module:原创跨平台动态链接库格式,独立于 PE/ELF/Mach-O

设计目标

AXM 是 AxonCog 原创的跨平台动态链接库格式,不依赖操作系统的 DLL/SO 机制, 使用自有魔数 AXONCOG/NEXUS,独立于 PE/ELF/Mach-O。

AXM 不仅用于加载 Nexus 认知增强引擎,它是底座的统一能力加载格式。 任何需要动态注入的能力模块——认知引擎、感知插件、领域知识包、技能模板—— 都可以打包为 .axm 文件,通过 AxmLoader trait 在运行时加载。

跨平台
同一格式可在桌面(x86_64/aarch64)、嵌入式 Linux、MCU 运行
no_std 兼容
格式解析器不依赖 std,可在 MCU 裸机环境运行
零依赖
不依赖 libloading、dlopen、LoadLibrary 等操作系统动态链接
原创格式
使用自有魔数 AXONCOG/NEXUS,独立于 PE/ELF/Mach-O
多能力加载
支持加载插件、知识包、技能模板等任意能力模块
安全可验
支持 SHA-256 校验和 + Ed25519 签名验证
XIP 支持
MCU 上可直接从 Flash 执行代码,无需拷贝到 RAM
能力声明
模块通过 28 位能力位掩码声明自身支持的功能

与 DLL/SO 的本质区别

维度DLL/SO.axm
格式标准PE(Windows) / ELF(Linux) / Mach-O(macOS)AxonCog 自有格式
魔数MZ / \x7fELF / \xfe\xed\xfaAXONCOG / NEXUS
加载机制OS 动态链接器 (dlopen/LoadLibrary)AxonCog Loader (mmap/VirtualAlloc/XIP)
MCU 支持不支持支持 (Flash XIP / RAM 拷贝)
no_std 支持不支持格式解析器 no_std
能力声明无统一机制28 位能力掩码
签名验证需额外工具内建 SHA-256 + Ed25519
依赖关系需解析动态库依赖自包含,无外部依赖

文件格式规范

AXM 文件由 128 字节文件头和 7 个段组成:

128B文件头(Header)
Code代码段:可执行机器码
ROData只读数据段:常量和查找表
Data初始化数据段:可读写全局变量
Symbol符号表:24B 每条目
Reloc重定位表:12B 每条目
String字符串表
Manifest清单:TLV 格式模块元数据

跨平台加载架构

桌面加载器(StdLoader)

使用 mmap/VirtualAlloc 映射文件,解析符号表,通过 FFI 调用模块函数。

MCU 加载器(McuLoader)

支持 XIP 模式(.axm 文件嵌入 Flash,直接从 Flash 执行代码,零 RAM 占用) 和 RAM 拷贝模式(将代码段从 Flash 拷贝到 RAM 执行)。

桥接器(NexusBridge)

从 .axm 文件加载 Nexus 引擎模块,模块不可用时自动降级为 FallbackEngine。

安全验证机制

AXM 格式内建双重安全验证,在加载时自动执行,无需额外工具。在 MCU 上同样可用。

SHA-256 校验和

验证文件完整性,防止传输损坏或篡改。

Ed25519 签名验证

验证模块来源可信,防止未授权模块加载。

能力声明系统

AXM 模块通过 28 位能力位掩码声明自身支持的功能。其中低 6 位为基础能力 (推理、生成、因果、预训练等),高位为高级认知能力。

加载方通过 bridge.capabilities() 查询能力掩码,按需调用相应功能。 不支持的能力会返回错误,不会导致崩溃。