| 基本信息 | meta().task() | `Option<&str>` | 只读 | 任务类型(classify / detect 等),模型没声明时为 None |
meta().labels() | `&[String]` | 只读 | 类别名表,下标就是 class_id;缺失时是空表 |
meta().class_count() | `Option<i64>` | 只读 | 类别数量,模型没声明时为 None |
meta().input_width() | `Option<u32>` | 只读 | 输入宽度(像素),动态维度时为 None |
meta().input_height() | `Option<u32>` | 只读 | 输入高度(像素),动态维度时为 None |
meta().input_channels() | `Option<u32>` | 只读 | 输入通道数(1 / 3 / 4),动态维度时为 None |
meta().is_encrypted() | bool | 只读 | 是否为加密容器,创建时就会判定 |
meta().meta_json() | `&str` | 只读 | 模型元数据 JSON 原文,探测失败时为空串 |
| 授权 | license() | ModelState | 只读 | 授权态(明文 / 试用 / 绑定),构造或 open 时根据 probe 结果判定 |
| 运行时 | phase() | Phase | 只读 | 构造成功是 Loaded,open 成功是 Opened,open 失败是 Error |
selected_provider() | `Result<String, AiError>` | 只读 | 实际选定的 Provider,未 open 时返回 Err |
| 诊断 | last_error() | `Option<LastError>` | 只读 | 最近一次的失败信息,成功时为 None;推理失败只写这里,phase 仍为 Opened |