跳至內容

首次啟動下載的那 720 MB,以及為什麼之後再也不會下載

第一次啟動 Pi Agent 時,它會安靜個幾分鐘,同時把 log 塞滿一堆訊息。沒有任何問題。它在抓影片管線需要的工具,只抓這一次,抓完會給自己寫一張便條,這樣就不用再抓一次。
2026年9月12日
首次啟動下載的那 720 MB,以及為什麼之後再也不會下載
OdooBot
one big download
Pi Agent 指南 · 第 12 篇

首次啟動下載的那 720 MB,以及為什麼之後再也不會下載

第一次啟動 Pi Agent 時,它會安靜個幾分鐘,同時把 log 塞滿一堆訊息。沒有任何問題。它在抓影片管線需要的工具,只抓這一次,抓完會給自己寫一張便條,這樣就不用再抓一次。這篇要講清楚那次下載裡裝了什麼、落在哪裡、什麼時候會再下載一次,以及那個能刻意讓它重來的開關。

720 MB
首次啟動就下載,之後不會再下載
3-8 分鐘
首次啟動要花多久
0 位元組
阻止它重複下載的那個空檔案
一個程序,兩個名字

你已經讀過的兩件事,其實是同一件事

第 1 篇告訴過你,首次啟動要花 3-8 分鐘,過程中工作區可能看起來像壞掉了。第 11 篇告訴過你,影片管線得先有一整套工具,才能錄畫面、配音或上字幕。

這不是兩件事。這是同一件事被講了兩次。那頭 3-8 分鐘 就是 工具正在到貨。

講白一點

安裝這個 add-on 就像搬進一間新房子。大約 300 MB 的 add-on 映像檔就是房子本身,水電都已經接好了。首次啟動的那 720 MB,是外面那台載著你行李的貨車。你只需要卸一次貨車。你不會每次進門都再卸一次貨車。

想通這一點之後,那些開頭是 video-tools-init: 的 Log 分頁裡的訊息,看起來就不再像錯誤,而像一條進度條。

不管你想不想用影片功能,這件事都會發生。 這個 add-on 目前沒有「純聊天模式」,所以就算你完全不碰影片管線,這次下載照樣會跑。下一節會解釋原因。
那 720 MB 是什麼

三組工具,你會下載其中兩組

video-tools 不是一個程式。它是三組東西的統稱,而大家常說的那個數字,只包含前兩組。

分組是什麼大小什麼時候到貨
Chromium 一個無頭瀏覽器——沒有看得到的視窗。Playwright 用它來開網頁、截取畫面用於錄影。 約 500-600 MB 首次啟動
Python 環境 一個獨立的 Python 環境,裝著 edge-tts ,負責配音, playwrightpyyaml ,負責讀腳本檔,還有 mutagen ,負責讀音檔長度。 約 40-60 MB 首次啟動
ffmpeg、字型、rclone ffmpeg 負責剪接,libass 負責燒錄字幕,Noto 字型涵蓋中日韓文字跟彩色 emoji,rclone 負責把成品上傳。 約 400-500 MB 在 add-on 映像檔裡

所以真正落在 /data/pi-agent/ 裡的,是首次啟動時的前兩排,加起來大約 600-700 MB。精確數字會隨 Playwright 跟 pip 版本浮動,這也是為什麼這份教學把它概略講成 720 MB。第三排早就到了,包在那個大約 300 MB 的映像檔裡。

如果你永遠不做影片,能跳過這次下載嗎?

沒有任何官方支援的設定能做到。三個理由,沒有一個讓人滿意:

  • 沒有關閉開關。 這個初始化程序是跟工作區一起啟動的服務。Configuration 分頁裡沒有能停用它的選項。
  • VIDEO_PIPELINE_ENABLED=false 沒有用。 這個變數關不掉 add-on 的初始化程序。這是常見的錯誤猜測。
  • 要避開它,代表你得自己編譯。 你得 fork 這個 add-on 的倉庫、拿掉那個服務、自己建映像檔再發布——比在硬碟上留著那 720 MB 麻煩得多。

以 Home Assistant 建議的最低 32 GB 硬碟來算,720 MB 大概佔 2%,而且正常情況只會發生一次。如果這 2% 是關鍵,那你的儲存空間大概本來就不夠 Home Assistant 舒服地用。

在找空間嗎?sessions/裡的舊對話、在 clips/裡的影片中間檔案,還有 /backup/ 裡的舊快照,每一項都比這 720 MB 更值得清,而且都不會自己回來。第 14 篇有完整的清理清單。
那幾分鐘裡發生了什麼

兩件事同時啟動,只有一件是慢的

當你點下 Start,會有兩個程序同時開始跑。工作區是一個 Node.js 應用程式,維持對話既不需要 Chromium 也不需要 Python,所以幾秒鐘就緒。工具下載在它背後進行。

flowchart TD
  S["你點下 Start"] --> W["pi-web 就緒
幾秒鐘——你就能開始聊天"] S --> V{"Sentinel file present
and venv/bin/python3 runnable?"} V -->|"是,之後每次啟動都一樣"| K["跳過。幾乎立刻結束"] V -->|"否,首次啟動"| A["1 · 建立 Python 環境
大約 10 秒"] A --> B["2 · pip 安裝 playwright、edge-tts、
pyyaml、mutagen
大約 30 秒到 2 分鐘"] B --> C["3 · Playwright 下載 Chromium
大約 2-6 分鐘,佔了大部分等待時間"] C --> D["4 · 寫入標記檔
/data/pi-agent/.video-tools-installed"]
首次啟動 vs. 之後每一次啟動最上面那個檢查就是整個訣竅所在。它問了兩個問題,之後每次啟動兩個答案都是「是」。時間為來源估算值
講白一點

這個標記檔(sentinel)是個零位元組的檔案。把它想成你搬完箱子後貼在箱子上的貼紙。它沒有任何內容——它唯一的工作就是宣告「這箱處理完了」。如果你跑 cat 去讀它,什麼都讀不到,因為它裡面本來就從沒裝過東西。

這個檢查測試的是兩件事,不是一件:標記檔必須存在 而且 venv/bin/python3 必須能執行。只還原貼紙、不還原箱子,是騙不過它的。

這也回答了那 720 MB 什麼時候會回來。重啟這個 add-on、重啟 Home Assistant、正常升級,都不會動到這兩樣東西,所以什麼都不會下載。只有三種情況會讓它回來:你解除安裝時沒保留資料、你在新硬體上還原快照,或你刻意用了重置開關。

親眼看著它發生

打開這個 add-on 的 Log 分頁。正常跑起來會像這樣:

[INFO] video-tools-init: first-run install starting (~720MB, may take several minutes)
[INFO] video-tools-init: creating venv at /data/pi-agent/venv
[INFO] video-tools-init: installing python packages into venv
[INFO] video-tools-init: downloading Chromium into /data/pi-agent/playwright-cache (~600MB)
[INFO] video-tools-init: install complete — sentinel written to /data/pi-agent/.video-tools-installed

分頁本身如下圖。這張截圖來自一個已經跑了一段時間的工作區,所以安裝的那幾行早就被捲上去了,畫面裡填滿的是普通的流量紀錄——這也正是下載結束之後,同一個分頁該有的樣子。

Home Assistant 裡 Woow HA Pi Agent add-on 的 Log 分頁,選在一排寫著 Info、Documentation、Configuration、Log 的分頁裡。一個 Search logs 欄位上方是一片網頁伺服器存取紀錄,記著對 /api/agent/running/events 的 GET 請求,帶著時間戳記跟瀏覽器字串,右下角有個 Live 指示燈。
Log 分頁唯一能告訴你下載有沒有在動的地方。其他任何地方,不管它在不在跑,看起來都一樣。這是啟動完成後的截圖,不是啟動當下
  • Log 分頁在 add-on 頁面最上方,跟 Info、Documentation、Configuration 並排。日後出任何問題,這裡也是第一個該查的地方。
  • Search logs,在輸出上方的那個欄位,是在忙碌的 log 裡找到你要的那幾行的方法。輸入 video-tools-init ,就只會留下安裝相關的訊息。
  • 畫面主體 是網頁伺服器的存取紀錄——重複出現的 GET /api/agent/running/events 請求,來自你自己的瀏覽器,各自帶著時間戳記跟瀏覽器字串。這是例行的,不是錯誤。
  • 那些請求那幾行帶著一個 session= 這樣的識別碼,代表你的連線 session。貼到任何公開的地方之前先把它剪掉。
  • Live,在右下角,代表這個畫面正跟著新輸出即時更新。首次啟動時你可以開著它盯著看。
工作區不會告訴你的。 因為聊天功能遠比工具早就緒,你可能還開心地打著字,一個影片 Skill 卻因為缺 Chromium 一直失敗。log 是唯一的訊號來源。
為什麼備份會跳過它

你的快照刻意不帶走那 720 MB

Pi Agent 會告訴 Home Assistant 把某些檔案排除在快照之外,影片工具就在那份清單裡。這是刻意的,不是疏漏。

講白一點

你會把家裡的照片留在雲端,不會把店裡買的組裝家具也留著。照片沒辦法重新下單,家具可以。Chromium 跟 Python 環境就是那個家具:任何有網路的機器,幾分鐘內都能重新抓一份。

快照裡保留的被排除的
models.json ——你的金鑰跟供應商設定venv/ ——那 720 MB 裡的 Python 部分
sessions/ ——你的對話紀錄playwright-cache/ ——Chromium 那部分
skills/ ——你安裝或自己寫的 Skillprojects/**/clips/ 而且 segments/ ——影片的中間檔案
home/pi-cwd-*/ ——agent 的工作資料夾home/**/node_modules/ 而且 .cache/
rclone/rclone.conf ——你的 Google Drive 授權sessions/*.jsonl.tmp ——寫到一半的暫存檔

兩個理由。大小:每份快照多加大約 700 MB,光是這一個 add-on,一年 12 份月快照就要多耗掉大約 12 GB。還有需要性:還原之後,那個檢查會因為 Python 環境不見而失敗,工具會自己重新安裝。還原多花大約五分鐘,換來每份快照少 700 MB。

有一個檔案是刻意保留的: rclone.conf 裝著你的 Google Drive 授權,大約 300 位元組。還原時如果弄丟它,之後的上傳會莫名其妙失敗,所以它被留了下來。
重置開關

reset_video_tools,以及什麼時候別去動它

Configuration 分頁裡有一個開關叫 reset_video_tools。它只做一件事:在下一次啟動時,刪掉標記檔、Python 環境跟 Chromium 快取,讓那整個 720 MB 乾乾淨淨地重新下載。

這是容器層級的選項,所以它放在這個 add-on 自己的 Configuration 分頁裡,不在 Home Assistant 設定的任何地方。那個分頁長這樣:

Home Assistant 裡 Woow HA Pi Agent add-on 的 Configuration 分頁。一個 Options 面板列出 api_key、minimax_api_key、openai_api_key 跟 openrouter_api_key,數值都用一排點點遮起來,旁邊各有一個眼睛圖示能展開查看,後面接著空白的 anthropic_api_key、deepseek_api_key 跟 groq_api_key 欄位。
Configuration 分頁Options 面板,捲到清單最上面幾個關鍵欄位。重置開關就在同一份表單裡,在畫面下方,截圖沒拍到。
  • Configuration 是 add-on 頁面最上方四個分頁之一——Info、Documentation、Configuration、Log——不在 Home Assistant 設定的任何地方。路徑: Settings → Add-ons → Woow HA Pi Agent → Configuration
  • Options 是裝著每一項容器設定的單一表單,一行一個欄位。截圖只拍到一半,剩下的要往下捲。
  • 眼睛圖示 在每個已填欄位旁邊,能顯示原本用點點遮起來的值。用來檢查貼上的金鑰很方便,但這也是為什麼不該在數值展開時截這個分頁的螢幕截圖。

往下捲那份表單,會看到 reset_video_tools,一個 true/false 的開關,頁面最下面是 SAVE 按鈕。

  1. 步驟 1

    打開 Configuration 分頁

    前往 Settings → Add-ons → Pi Agent → Configuration

  2. 步驟 2

    把 reset_video_tools 從 false 改成 true,再按 SAVE

    這時候還什麼都沒被刪掉。這個開關只是留給下次啟動的一張便條。

  3. 步驟 3

    回到 Info 分頁,點 RESTART

    重啟時,這個 add-on 會執行 rm -rf /data/pi-agent/.video-tools-installed /data/pi-agent/venv /data/pi-agent/playwright-cache 並記錄 reset_video_tools=true — clearing venv + playwright-cache + sentinel。接著那 3-8 分鐘的下載就會重新開始。

  4. 步驟 4

    檢查 log,如果跳過了就再重啟一次

    重置跟初始化程序是並行執行的,所以初始化程序有可能在重置刪掉舊標記檔的前一刻讀到它。如果 log 顯示跳過、後面也沒接著安裝流程,就再重啟一次。

  5. 步驟 5

    之後就別再去動這個開關

    從 v0.13.0 開始,這個 add-on 會自己把它關回去,並記錄 reset_video_tools auto-reverted to false。只有在你看到 Could not auto-revert reset_video_tools時,才需要手動關掉它。舊教學說永遠要手動關,那個建議已經過時了。

乾淨重下的過程中不要重啟。 中途打斷可能留下一個蓋到一半的 Python 環境,或不完整的 Chromium。如果之後出現奇怪的錯誤,解法是再重置一次,讓它跑完。

這真的是你的問題嗎?

這個開關是逃生門,不是例行保養。規則很簡單:工具壞了才重置,不是為了讓它感覺比較乾淨才重置。

你的情況要重置嗎?為什麼
影片 Skill 一直失敗,log 又沒說原因壞掉的 pip 安裝是常見原因,重建通常是排除它最快的辦法。
log 顯示 pip install failedchromium download failed要,先檢查過網路之後那次嘗試沒寫下標記檔,但可能留下了不完整的檔案。重置能給你一次乾淨的重試。
Chromium 版本太舊,錄不了你想錄的網站重置會裝上跟當時 pip 抓到的 Playwright 版本相符的 Chromium 版本。不然 Chromium 不會自己更新。
硬碟快滿了,你想把那 720 MB 空間拿回來不要重置會刪掉檔案,只是為了再下載一次。最後你會回到原點。
你剛升級完,比如從 v0.13 到 v0.14不要升級不會動到 venvplaywright-cache ——它們留在你的持久化磁區裡。只有 CHANGELOG 明確要求時才重置。
跑得慢,或卡住了

分辨下載是慢,還是已經死了

如果某個階段超過十分鐘沒有新的 log 輸出,也沒顯示任何錯誤,先檢查兩件事。打開 Settings → System → Network 確認主機真的有網路。接著看這個 add-on 的 Info 分頁裡的 CPU 跟記憶體——那裡有活動就代表還在運作,繼續等就好。

它一直顯示 downloading Chromium 超過 30 分鐘
通常是網路的問題。Playwright 是從它自己的下載服務抓 Chromium,有些校園網路、公司網路、代理伺服器跟 ISP 會放慢或封鎖這個服務。檢查 Info 分頁裡的活動。換個網路比較安靜的時段再試一次,如果合適的話暫時繞過 VPN 或代理伺服器,再用 reset_video_tools ,等連線修好之後乾淨地重試一次。
log 顯示 WARNING: pip install failed 接著繼續跑下去
這是設計上的考量:這裡失敗絕不能卡住整個工作區。聊天功能會繼續維持正常,改成影片 Skill 失敗,常常會抱怨說 edge-tts 缺少什麼。讀完 Skill 完整的輸出,確認主機連得到套件來源,再重置一次乾淨重試。
每一步都跑完了,但標記檔就是沒被建立
如果 pip 跟 Playwright 都成功了,只有標記檔不見,資料目錄的權限可能不對。在一個授權的 add-on shell 裡跑 ls -la /data/pi-agent/ 檢查擁有者,再到 log 裡搜尋 Permission denied。不保留資料重新安裝會重建整個磁區,但也會刪掉 Sessions、Skills 跟金鑰——先備份好這些,把這當成最後的手段。
能不能直接刪標記檔,而不用那個開關?
可以,這是一個範圍更小的工具。在連到這個 add-on 的授權 shell 裡跑 rm /data/pi-agent/.video-tools-installed,再到 Info 分頁點 RESTART。這樣會讓 pip 跟 Playwright 的檢查重新跑一次,但不會刪掉 venvplaywright-cache 。如果你懷疑那些目錄本身壞了,就改用完整的重置。
如果我在下載中途關掉 Home Assistant 呢?
通常很好恢復。標記檔只有在兩項安裝都成功後才會被寫入,所以中斷通常只會讓它保持不存在,下次啟動整套流程就會再跑一次。可能會留下不完整的檔案,pip 跟 Playwright 通常在下次嘗試時就能修好。如果之後影片管線還是一直失敗,就重置一次乾淨重建。
接下來

接下來往哪走

繼續

工具已經到位了。做好的影片還得要送到某個地方去。

第 13 篇要設定 rclone,這是完成的檔案離開你 Home Assistant 主機、送到雲端儲存空間的方式——也包括你的快照刻意保留的那份授權檔案。

打開完整教學手冊

Pi Agent 入住指南》系列第 12 篇,由 WoowTech 渥屋科技 製作。

內容出自 Woow HA Pi Agent 入住指南,依 CC BY 4.0 釋出。

The Smart Space Solution · 智慧空間解決方案 · © 2026 WOOW Technology Co., Ltd.

網誌: Pi Agent 指南
分享這個貼文