DeepCamera:把 VLM 與 YOLO 包成可插拔技能的本機 AI 監控平台
Open-Source AI Camera Skills Platform, AI NVR & CCTV Surveillance. Local VLM video analysis with Qwen, DeepSeek, SmolVLM, LLaVA, YOLO26. LLM-powered agentic security camera agent — watches, understands, remembers & guards your home via Telegram, Discord or Slack. Pluggable AI skills. OpenAI, Google, Anthropic or local AI. Runs on Mac Mini & AI PC.
秒懂
- 它是什麼?
- DeepCamera 用一份 SKILL.md 介面與 JSONL stdin/stdout 協定,把物件偵測、場景理解、隱私轉換等能力拆成可替換的技能模組,全部推論在本機執行。本文檢視它的技能架構、安裝路徑、硬體加速分派邏輯,以及它不適合的場景。
- 適合誰用?
- 如果你的攝影機畫面不能離開內網,而且你願意接受「技能模組各自為政、由 Aegis 桌面應用負責串接」這種分工,DeepCamera 的技能架構值得評估;若你要的是免安裝、開箱即用的雲端 NVR,或需要跨節點水平擴展的集中式錄影管理,它的本機推論模型會直接卡住你。動手前先確認三件事:skills.json 裡你要用的技能是標記為已完成還是僅在規劃中,你的硬體在 env_config.py 中會被分派到 TensorRT、CoreML、OpenVINO 還是 ONNX 路徑,以及該技能的 SKILL.md 是否載明它依賴 Aegis 寫入共享磁碟區的 frame.jpg。
- 可以商用嗎?
- 可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 90 天前。
- 用什麼語言寫的?
- 主要是 JavaScript(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。
開源專案深度解析
它解決的是推論落地,不是錄影本身
多數開源 NVR 專案處理的是串流接收、錄影排程與回放介面,影像進來之後就存成檔案,至於畫面裡發生什麼事,通常得另外接一套推論服務。DeepCamera 把重心放在後半段:README 描述它是一套 AI 攝影機技能平台,提供 VLM 場景分析、物件偵測、人物再識別等能力,並強調所有推論在本機執行以維持隱私。它並不是要取代你的錄影軟體,而是替已經有畫面的環境補上理解層。
目標讀者輪廓相當清楚。一種是手上已經有 RTSP 攝影機、跑著 Home Assistant 或自建 NVR,但不想把畫面送到雲端做辨識的人。另一種是想在本機跑視覺語言模型、卻不想自己處理模型格式轉換與硬體加速分派的開發者。README 點名 Mac Mini 與 AI PC 這類裝置,意味著它假設你有一台閒置的個人電腦,而不是資料中心的 GPU 機櫃。這個假設會一路影響後面所有的設計取捨。
SKILL.md 與 JSONL:技能之間唯一的共同語言
DeepCamera 的技能架構核心是一個可插拔的 SKILL.md 介面。每個技能是自成一體的模組,帶著自己的模型、參數與通訊協定,並且全部索引在 skills.json 裡供程式化探索。README 把這個設計列為路線圖上已完成的第一項,顯示它是整個平台的地基,而不是後來追加的外掛機制。
真正讓技能可以互換的,是文件描述的 JSONL stdin/stdout 協定。流程是這樣:Aegis 把一個畫格寫進共享磁碟區,接著在 stdin 送出一個 frame 事件,技能從 stdout 讀回 detections。對 Aegis 而言,yolo-detection-2026、Coral TPU 版本與 OpenVINO 版本在行為上完全等價,差別只在背後的推論後端。這個設計的好處是替換偵測器不需要改動上層流程;代價是每一幀都要經過磁碟 I/O,共享磁碟區成為事實上的序列化點。
畫格進入技能之前,會先經過一個 Frame Governor,README 標示為 5 FPS。這是一個明確的節流決策:不是每幀都送進模型。對於「有人出現在門口」這類事件偵測,5 FPS 綽綽有餘;但如果你要的是高速移動物體的軌跡分析,這個上限就是硬牆。文件沒有說明 5 FPS 是否可設定,這點必須在 SKILL.md 或 skill-params.md 裡自行確認。
env_config.py 如何把模型分派到四種後端
硬體加速是這個專案少見地寫得比較具體的部分。skills/lib/env_config.py 被描述為跨硬體的共同環境層,負責自動偵測與模型最佳化,涵蓋 NVIDIA、AMD、Apple Silicon、Intel 與純 CPU。分派邏輯在 README 的架構圖裡是明示的:NVIDIA 走 TensorRT,Apple Silicon 走 CoreML,Intel 走 OpenVINO IR,AMD 與 CPU 走 ONNX。
這代表同一份技能程式碼在不同機器上會載入不同格式的模型。路線圖把「GPU / NPU / CPU 感知安裝」列為已完成,說明安裝階段就會偵測硬體並安裝對應框架、把模型轉成最適格式。聽起來省事,但模型轉換本身有成本:TensorRT 引擎與 CoreML 模型都需要針對特定硬體與版本產生,換一張顯卡或升級驅動就可能要重轉。文件沒有交代轉換後的產物是否快取、放在哪裡、升級時如何失效。
Coral 路徑是另一條獨立分支。yolo-detection-2026-coral-tpu 走 ai-edge-litert 加 libedgetpu,透過 Edge TPU delegate 執行,README 標示約 4ms 推論;若偵測不到 TPU,則回退到 CPU。這個回退行為值得注意:它讓技能不會直接崩潰,但效能落差不會有任何提示,你只會看到延遲變高。
從 Aegis 桌面應用到技能的實際啟動路徑
README 對安裝的說明集中在 Aegis 這個桌面應用上。它被描述為 DeepCamera 的桌面夥伴,用 LLM 自動設定環境、配置攝影機技能、管理整條 AI 管線,並宣稱不需要手動 Docker 或 CLI。下載入口指向 sharpai.org。這裡有一個明顯的分界:開源倉庫提供技能與協定,實際的安裝體驗則綁在一個需要從官網下載的桌面應用上。
如果你不想走 Aegis,倉庫本身留下了可循的線索。skills.json 是技能註冊表,可用來程式化探索有哪些技能存在。docs/skill-development.md 描述技能開發與通訊協定,docs/skill-params.md 列出平台參數。技能目錄結構本身也是資訊,例如 skills/detection/yolo-detection-2026/、skills/segmentation/sam2-segmentation/、skills/transformation/depth-estimation/、skills/automation/mqtt/。
必須說清楚的是,這份素材裡沒有任何一行可執行的安裝指令,沒有 pip install、沒有 docker run、沒有設定檔範例。README 反覆強調 Aegis 會處理安裝,等於把可重現的部署步驟留在應用程式內部。對於想在 CI 或無頭伺服器上部署的團隊,這是一個實質障礙,因為你無法從文件推導出完整的環境組裝流程。
技能目錄的成熟度並不一致
README 的技能目錄用三種狀態標記:已完成、測試中、規劃中。這個標記系統本身就是最誠實的資訊。已完成的有 yolo-detection-2026、Coral TPU 版本、home-security-benchmark 與 depth-estimation、sam2-segmentation、dataset-annotation。測試中的是 OpenVINO 版本。規劃中的包括人臉偵測與辨識、車牌辨識、模型訓練、mqtt、webhook、ha-trigger 與 homeassistant-bridge。
對整合導向的使用者來說,這個分布相當不利。自動化類的三個技能全部在規劃階段,Home Assistant 橋接也是。也就是說,如果你採用 DeepCamera 的目的是把它接進既有的智慧家庭自動化流程,目前能依靠的只有 MQTT 或 webhook 這類通用機制,而它們本身也還沒完成。這是評估時最容易誤判的地方:首頁的敘述涵蓋了整個技能願景,但可用的能力集合小得多。
路線圖上還有一行寫著「19 skills across 10 categories」,同樣標記為未完成。目錄實際列出的技能數量少於這個數字,兩者之間的落差沒有解釋。
HomeSec-Bench 與深度圖匿名化這兩個具體機制
在已完成的技能裡,有兩個的機制描述得比較清楚,值得單獨看。
home-security-benchmark 被描述為一套 143 項測試的評估套件,用來衡量 LLM 與 VLM 在安全場景下的表現。它的價值在於把「這個模型夠不夠可靠」變成可重複的比較,而不是靠幾段示範影片判斷。README 把它歸在 Analysis 類別,狀態為已完成。如果你正在挑選要用 Qwen、DeepSeek、SmolVLM 還是 LLaVA,這套測試提供了一個共同的評分基準。
depth-estimation 則屬於 Privacy 類別,做的是即時深度圖隱私轉換。它的思路是保留畫面中的活動資訊,同時移除可辨識的身分特徵。對於需要在某些場合提供畫面、但不能暴露人臉的部署,這是一條比馬賽克更結構化的路徑。兩者都放在 skills/ 底下各自獨立的目錄,遵循同一套 JSONL 協定,因此可以與偵測技能並存。
什麼情況下它會是錯的工具
最明顯的限制來自身分驗證。這份素材裡完全沒有提到認證、授權、TLS 或網路隔離。技能之間靠共享磁碟區交換畫格,Aegis 負責寫入。這是一個信任邊界很窄的設計:任何能寫入該磁碟區的行程都能餵資料給技能,任何能讀取該磁碟區的行程都能取得原始畫格。在單機家用環境這通常可以接受,在多租戶或辦公室共用主機上就是問題。
第二個限制是擴展方向。整套架構圍繞單一機器設計:env_config.py 偵測本機硬體,模型轉成該硬體的最佳格式,Frame Governor 以 5 FPS 餵幀。要跨多台機器分散推論,文件沒有提供任何機制。如果你的攝影機數量超過單機推論能力,DeepCamera 不會幫你排解,你只能加機器並自行處理分流。
第三,技能狀態的落差本身就是一種失敗模式。README 用同樣的篇幅介紹已完成與規劃中的技能,讀者很容易把規劃中的能力當成現成功能。人臉辨識與車牌辨識這兩個最常被期待的監控功能,目前都還在規劃階段。
最後是平台綁定。安裝體驗集中在一份從官網下載的專有桌面應用上。倉庫本身是 MIT 授權,但這不代表 Aegis 也是,README 沒有說明 Aegis 的授權條款。若你的組織對工具鏈有授權審查要求,這一項必須先釐清,本文不對此提供法律判斷。
與 Frigate 的差異在推論層的位置
在本機 AI 監控這個範圍裡,Frigate 是最常被拿來對比的開源專案。兩者的差別不在功能清單,而在推論層被放在哪裡。
Frigate 把偵測器(Coral、OpenVINO、TensorRT 等)與錄影、事件、回放綁成一個整合的服務,攝影機、偵測、事件時間軸是同一個應用程式內部的一致模型。DeepCamera 走的是相反方向:它把推論拆成獨立技能,用 JSONL 協定與共享磁碟區連接,錄影與事件管理則留給外部系統。前者的優點是開箱即用、狀態一致;後者的優點是技能可替換、可單獨開發,也能塞進非監控用途的管線。
這個差異直接決定適用場景。如果你要的是一套能自己跑起來、有事件時間軸可查的監控系統,Frigate 的整合模型更貼近需求。如果你要的是把視覺模型當成可組合元件、接進自己既有的資料流,DeepCamera 的技能邊界更乾淨。反過來說,DeepCamera 目前的自動化技能尚未完成,意味著選擇它的人得自己寫串接層,這正好是 Frigate 幫你做完的部分。
維護成本落在模型與硬體,不在程式碼
從倉庫的時間軸看,這個專案的節奏並不平均。2022 年 8 月有一個 v3.4.3 的 SharpAI Hub 版本,之後沉寂相當長的時間,直到 2026 年 2 月出現 Aegis 快速版本,3 月推出 v2026.3 並標記為技能平台里程碑,6 月仍有推送。這種節奏意味著早期的部署經驗未必能直接套用到現在的架構上。
授權方面,倉庫標示為 MIT,對商業整合相對寬鬆。但要注意兩件事:一是 Aegis 桌面應用與倉庫的授權關係在素材中沒有交代;二是技能會下載 Qwen、DeepSeek、SmolVLM、LLaVA、YOLO 等模型,這些模型各自帶有不同授權,MIT 只涵蓋倉庫裡的程式碼,不涵蓋模型權重。部署前應逐一確認所選模型的授權條款。
升級成本主要來自模型格式。TensorRT 引擎與 CoreML 模型與特定硬體、驅動、框架版本綁定,換機器或升驅動就可能需要重新轉換。Coral 路徑又額外依賴 libedgetpu 與 ai-edge-litert 的版本搭配。這些都不是改一行設定就能解決的事,而是每次環境變動都要重跑一次的流程。若你的部署環境會頻繁更換硬體,這個成本會持續累積。
編輯結論
如果你的攝影機畫面不能離開內網,而且你願意接受「技能模組各自為政、由 Aegis 桌面應用負責串接」這種分工,DeepCamera 的技能架構值得評估;若你要的是免安裝、開箱即用的雲端 NVR,或需要跨節點水平擴展的集中式錄影管理,它的本機推論模型會直接卡住你。動手前先確認三件事:skills.json 裡你要用的技能是標記為已完成還是僅在規劃中,你的硬體在 env_config.py 中會被分派到 TensorRT、CoreML、OpenVINO 還是 ONNX 路徑,以及該技能的 SKILL.md 是否載明它依賴 Aegis 寫入共享磁碟區的 frame.jpg。
社群筆記