jim800121chen
d0b33f8c71
fix(local-tool): macOS 掃不到 Kneron 裝置 — PythonModeAuto 先 bundled
症狀:Mac 版 app 啟動後,前端顯示沒有裝置(實際 KL520 透過 USB 連上)。
根因:
PythonModeAuto 原本「先 system 後 bundled」,但系統 python3 通常沒裝
KneronPLUS wheel → `import kp` 失敗 → HAS_KP=False → bridge 降級 pyusb →
pyusb 找不到 libusb → scan 空陣列。表面看起來啟動成功但 detector 是空的。
修法:
- visiona-local/app.go PythonModeAuto 語意翻轉 → 先 bundled(已預裝 kp wheel),
失敗才 fallback system。Local-tool 架構就是整包內嵌 Python + wheels,
系統 python 不會裝 kp,不該優先。
- server/scripts/kneron_bridge.py 在 `import kp` 前新增
`_preload_kneron_dylibs_macos()` — 用 ctypes.CDLL 絕對路徑預載 wheel 內
`kp/lib/libusb-1.0.0.dylib` + `libkplus.dylib`,避開 macOS hardened
runtime 剝掉 DYLD_LIBRARY_PATH 的風險。Windows/Linux 守門不執行。
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-21 01:10:59 +08:00
..
2026-04-16 15:01:25 +08:00
2026-04-18 23:15:52 +08:00
2026-04-11 22:10:38 +08:00
2026-04-21 01:10:59 +08:00
2026-04-11 22:10:38 +08:00
2026-04-11 22:10:38 +08:00
2026-04-11 22:10:38 +08:00
2026-04-11 22:10:38 +08:00
2026-04-15 20:23:25 +08:00