為什麼首次要下載 720 MB、之後就秒開
第 2 章叫你按下啟動之後別緊張,等 3-8 分鐘不是壞了;第 17 章又講了影片管線需要一整套工具才能跑。這章就是要把「那個 720 MB 到底裝了什麼、放在哪、什麼時候會再裝一次」講清楚,順便教你 reset_video_tools 那個一次性開關該什麼時候翻、翻完會發生什麼。看完之後你在 Logs 分頁看到 video-tools-init: 訊息時就不會再心跳加速。
為什麼要一次講這個
Pi Agent 有兩件事,讀者最常搞混:
- 第 2 章講的「首次啟動要等 3-8 分鐘」——你剛裝好按 Start,UI 卻半天沒動,log 一直冒紅字,第一個念頭都是「我是不是裝壞了」。
- 第 17 章講的「影片管線需要 720 MB 工具」——AI 幫你錄畫面、配音、剪片、燒字幕,那一整套工具鏈很大。
這兩件事其實是同一件事。首次啟動的 3-8 分鐘就是在下載那 720 MB。這章就把三件事一次串起來:
裝了什麼
Chromium、Python venv、ffmpeg、字型、rclone——三大塊。
放在哪
全部在
/data/pi-agent/的三個子目錄,你可以真的用 File editor 進去看。什麼時候會再裝一次
正常情況:永遠不會。特殊情況:你翻
reset_video_tools開關、或整個 add-on 被移除重裝,才會重下。
看完你會知道兩件事:什麼時候該讓它裝、什麼時候該叫它重來。前者省你緊張,後者省你自己 exec 進容器手動刪檔案。
video-tools 其實是三個工具的統稱
Pi Agent 內部把「影片管線需要的東西」統稱為 video-tools,但它不是一個東西,是三塊。第 2 章你看到的 720 MB 是這三塊加起來的:
| 塊 | 是什麼 | 大小 | 誰在用 |
|---|---|---|---|
| Chromium(隱形瀏覽器) | Playwright 用來錄畫面用的無頭 Chromium。就是一整份完整的 Google Chrome,只是沒有視窗——AI 打開網頁、切分頁、截影格全靠它。 | 約 500-600 MB | Playwright、影片管線的「錄畫面」階段 |
| Python venv + pip 套件 | 獨立的 Python 虛擬環境,裡面裝了 edge-tts(微軟 Edge 的文字轉語音,免費)、playwright(Python 版控制程式)、pyyaml(讀腳本檔)、mutagen(讀音檔長度)。 |
約 40-60 MB | 影片管線的「配音」「排檔」階段 |
| ffmpeg + libass + 字型 + rclone | 這一堆是包在容器映像裡的,不是「首次下載」的部分。ffmpeg 剪接、libass 燒字幕、fonts-noto-cjk 是繁體中文字型、fonts-noto-color-emoji 是彩色 emoji 字型(用來做字幕跟開頭卡)、rclone 上傳雲端。 | 約 400-500 MB(裝在映像裡) | 影片管線的「合成」「上字幕」「上傳」階段 |
所以嚴格講「首次下載到 /data/pi-agent/」的其實是前兩塊:Chromium 加 Python venv,總計約 600-700 MB,這個數字會因為 Playwright 版本、pip 依賴版本而在 600-720 MB 之間浮動——這就是為什麼你常聽到「大約 720 MB」這種模糊講法。第三塊 ffmpeg 那些是 add-on 映像檔的一部分,你「下載映像檔」那 300 MB 的階段就一起拉下來了。
首次啟動那 3-8 分鐘發生什麼事
你按了 Add-on 頁的 Start 之後,實際發生的事情有兩條線同時跑:
-
第一條線:pi-web 立刻起來(幾秒鐘)
你在第 3 章看到的側邊欄按鈕、能點進 UI、能開始跟 AI 聊天——這條線幾秒就好。pi-web 是 Node.js 程式,本身不需要 Chromium、也不需要 Python,跟影片管線是完全兩碼子事。所以你點進去可以馬上聊。
-
第二條線:video-tools-init 在背景下載(3-8 分鐘)
啟動腳本
pi-web-start.sh看到 sentinel 檔/data/pi-agent/.video-tools-installed不存在,就會 fork 出一個背景進程叫video-tools-init.sh。這個腳本按順序做四件事:- 建立 Python venv:
python3 -m venv /data/pi-agent/venv,約 10 秒 - 用 pip 裝 playwright / edge-tts / pyyaml / mutagen,約 30 秒-2 分鐘(看網路)
- 叫 playwright 下載 Chromium 到
/data/pi-agent/playwright-cache/,約 2-6 分鐘(最大隻) - 裝完
touch一個空檔叫.video-tools-installed,代表「這台我裝過了」
- 建立 Python venv:
-
之後每次啟動:跳過
下次你重啟 add-on、重開 HA、甚至重開機,
video-tools-init一啟動就檢查 sentinel 檔(跟venv/bin/python3),看到兩個都在就 exit 0 什麼也不做。log 只會出現一行video-tools-init: already installed (sentinel present) — skipping,秒過。這就是為什麼首次要幾分鐘、之後秒開。
video-tools-init: install complete — sentinel written 這一行,看到才算完全 OK。裝在哪:三個位置一次看完
「下載」的東西全部落在 /data/pi-agent/ 這個 HA host 上的目錄裡。你可以用 File editor add-on(或 SSH)進去看,會看到這三個位置:
| 路徑 | 裡面是什麼 | 大小 | 能不能刪 |
|---|---|---|---|
/data/pi-agent/playwright-cache/ |
Playwright 下載的 Chromium 瀏覽器本體。子資料夾長得像 chromium-XXXX/chrome-linux/,裡面就是 chrome 執行檔 + 所有共享函式庫。之所以放這裡是因為 PLAYWRIGHT_BROWSERS_PATH 環境變數指到這。 |
約 500-600 MB | 能刪,下次啟動會重下 |
/data/pi-agent/venv/ |
Python 虛擬環境。venv/bin/python3 是專屬的 Python 解譯器,venv/lib/python3.X/site-packages/ 裝了 edge-tts、playwright、pyyaml、mutagen 加上它們自己的依賴。跟系統 Python 完全隔離。 |
約 40-60 MB | 能刪,下次啟動會重建 |
/data/pi-agent/.video-tools-installed |
Sentinel 檔(哨兵檔)。一個零 byte 的空檔,存在只有一個意義:「上面兩個都裝好了,別再裝」。啟動腳本靠它加上「venv/bin/python3 是不是可執行」兩個條件同時成立才跳過安裝——所以就算只還原 sentinel、venv 沒還原,腳本一樣會重跑。 |
0 byte | 能刪,刪了下次啟動會重跑安裝 |
這裡的關鍵字是 sentinel(哨兵)——這是很多 Docker/Linux 服務常用的手法:不需要真的檢查裝了什麼、也不需要驗證版本,就是一個空檔案代表「這件事做過了」。輕、快、不會被誤判。你如果好奇這個檔的內容,cat .video-tools-installed 出來會是空的,因為它從頭到尾就是 touch 出來的。
/data/pi-agent/ 是 HA add-on 給 Pi Agent 的永久儲存區,跟你的 skills、models.json(金鑰)、sessions 都住在同一個父目錄,只是分子資料夾。這代表:你的對話跟金鑰不會因為升級 add-on 而消失,這 720 MB 的工具也不會。細部檔案地圖看第 20 章。重要:這 720 MB 不會被 HA snapshot 備份
這是本章最容易踩雷的一件事,講清楚:Pi Agent 的 config.yaml 有一份 backup_exclude 清單,明講「這幾個 glob pattern 不要放進 HA snapshot」。清單裡有七條,跟本章 720 MB 相關的是這幾個:
**/venv/**← 就是這 720 MB 的 Python venv**/playwright-cache/**← 就是這 720 MB 的 Chromium**/projects/**/clips/**、**/projects/**/segments/**← 影片管線產出的中間檔(很大、可重生)**/home/**/node_modules/**、**/home/**/.cache/**← AI 工作目錄的 npm 快取**/sessions/*.jsonl.tmp← 對話寫到一半的暫存檔
特別注意:rclone.conf(Google Drive 授權 token)沒在排除清單裡——它會被備份進 snapshot。這是刻意的:如果 rclone 授權掉了,你 restore 之後所有 push_drive.sh 都會 silently 失敗,很難察覺。所以那個檔案值得那 300 byte 的備份空間。
為什麼要故意排除?兩個原因:
-
原因一:不排除的話 snapshot 檔會膨脹到 1 GB+
HA snapshot 預設就是把整個 add-on 的 data 目錄壓縮打包。如果不排除,你每一份 snapshot 都多帶 700 MB 的 Chromium+venv 進去,一份備份至少 1 GB 起跳。用 Google Drive 或 USB 隨身碟保存一年 12 份 snapshot,光 Pi Agent 就吃掉 12 GB,完全沒必要。
-
原因二:還原後 s6-overlay 會自動再裝一次
假設你今天整台 HA 掛了、拿 snapshot 還原到新硬體,Pi Agent 那份 snapshot 裡沒有 venv 也沒有 playwright-cache——雖然 sentinel 檔本身有被還原回來,但
video-tools-init的判斷條件是「sentinel 檔存在 而且venv/bin/python3是可執行檔」,兩個要同時成立才跳過安裝。venv 沒了 python3 就沒了,判斷失敗,腳本會照樣重跑那 3-8 分鐘的下載,等於「新機重新裝一份」,環境跟原本完全等價。備份少 700 MB、還原多等 5 分鐘,這筆帳很划算。
那什麼會放進 snapshot?你真正產生的東西:
| 會備份 | 不會備份 |
|---|---|
models.json(金鑰、provider 設定) | venv/(720 MB 中的 Python 部分) |
sessions/(你的對話歷史) | playwright-cache/(720 MB 中的 Chromium) |
skills/(你裝的、你寫的 skill) | projects/**/clips/、projects/**/segments/(影片中間檔) |
home/pi-cwd-*/(AI 的工作目錄) | home/**/node_modules/、home/**/.cache/(npm 快取) |
rclone/rclone.conf(Google Drive 授權) | sessions/*.jsonl.tmp(半寫入的暫存) |
auth.json(OAuth token)跟 .video-tools-installed(sentinel)也在裡面 | — |
換句話說:你花心血產生的都在、機器自己下載的都不在。這個切分很乾淨。第 20 章會把備份還原的完整流程講一次。
reset_video_tools 開關的用途與操作
Pi Agent 的 Add-on Configuration 分頁裡有一個特殊開關叫 reset_video_tools。這個開關的意義只有一句話:把 sentinel、venv、playwright-cache 全刪掉,下次啟動重新下載一次。
操作步驟:
-
打開 Add-on 頁的 Configuration 分頁
Home Assistant → Settings → Add-ons → Pi Agent → Configuration 分頁(跟你設
log_level、timezone的同一頁)。 -
把 reset_video_tools 從 false 改成 true
它是一個 boolean 開關。UI 上是一個切換按鈕,改成 on(
true)。 -
按 SAVE 存檔
存了之後 HA 會提示「要重啟 add-on 才生效」。這是預期的。
-
回 Info 分頁按 RESTART
重啟時 s6-overlay 的
pi-web/run讀到reset_video_tools: true,先跑rm -rf /data/pi-agent/.video-tools-installed /data/pi-agent/venv /data/pi-agent/playwright-cache,log 會冒一行reset_video_tools=true — clearing venv + playwright-cache + sentinel。清完就進入正常啟動流程,然後因為 sentinel 沒了,video-tools-init這個 s6 oneshot 又會跑一次 3-8 分鐘的下載。 -
不用回去手動關——add-on 會自動幫你翻回 false
這是 v0.13.0 版加進來的重要行為,很多網路上的舊教學(包括本站早期版本)都寫錯:啟動腳本刪完檔案後,會馬上打一支 Supervisor API(
POST /addons/self/options帶{"options": {"reset_video_tools": false}})把這個選項翻回 false,你下次重啟就是正常流程、不會又重下 720 MB。log 會出現一行reset_video_tools auto-reverted to false代表成功。如果 Supervisor API 呼叫失敗(例如SUPERVISOR_TOKEN沒注入、或 curl 5 秒逾時),log 會冒警告Could not auto-revert reset_video_tools — turn it OFF manually to avoid re-clearing next boot——這時候才需要你回 Configuration 手動關。多數情況下你完全不用碰。
什麼時候該用 reset_video_tools
這個開關是維修用的逃生口,正常情況不要碰。整理什麼時候該用、什麼時候別碰:
| 情境 | 該不該 reset | 為什麼 |
|---|---|---|
| 影片管線的 skill 一直跑失敗,log 也看不出理由 | 可以 reset | 可能是 venv 半殘、或某個 pip 套件安裝失敗留下爛檔。整套砍掉重灌是最快的排除法。 |
| Chromium 太舊,某個網站的錄影抓不到內容(例如新版 CSS) | 可以 reset | reset 完 Playwright 會下載當下 pip 版本對應的最新 Chromium。這是「間接升級瀏覽器」的辦法。 |
| 看到 log 有「WARNING: pip install failed」或「chromium download failed」 | 可以 reset(但先確認網路 OK) | 那次首裝失敗,sentinel 也沒建,但 venv 可能已經半建。reset 讓它徹底重來一次。 |
| 硬碟快滿了,想省 720 MB | 先想清楚再 reset | reset 完你再啟動它又下載回來(除非你先把 VIDEO_PIPELINE_ENABLED 設 false,但這是進階選項)。真正省空間要做的事在 第 8 段。 |
| 影片管線平常好好的,你只是「想確認環境乾不乾淨」 | 不要 reset | 沒事別碰。720 MB 重下載一次要 3-8 分鐘、要吃你家頻寬跟 Docker Hub 那邊的流量,沒好處。 |
| 剛升級 Pi Agent 版本(v0.13→v0.14 之類) | 不要 reset | 升級不影響 venv/playwright-cache(那些在你自己 volume 上),保留可以省一次下載。除非 CHANGELOG 明講「本版需要 reset video tools」,否則不用。 |
| 剛 restore 一份 HA snapshot 過來 | 不需要手動 reset | 因為 snapshot 沒帶 venv/playwright-cache,sentinel 也不會在,首次啟動自動就會重下。你什麼都不用做,等它跑完就好。 |
總結一句話:reset 是為「壞了」而存在,不是為「潔癖」而存在。沒故障就別動。
不打算用影片管線,可以省下這 720 MB 嗎
老實答:不能省下。原因跟 Pi Agent 的設計有關:
-
video-tools-init 是 s6-overlay 的 oneshot,沒有 config 開關可以關
HA add-on 版把
video-tools-init註冊成 s6-overlay 的一個 oneshot 服務(放在rootfs/etc/s6-overlay/s6-rc.d/video-tools-init/),跟 pi-web / nginx 三個服務平行啟動——這是刻意的設計,讓 chat 立刻能用、video-tools 在背景慢慢裝。但既然是 s6 oneshot,Configuration 分頁就沒有一個開關可以叫它不要跑。腳本本身也沒有if VIDEO_PIPELINE_ENABLED之類的條件檢查(那是 k3s 部署版才有的分支)。 -
硬要不裝,只有兩條路,都不建議一般使用者走
(a)自己 fork
Woow_ha_pi_agent_add_on,把rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/video-tools-init這個檔刪掉,重新 build 一份 image 塞進自己的 add-on repository。(b)不進入 pi-web 就完全不會用到 venv/chromium,等於你「保留檔案但不使用」——720 MB 就在那裡占位不動。這兩條都比想像的麻煩,多數人不會這樣做。 -
就算跳過 init,映像檔本身還是含 300 MB 的 ffmpeg / 字型 / rclone
那一塊是烤進 Docker image 的(Dockerfile 直接
apt install進去),你在 add-on 這一端完全無法選擇不裝。要真的省,得自己 fork 改 Dockerfile 拿掉那些 package,這已經是自製 fork 了。 -
實務建議:就讓它裝一次
720 MB 對現在的硬碟(HA 官方最低就要 32 GB)是 2% 左右的空間;下載也就一次的事。「省事」跟「省 2% 空間」比,省事贏。你就當作 add-on 出廠自帶影片能力,日後想用不用另外裝,不用也就佔那點空間。真的空間不夠的話該解決的是硬碟太小,不是砍 Pi Agent 的功能。
sessions/(很多老對話)、clips/(老影片中間檔)、跟系統的 /backup/(舊 snapshot),這些砍下去每次都是 GB 級的成效。video-tools 那 720 MB 是最不值得砍的,因為砍完你如果哪天想用影片管線又要重下。怎麼看下載進度、判斷卡住還是慢
下載這 720 MB 期間,你不用瞎等,可以在 Logs 分頁看它跑到哪。Add-on Logs 分頁進去,找開頭是 video-tools-init: 的行(那是 bashio 印的,跟 pi-web 的 log 混在一起顯示)。正常的進度大概像這樣:
[INFO] Starting pi-web on 0.0.0.0:30141 (data: /data/pi-agent, home: /data/pi-agent/home)
[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
每一行的意義:
| 看到這行 | 意義 | 大概還要等 |
|---|---|---|
Starting pi-web on 0.0.0.0:30141 | pi-web 已經起來,可以開始聊天;video-tools-init 這個 s6 oneshot 跟它平行跑 | video-tools 還要 3-8 分鐘 |
first-run install starting | 安裝流程開始,sentinel 目前不存在 | 約 3-8 分鐘 |
creating venv | 正在建 Python 虛擬環境 | 再 2-7 分鐘 |
installing python packages into venv | pip 在裝 playwright、edge-tts、pyyaml、mutagen | 再 2-6 分鐘 |
downloading Chromium | 最大隻的來了,500-600 MB | 再 2-5 分鐘 |
install complete — sentinel written | 全部完成,影片管線可用 | 0,可以開始用 |
如果你看到 log 卡在某一行超過 10 分鐘、又沒新的錯誤訊息,通常是網路或某個下載源慢。判斷方法:
- 去 HA 主 UI 的 Settings → System → Network 看——有沒有網路。如果沒網路,重點是先修網路,不是等。
- 去 Settings → Add-ons → Pi Agent → Info 看 CPU / Memory——如果 CPU 一直有動、記憶體在漲,代表它有在工作,只是慢。等就對了。
- 如果 log 出現「WARNING: chromium download failed」之類——代表這次首裝失敗了。這種情況不會建立 sentinel,所以下次啟動
video-tools-init會自動再跑一次,看看網路狀況會不會變好。不用手動 reset。
哪些情況下會(或不會)再下載一次
整理你可能遇到的各種「動 Pi Agent」的情境,會不會觸發重新下載這 720 MB:
| 你做的事 | 會重下嗎 | 為什麼 |
|---|---|---|
| 單純重啟 add-on(Info 分頁按 RESTART) | 不會 | sentinel 檔還在,video-tools-init 秒過。 |
| 重開整台 HA(Configuration → Restart Home Assistant) | 不會 | 同上,sentinel 在 /data/pi-agent/,重開機不會動。 |
| 升級 Pi Agent 小版號(v0.13.1 → v0.13.2) | 不會 | 只換映像檔,你的 volume(含 sentinel)都留著。 |
| 升級 Pi Agent 大版號(v0.13 → v0.14) | 通常不會 | 除非該版本 CHANGELOG 明講需要 reset(會很罕見),否則跟小版號一樣。 |
| UNINSTALL Pi Agent add-on 再重裝 | 會 | 移除 add-on 時 HA 會問你要不要保留 data,如果選不保留就整個 /data/pi-agent/ 清光,sentinel 也沒了。 |
| UNINSTALL 但選「保留 data」,之後重裝 | 不會 | volume 還在,sentinel 也還在。 |
把 reset_video_tools 開關翻成 true 再重啟 |
會 | 啟動腳本主動刪 sentinel 跟 venv/cache。這就是這開關的存在意義。 |
| HA 整台掛掉,restore 一份 snapshot 到新硬體 | 會 | snapshot 沒帶 venv/playwright-cache(見第 5 段);sentinel 雖然有還原,但腳本的雙重檢查會偵測到 venv 沒了,還原後啟動就自動重下。你不用做任何事。 |
| HA host 換 SSD、把整個 /data 目錄 rsync 過去 | 不會 | 只要 sentinel 跟 venv/cache 都在,就跟原本一樣。 |
看完你應該有底了:你的日常操作(升級、重啟、重開 HA)都不會觸發重下;只有「移除重裝」「還原災難用備份」「主動 reset」這三種情況才會。也就是說平均下來,多數人這一輩子只會看到那個 3-8 分鐘一次而已。
常見卡關
-
下載卡在
downloading Chromium那行超過 30 分鐘沒動八成是網路問題。Playwright 下載 Chromium 走 Google 的 CDN,某些網路環境(校園網、公司內網、部分 ISP)會慢到爆。判斷:去 HA Info 分頁看 CPU/網路有沒有動,有動就是純慢,等;完全沒動可能是連線斷了。試試:(a)換時段(半夜通常快);(b)如果 HA 走 VPN 或某些 proxy,暫時繞開;(c)真的完全過不去,開
reset_video_tools重跑一次。 -
看到
WARNING: pip install failed但 log 又繼續往下跑這個 warning 意思是「pip 那步炸了但腳本繼續跑」——因為
video-tools-init.sh每個失敗都exit 0(不擋 pi-web)。結果就是:pi-web 能用、聊天能用,但影片管線的 skill 一跑一定失敗。判斷:試著跑一個影片管線的 skill,看它報什麼錯。多半是說「找不到 edge-tts」之類。解法:reset_video_tools重來一次,通常第二次會成功(第一次可能剛好某個 mirror 掛了)。 -
下載完了但 sentinel 沒建(
/data/pi-agent/.video-tools-installed不存在)如果每個 pip / playwright 步驟都成功,但
touchsentinel 失敗,通常是權限問題——data 目錄的擁有者被弄亂了。判斷:ls -la /data/pi-agent/看擁有者。正常情況下該資料夾應該是 add-on user 可寫的。解法:先看 log 有沒有 "Permission denied",有的話最乾淨的做法是 uninstall Pi Agent(選不保留 data)再重裝,讓 HA 重建 volume 的權限。這是核彈選項,但省時間。 -
影片管線的 skill 跑失敗、log 沒錯誤但影片就是沒出來
典型「venv 半殘」症狀:Python 模組看似都在但某個依賴壞了,執行時中途 silent crash。判斷:先去 Logs 分頁翻一下 skill 執行時的完整輸出,找 Python traceback。真的看不出來就直接
reset_video_tools——這是這個開關最主要的用途,一次重建 venv 通常就好。 -
硬碟空間不夠、Pi Agent 拒絕下載
Chromium + venv 加起來要 700 MB,加上下載暫存還要多一點,建議自由空間至少 2 GB。第 2 章建議整個 HA host 留 3 GB。空間不夠時 pip 會報
No space left on device。解法:(a)先清/backup/底下舊 snapshot;(b)清/data/pi-agent/clips/跟segments/(影片中間檔,看第 17 章);(c)清/data/pi-agent/sessions/老對話。清完再 reset 一次重來。 -
reset_video_tools 的自動翻回機制失敗了(每次重啟都重下 720 MB)
正常情況下 add-on 會呼叫 Supervisor API 把這個開關自動翻回 false,但極少數狀況會失敗——例如某個 Supervisor 版本 bug、或
SUPERVISOR_TOKEN沒注入(罕見)。判斷:去 Configuration 分頁看reset_video_tools是不是還在 true,同時去 Logs 看有沒有Could not auto-revert reset_video_tools這行警告。有就手動撥回 false 存檔,下次重啟就秒過了。如果反覆發生,去 Info 分頁看 add-on 版本是不是 < 0.13.0(更舊的版本沒有自動翻回機制),有的話升級。 -
不想動 config,只想「乾脆清 sentinel 讓它重跑」
DOCS.md 官方 troubleshoot 段講的比較低科技的做法:不用開 reset_video_tools 開關,直接進 add-on 的 Terminal 分頁(或
docker exec -it addon_woow_ha_pi_agent bash)跑rm /data/pi-agent/.video-tools-installed,再回 Info 按 RESTART。因為腳本的 sentinel 檢查會失敗,就會重跑一次 3-8 分鐘的安裝。這個方法不會動到 venv/playwright-cache 目錄本身,如果只是 sentinel 檔被誤刪或 corrupted 的救援場景,比 reset 更精準(reset 會連 venv 整個砍掉)。
常見問題
這 720 MB 佔的是 HA 主硬碟嗎?還是別的地方?
/data/pi-agent/。在 HAOS 上實體對應到 host 檔案系統的 /usr/share/hassio/addons/data/<pi-agent-slug>/ 這種位置。所以你 HA 硬碟有多大就有多大空間可以放,但當然要留給 HA 本體、你的 recorder database、其他 add-on 用,別讓 Pi Agent 吃太滿。硬碟監控看 Settings → System → Storage。沒有網路的話能離線裝這 720 MB 嗎?
/data/pi-agent/venv/ 跟 playwright-cache/ tar 起來搬過去,還原到內網那台的相同位置,加建 sentinel 檔即可;(b)自己 fork add-on 把工具打包進映像檔(大工程,不建議)。多數家庭用戶沒這問題,別想太多。以後 Playwright 出新版 Chromium,Pi Agent 會自動更新嗎?
playwright pip 套件版本上,之後每次啟動都用同一份。如果你要新版 Chromium,兩個做法:(a)等 Pi Agent 升級新版本,如果新版本用了新版 playwright pip 套件,reset 之後就會抓新 Chromium;(b)自己主動翻 reset_video_tools,這時 pip 會抓當下 PyPI 上最新的 playwright,Playwright 又會抓對應版本的 Chromium。想穩定就別亂 reset、想吃新版功能才 reset,看你需求。reset_video_tools 開關開了以後,我要按什麼「確認」它會做事?
reset_video_tools auto-reverted to false。只有在極少數 Supervisor API 呼叫失敗的情況下(log 會警告 Could not auto-revert),你才需要親自回 Configuration 撥回 false。video-tools-init 跑到一半我把 HA 關機了,會壞掉嗎?
video-tools-init 又會自動跑。但 venv 可能已經半建、pip 可能裝到一半、Chromium 目錄可能只有部分檔案。第二次啟動時它會發現「venv 目錄在、python3 也在」,就會跳過建 venv 這一步直接跑 pip install,結果 pip 有時能修好、有時會因為爛檔卡住。乾淨的作法:關機重開後如果影片管線一直出怪錯,直接翻 reset_video_tools 重建一次最省事。不同機器(樹莓派、x86 NUC、arm64 mini PC)下載時間差很多嗎?
我 uninstall Pi Agent 想省 720 MB,重裝之後對話跟 skill 還在嗎?
sessions/、skill skills/、金鑰 models.json、rclone 授權都在,重裝後照樣用;video-tools 因為 volume 沒動,sentinel 也在,重裝不用再下載 720 MB,秒開。(b)選不保留:全部清光,重裝完就是全新的,一切要重來(重貼金鑰、重裝 skill、對話全失),影片管線也要重新下載那 720 MB。uninstall 想省空間又不想失資料,一定要選保留——但這種情況下也省不到 720 MB,因為 volume 留著。真要省得選不保留,但代價就是啥都沒了。詳細規則看第 20 章。我不用影片管線,能不能把 /data/pi-agent/venv/ 跟 playwright-cache/ 手動刪掉省空間?
video-tools-init 看到 sentinel 還在會跳過安裝,是的——你會省下 720 MB 空間。但只要你哪天不小心翻了 reset_video_tools、或 uninstall 重裝、或 restore snapshot,它又會裝回來。而且如果哪天你想試試影片管線,你也要手動去 reset 才能用。更根本的問題是:video-tools-init 未來版本可能加檢查(例如驗證 Chromium 檔存在),那時你手動刪的技巧就失效了。要省就正經一點:翻 VIDEO_PIPELINE_ENABLED=false(看附錄 A env_vars 用法),或接受這 720 MB 存在。