# 自修复本机配置 自修复业务代码、诊断规则和固件工程随仓库交付。服务会自动识别仓库内固件、 标准安装位置的 IAR Embedded Workbench 9.2/9.4 与 ZLG 驱动运行时;非标准安装位置仍可 通过下列环境变量覆盖。未识别到工具时,影子自修复与硬件规则自检可正常使用, 所有依赖实物或烧录工具的操作保持不可用。 | 环境变量 | 用途 | 未配置时的行为 | | --- | --- | --- | | `SELF_REPAIR_RUNTIME_DIR` | bridge 心跳和请求队列 | 使用 `artifacts/tmp/self-repair/runtime` | | `SELF_REPAIR_BRIDGE_STATUS_PATH` | 共享 CAN Runtime 状态 JSON | 使用 runtime 目录下的 `bridge_status.json` | | `SELF_REPAIR_BRIDGE_SCRIPT_PATH` | 传输无关的座椅协议引擎 | 使用仓库内 `tools/zcan/seat_self_repair_bridge.py` | | `SELF_REPAIR_DIAGNOSTIC_CONFIG` | 电流、Hall 和超时阈值 | 使用本目录 `signal_diagnostic_config.json` | | `SELF_REPAIR_LOG_DIR` | 软件闭环报告 | 使用 `artifacts/self-repair/software` | | `SELF_REPAIR_HARDWARE_LOG_DIR` | 硬件诊断报告 | 使用 `artifacts/self-repair/hardware` | | `SELF_REPAIR_FIRMWARE_LOG_DIR` | 构建与烧录日志 | 使用 `artifacts/self-repair/firmware` | | `SELF_REPAIR_FIRMWARE_ROOT` | `Seat_Controller_demo` 固件根目录 | 使用仓库内 `firmware/t2g/Seat_Controller_demo` | | `SELF_REPAIR_IAR_BUILD_PATH` | IAR `IarBuild.exe` | 尝试识别标准 9.2/9.4 安装,失败则构建/烧录不可用 | | `SELF_REPAIR_CSPY_BAT_PATH` | IAR `cspybat.exe` | 尝试识别标准 9.2/9.4 安装,失败则烧录不可用 | | `SELF_REPAIR_CSPY_GENERAL_PATH` | C-SPY general `.xcl` | 默认从固件工程推导 | | `SELF_REPAIR_CSPY_DRIVER_PATH` | C-SPY driver `.xcl` | 默认从固件工程推导 | | `COGNITIVE_AGENT_CAN_RUNTIME_BACKEND` | `standalone-zlg` 或兼容回退 `zcanpro` | 默认 `standalone-zlg`,无需启动 ZCANPRO 界面 | | `COGNITIVE_AGENT_SHARED_CAN_RUNTIME_ENABLED` | 自编排与自修复共享同一设备所有者 | 默认 `true` | | `COGNITIVE_AGENT_ZLGCAN_PYTHON` | 可加载当前 ZLG DLL 的 Python | 默认使用已安装工具中的 32 位 Python | | `COGNITIVE_AGENT_ZLGCAN_DLL` | ZLG 官方驱动 DLL | 默认使用标准安装目录下的 `zlgcan.dll` | | `SELF_REPAIR_ZCANPRO_EXE` | 兼容回退模式的 `ZCANPRO.exe` | 仅 `COGNITIVE_AGENT_CAN_RUNTIME_BACKEND=zcanpro` 时使用 | | `SELF_REPAIR_ZCANPRO_SCRIPT_CONFIG` | 兼容回退模式扩展脚本配置 | 仅 ZCANPRO backend 使用 | | `SELF_REPAIR_AUTO_START_BRIDGE` | 服务启动后允许一次 bridge 拉起 | 默认 `false` | PowerShell 示例(路径按本机安装位置填写): ```powershell $env:SELF_REPAIR_FIRMWARE_ROOT = 'D:\firmware\Seat_Controller_demo' $env:SELF_REPAIR_IAR_BUILD_PATH = 'C:\Program Files\IAR Systems\Embedded Workbench 9.4\common\bin\IarBuild.exe' $env:SELF_REPAIR_CSPY_BAT_PATH = 'C:\Program Files\IAR Systems\Embedded Workbench 9.4\common\bin\cspybat.exe' $env:COGNITIVE_AGENT_CAN_RUNTIME_BACKEND = 'standalone-zlg' $env:COGNITIVE_AGENT_SHARED_CAN_RUNTIME_ENABLED = 'true' $env:COGNITIVE_AGENT_ZLGCAN_PYTHON = 'C:\Program Files (x86)\ZCANPRO\python38\python.exe' $env:COGNITIVE_AGENT_ZLGCAN_DLL = 'C:\Program Files (x86)\ZCANPRO\zlgcan.dll' $env:SELF_REPAIR_AUTO_START_BRIDGE = 'false' python -m cognitive_agent.server ``` 建议先保持 `SELF_REPAIR_AUTO_START_BRIDGE=false` 完成影子验证。在已清空的本机 HIL 台架上确认固件、CH0/CH1 参数和针脚配置后,再通过 admin 页面显式启动实物流程。 默认 Runtime 在第一次硬件请求时打开设备一次并保持在线;座椅 CH0 和车端 CH1 由同一所有者管理。不要同时启动 ZCANPRO,否则厂商驱动会拒绝第二个设备所有者。