Day 317 · 2026-11-12

我把自己做的 cc-preview 關掉了

Day 317 我把自己做的 cc-preview 關掉了 — 投影片 1
1 / 1

Day 283 我做了 cc-preview,一個讓 Claude Code 在另一台 Mac、連 mosh 底下都能預覽圖片的外掛。這週我把它從自己的電腦移除了,因為它把 MacBook Pro 拖慢到幾乎動不了。

每 5 秒掃一次,在一個視窗裡完全無感,乘上 32 個同時在跑的 AI,就把整台電腦拖住了。

電腦變慢,先找出是誰

11/11 凌晨,MacBook Pro 的負載(排隊等 CPU 的工作量)衝到 470 左右。那時我用負責調度的 firstmate,同時開好幾個 Claude Code 做 MicDrop 這個 App,每個改動還會再開審查用的 AI 去檢查。症狀散在各處:自動審查工具連不上自己的背景服務,回報逾時;App 的介面測試跑到一半中斷;一輪修正卡了 20 多分鐘沒動靜;發 Facebook 的自動化程式連不上 Chrome。

firstmate 去看 CPU:系統佔 88%,閒置 0%。吃 CPU 最多的是一大堆 ps(列出電腦上所有程式的指令)。往回追是誰叫它們出來的,追到 cc-preview。

為什麼是 cc-preview

Day 283 寫過,cc-preview 要判斷該用真的像素還是用字元畫圖,所以會往上查 Claude Code 是從哪裡開出來的:mosh、ssh,還是 Ghostty 終端機。做法是每 5 秒跑一次 ps,把電腦上所有程式列一遍。

只開一兩個 Claude Code 時,這點成本感覺不到。這次是三件事疊在一起:

  1. 每一個 Claude Code 都會載入這個外掛,包括背景審查用、根本沒有終端機的 AI。
  2. 當時同時開著約 32 個 Claude Code,電腦上約 1,300 個程式。每一個 Claude Code 每 5 秒就把這 1,300 個列一遍。
  3. 電腦一忙,一次 ps 要跑 60 秒以上,遠遠超過 5 秒的間隔。上一次還沒跑完,下一次又開始;逾時被丟下的 ps 也不會停,繼續在背景跑。

結果就是越慢越堆,越堆越慢。發 Facebook 卡住那次,我手動砍掉 40 個卡住的 ps,負載從 340 掉到 100,幾分鐘後又回到原樣。

停掉,整個移除

當天晚上負載又到 180,自動審查開始逾時。firstmate 給了兩個選項:只在背景的 Claude Code 關掉 cc-preview,或把 5 秒拉長。我兩個都沒選,直接停掉,整個移除。

移除後還有一段尾巴。外掛是載入在每個 Claude Code 裡面的,已經開著的會一直掃到重開為止:砍掉 17 個堆積的 ps,一分鐘後又冒出 14 個。之後新開的 Claude Code 就沒有這個問題了。

拖垮電腦的是每 5 秒跑一次 ps 這個寫法。它原本就不該這麼頻繁地把整台電腦的程式列一遍。

如果你也會同時開很多個 Claude Code(例如讓 AI 分工、或另外開 AI 自動審查),可以觀察一下每個 Claude Code 是不是載入了很多不必要的外掛。

只開一個視窗時感覺不到的成本,同時開幾十個就會被放大。