更新日志
v0.8.1 (2026-10-15)
改进
register_model()相关测试改为以model_type注册检测模型,与运行时后处理链接行为对齐
文档
新增中英双语「学习路径」页:按首跑、看活的、拿来用、交付、查阅五阶段组织入门路径,逐阶段指向 quickstart、教学 demo、examples 阶梯与应用镜像指南
README 补齐 Overlay / StreamPipeline / Audio / DSP 四节 API 速览与教学 demo 章节,与 0.8.0 门面逐符号对账
学习路径阶段 3 与 apps 仓
examples/的编号阶梯(01–07)互链;阶梯 05 即教学 demo 站 1 的独立 app 版新增「设备开通」页(中英双语):从购买 NE503 到首次登录——首连静态地址
10.0.0.1/24、出厂凭据、SSH 与网页终端、组播发现;作为学习路径的阶段 0 反向互链
v0.8.0 (2026-09-16)
新增功能
客户端推理管线:新增
Preprocessor/PreprocessMeta、YoloV5Postprocessor/YoloV8Postprocessor、InferencePipeline与PipelineRunner,支持从模型规格派生预处理、结果坐标映射、可替换后处理、异步执行,以及带最新帧优先背压和统计信息的长驻运行器平台调度管线:新增
StreamPipeline/StreamPipelineStatus,组合InferenceClient.subscribe()与OverlayClient,在像素不进入应用进程的情况下完成推理、过滤、硬件叠加和应用侧结果消费,并提供丢帧、延迟、时序偏差和错误观测帧注入输出路径:新增
FramePublisher及CameraClient.push_frame()/injection_status()/stop_injection(),支持 replace / overlay、NV12 / RGB 发布、EOS 恢复与会话标记;写租约感知的缓冲池只复用 daemon 已释放的槽位,兼容旧版 daemon 的深度轮转模式叠加层帧同步与观测:
OverlayClient支持严格对帧模式,以及frame_sequence/stream_epoch/session_id绑定;StreamStatus新增编码发布、叠加烘焙、严格锁帧、迟到命令和代数拒绝计数部署诊断:新增永不抛错的
diagnostics()快照、可按应用要求验收并抛出汇总错误的diagnostics.check(),以及应用级set_route_policy()加速策略入口推理模型信息:
register_model()支持batch_size,ModelInfo透传服务端批大小;InferenceResult新增服务端计算的skew_us端到端设备驻留数据链:DSP 路由器复用进程级客户端;
resize_hw/convert_hw支持out="ref"返回DspBufferRef,推理可直接消费设备侧引用,NV12 预处理可直通,BLEND 可直接写入FramePublisher池槽,避免中间读回与重复导入区域化叠加渲染:新增
render_overlay_fragments(),把描边拆成受 DSP batch 上限约束的偶数尺寸条带,减少全幅 ARGB 覆盖层的带宽和内存开销
改进
Frame的裁剪 / 缩放链保留组合几何变换元数据;keep-fd 帧在预处理、推理、混合和发布路径中保持设备侧数据,媒体与编码客户端补充丢帧和连接观测新增完整的设备接口与性能测试套件,以及
perf_demo的 subscribe / keep-fd 对照链、部署脚本和运行期指标采集工具
修复
修复设备实测发现的三个接口问题:DSP import id 按有符号 64 位解析导致高位 id 失效;
get_device_status()读取不存在的ir_led_on字段;AppClient.list_apps()构造了错误的 Empty 消息类型修复注入退出未发送 EOS、回调内停止引发线程自连接,以及部分叠加发布路径遗漏
ttl_ms校验修复 DSP 客户端关闭后池与引用仍可误用、路由器更换进程级客户端时过早关闭在用资源,以及 passthrough 推理完成后输入引用未释放的问题
收紧区域化叠加条带的偶数尺寸和 batch 上限处理,修复边缘平移前高度取整不足导致的无效几何
弃用
插件系统 API (
PluginDiscovery/PluginServer/PluginEndpoint) 已弃用。当前平台未部署/run/aipc/plugins插件发现机制;v0.8.0 仍保留导入兼容并发出DeprecationWarning,文档页已下线。如有使用需求请提前反馈。
文档
修正文档与 README 中的视频流示例:移除对从未存在过的
MediaClient的引用,统一改用FdMediaClient;流 ID 由cam0_main/cam0_sub修正为设备实际暴露的main/sub;移除不存在的get_stream_info()/get_raw_stream()用法;修正get_encoded_stream()返回值语义与frame.data展平数组误用;补全EncodedStreamClient/EncodedFrameAPI 文档修复应用示例中的缺失导入与误导性导入:多模型融合示例补
import time;英文推理页 GenAI 示例补import json;错误处理示例移除from grpc import RpcError(SDK 实际抛出RuntimeError);清理未使用的numpy/sys导入补译中文推理页缺失章节:自 v0.3.0 起仅存在于英文文档的分割 / OCR / CLIP 图像嵌入 / CLIP 文本编码 / 深度估计 / 运行时更新后处理配置 / GenAI 七个使用小节,以及
SegmentationMask/OcrLine/Embedding/DepthMap四个数据类型条目,中英文档现已同步新增管线、帧注入、叠加层与性能说明,补充本地推理应用和
perf_demo示例
v0.7.4 (2026-09-08)
新增功能
便捷层硬件路由 (sdk-hardware-routing P5):
color.rgb_to_nv12/color.nv12_to_rgb与draw.draw_detections``(NV12 数组)默认经 accel 路由器走 DSP 腿,不可用时自动回落软件实现并记账;``Frame.to_jpeg_bytes对 keep-fd 帧硬件优先(camera-daemonEncodeImage零拷贝导入),内存帧保持 CPU 编码直达,推流热路径不付额外拷贝与 RPC;软件腿只绑定私有实现,路由公函数不可重入Frame.resize的 DSP 快路径尊重路由策略:SOFTWARE_ONLY跳过尝试,``HARDWARE_ONLY`` 失败即抛错(拒绝静默 CPU 回落),``PREFER_HARDWARE`` 经新增的AccelRouter.note_degradation()记账(同时新增policy属性;外部上报的未注册 op 在health()可见,``on_degradation`` 照常触发)
修复
_encode_jpeg_hw硬编码fmt="rgb24",NV12 keep-fd 帧的提交必被_resolve_source以格式不匹配拒绝;帧类源现在随句柄自带格式dsp_format软件腿经路由公函数重入路由器(跨 op 耦合);改为直接绑定 color 私有实现色彩转换两腿的
ValueError契约统一(ndim / 声明尺寸 / 偶数校验先于任何 daemon 提交,调用方错误不再计入降级计数)
v0.7.3 (2026-09-07)
新增功能
硬件优先加速路由器 (
accel模块):AccelRouter/RoutePolicy/health()降级记账 +on_degradation钩子 /get_default_router();默认路由注册resize_nv12/rgb_to_nv12/nv12_to_rgb/encode_jpeg/draw_detections的 DSP 腿与nms软件腿DSP 标注合成 (dsp-offload P1):
DspClient.blend_hw把 ARGB32 覆盖层在 DSP 上原位合成回 NV12;``draw.render_overlay_rgba`` 将框+文字渲染为最小 straight-alpha 画布,复现软件光栅输出异步 DSP 作业 (dsp-offload P2): 全部
*_hw操作支持wait=False,``PendingDspJob`` 提供wait()/done()/release();``blend_hw`` 零拷贝 keep-fd 链(默认拒用——当前固件上为状态依赖的致命路径);``encode_jpeg_hw`` 支持src_buffer_id免像素读回;keep-fd 帧源在 resize/convert 腿免ascontiguousarray预拷贝;多边形与轨迹形状overlay 标注:
annotate()/annotate_result()经事件总线直推 camera-daemon 渲染器色彩转换与 NMS: BT.601 limited-range RGB↔NV12(cv2 缺失时的 numpy 路径);跨类感知
postprocess.nms
修复
推理 codec 重构收尾:
_tensor_to_numpy/_parse_post_result遗留self致相应解析必失败;删除被薄委托遮蔽的四份完整方法死实现;新增 AST 结构元测试防止同类漂移
v0.7.2 (2026-09-03)
修复
_parse_infer_responsecodec 签名遗留self: 0.7.0 重构后所有infer()/infer_batch()调用抛TypeError;补充驱动真实InferResponse的回归测试
v0.7.1 (2026-09-03)
版本号与
setup.py对齐,无 API 变化
v0.7.0 (2026-09-02)
新增功能
应用开发工具箱 (原 0.6.0 开发版内容,未单独发布,随 0.7.0 一并发布):
Frame.crop()/Frame.resize()/Frame.to_jpeg_bytes()— 帧裁剪、三模式缩放(stretch/letterbox/crop)、JPEG 编码;cv2 缺失时自动降级到 numpy/PILdraw模块 — 检测结果可视化(draw_boxes/draw_text/draw_detections)recording模块 — 纯 Python TS 复用打包、HLS 切片、事件预录缓冲(TsWriter/HlsWriter/PrerollBuffer),无需 ffmpegweb模块 — MJPEG 推流(MjpegServer/MjpegStream/mjpeg_wsgi_app)DeviceClient 原生对焦组 6 个方法(
start_oneshot_af/start_zoom_follow/get_autofocus_status/cancel_autofocus/set_af_windows/get_af_measurement)CameraClient 成像/红外/隐私遮挡/OSD/配置组 12 个方法(含红外预设管理、
get_osd与set_osd读写对称)
修复
InferenceClient.subscribe()静默丢弃失败帧的问题
重构
内部架构分层:抽取
_transport共享传输原语;media拆分为 frame/encoded/fd_client;dsp拆分为 dsp_wire/dsp_format;inference拆分为 types/codec/genai。门面保持全部历史导入路径, 零公共 API 移除DSP CPU 回退从静默日志改为
UserWarning2D 数组按灰度推理输入触发
DeprecationWarning(请显式传fmt=)EncodedStreamClient()默认套接字路径改为/run/aipc/encoded/{stream}.sock(ENCODED_SOCK_DIR环境变量可覆盖,显式路径仍优先)
修复
修复 Python 3.8/3.9 下的导入崩溃(全量补齐
from __future__ import annotations)
其他
打包增加
py.typed类型标记;测试扩充至 270 项全绿
v0.5.0 (2026-08-20)
重构
品牌重构:
hailo_ipc_sdk→neoruntime_ipc_sdk(破坏性变更,无兼容层;hailort/ne503/aipc 等功能性名称保留)
修复
修复
audio_capture流视频布局头的双布局解码
其他
CI 建立 TestPyPI/PyPI Trusted Publishing 双发布流程
v0.4.0 (2026-07-14)
新增功能
DeviceClient 新增 7 个方法: -
set_lens_limits(zoom_limit, focus_limit)— 设置镜头轴限位 -oneshot_autofocus(timeout)— 单次自动对焦(复合操作:开启→等待收敛→关闭) -set_wiegand_out(channel, enable)— 韦根输出控制 -get_wiegand_out(channel)— 韦根输出状态查询 -rs485_init(baudrate, config)— RS-485 串口初始化 -rs485_deinit()— RS-485 串口反初始化 -rs485_tx(data)— RS-485 数据发送AppClient 新增 1 个方法: -
restart_app(app_id, timeout_seconds)— 应用重启(停止+启动)
改进
更新 API 文档,补充 DeviceClient 镜头限位、韦根、RS-485 示例
更新 API 文档,补充 AppClient 完整使用示例
同步中英文文档
v0.2.0 (2026-03-02)
新增功能
添加插件系统支持 (PluginDiscovery, PluginServer)
支持插件能力发现和 gRPC 服务调用
新增视频流访问能力(现由
FdMediaClient/EncodedStreamClient提供)支持原始视频流和编码视频流获取
改进
优化 InferenceClient 性能
改进事件总线通配符匹配
增强错误处理和日志记录
更新 protobuf 到 4.21.0
修复
修复 EventClient 订阅时的内存泄漏
修复 DeviceClient GPIO 控制问题
修复多线程环境下的连接池问题
v0.1.0 (2025-12-15)
初始版本
InferenceClient: AI 推理客户端
EventClient: 事件总线客户端
DeviceClient: 设备控制客户端
Config: 配置管理
支持 Python 3.8+
基于 gRPC 通信