DeepStream Config Auditor 是一个用于审计 DeepStream 配置的技能,适用于已有配置或设计变更的独立审查场景。
主要用途:
- 对用户提供或预先存在的 deepstream-app/deepstream-test5 配置文件进行正确性、用例匹配和运行时就绪性审查。
- 对粘贴的配置片段执行静态审计。
- 审查可能改变 DeepStream 配置解析或行为的代码/设计变更。
- 在用户明确要求对生成的配置进行独立审计时使用。
不适用于:
- 根据需求生成新配置(应使用 deepstream-generate-config)。
- ONVIF 发现或未知摄像头 URI 解析(暂无对应技能)。
- nsys 性能分析(应使用 deepstream-profile-pipeline)。
- 仅运行已通过验证的配置(直接使用 deepstream-app -c)。
主要能力:
- 静态校验:通过 scripts/validate_config.py 解析 .txt、.yml、.yaml 文件,基于规则评估,不启动 DeepStream/GStreamer/GPU 工具或打开套接字。需要 Python 3.8+,YAML 需 PyYAML。
- 运行时探测(需用户明确批准):包括插件/主机就绪(gst-inspect-1.0、可选 nvidia-smi)、源可达性(--probe-sources / --probe-rtsp)、NTP/RTCP SR(--probe-rtsp / --probe-ntp)、sink/group 冒烟(--probe-sinks / --probe-groups)以及精确配置应用冒烟(--probe-pipeline 加 --confirm-pipeline-probe,运行 deepstream-app 或 deepstream-test5-app)。
- 设计/代码审查:无配置内容时,依据 references/design_review.md 和 references/rules.md 检查提供的工件。
使用方式:
- 默认运行离线静态校验:python3 scripts/validate_config.py <config-file> --intent "<用户请求>"
- 仅当用户明确批准后,才添加 --check-runtime 或 --probe-* 标志。
- 精确配置管道冒烟需先声明副作用类别、设置有限超时并获得明确同意,然后运行带 --probe-pipeline、--confirm-pipeline-probe 和 --timeout-sec 的命令。
- 输出 JSON 可通过 --json 获取,包含 summary 和 findings。退出码:0 无错误,1 至少一个错误,2 CLI/输入错误。
适用场景:
- 审查生产 RTSP 摄像头配置、Kafka 消息代理配置、解复用、跟踪器等。
- 验证配置是否满足特定用例(如 4 个生产 RTSP 摄像头)。
- 在部署前进行静态和(经批准的)运行时检查。
限制:
- 静态校验无法证明源可达性、摄像头 RTCP/NTP 质量、模型可加载性、显示可用性、代理交付或端到端管道成功,这些需要相应经批准的探测。
- 运行时探测需在目标 DeepStream 主机/容器上运行,依赖所需二进制、GPU、网络访问和凭据。
- 不发明配置键,不将示例配置视为通用。
- 不运行特权命令,不嵌入凭据,报告中脱敏 RTSP 密码。
- 编辑/重新验证最多重试一次,不自动重复循环。