為什麼「能跑 Agent」不等於「敢跑 Agent」
AI 程式設計助手早已越過「補全幾行程式碼」的階段——它們會開啟終端機、安裝相依套件、批次改檔案,有時還會嘗試存取網路拉取模型或套件索引。 在 macOS 開發場景裡,你還常常需要 Xcode、Apple 簽名鏈路與 Neural Engine 本地推理; 純 Linux 容器給不了這些能力,而在自己的 MacBook 上裸跑 Agent,則意味著它與你的個人郵件、SSH 私鑰、IDE 全域設定共享同一套系統權限。
我們見過三類典型事故:Agent 誤刪 ~/Library/Developer/Xcode/DerivedData 導致下次全量編譯多花 15 分鐘以上;
腳本把 ~/.ssh/id_ed25519 當作普通文字讀走並上傳日誌;
無人值守任務在背景持續佔用 8 GB 記憶體,把本地機器拖到 swap 卡頓。
這些問題不是模型「不夠聰明」,而是缺少操作級邊界——Agent 能做什麼、不能碰什麼,必須在你按下 Enter 之前就寫清楚。
OpenClaw 是 ZovCloud 在獨享 Mac mini M4 實體機上提供的沙箱層:每次任務在獨立工作階段裡執行, 檔案系統、系統呼叫與出站網路都可按策略收緊,所有 ALLOW / BLOCK 事件寫入審計流。 本文不展開 YAML 每個欄位的生產級含義,只帶你走完「開通 → 驗證 → 跑第一個任務 → 看日誌」的最短路徑。
硬體:Mac mini M4 · 10 核 CPU · 16 GB 統一記憶體 · 256 GB NVMe(ZovCloud 新加坡節點)。
系統:macOS Sequoia 15.3,OpenClaw 1.4.2。
Agent 客戶端:Claude Code CLI(任意支援 shell 的 Agent 工具均可替換)。
計時:從主控台點擊「初始化 OpenClaw」到首個 claw audit tail 看到事件流,實測約 4 分 40 秒(含 ES 授權彈窗一次確認)。
五分鐘路線:開始前你需要什麼
整條路徑可以壓成四段,每段都有明確的「完成標誌」——只要看到對應輸出,就可以進入下一步,不必等所有概念都搞懂。
前提只有兩條:你已有一台執行中的 ZovCloud Mac mini M4 節點(付款後 1–5 分鐘自動開通), 且能 SSH 登入或開啟瀏覽器 VNC。若還沒有機器,可在下單頁選擇新加坡、日本、韓國、中國香港或美國東部節點,按天 $19.8 起,無長期合約。 本教學預設你是該節點的 Owner——個人上手不需要先設定多使用者角色。
| 階段 | 你要做的事 | 完成標誌 |
|---|---|---|
| ① 主控台 | 執行個體詳情 → OpenClaw → 零信任初始化 | 儀表板顯示「守護程序執行中」 |
| ② CLI 驗證 | SSH 登入,執行 claw status |
daemon: running 且 auth: valid |
| ③ 啟動沙箱 | claw run --template agent-dev |
claw list 出現活躍工作階段 ID |
| ④ 跑任務 | claw attach 內執行 Agent 命令 |
審計流出現 FILE / PROC 事件 |
第一步:主控台 60 秒完成 OpenClaw 初始化
登入 ZovCloud 主控台,進入「我的執行個體」,選擇目標 Mac mini M4,確認狀態為執行中。 點擊頂部 OpenClaw 標籤——首次進入會看到「零信任初始化」精靈,按順序完成即可:
-
01
產生節點金鑰對
主控台會為該實體機建立 Ed25519 金鑰對,並安裝
com.zovcloud.openclaw.daemon守護程序。此步驟無需手動複製私鑰,token 透過主控台一次性下發。 -
02
授權 Endpoint Security 與網路擴充功能
macOS 會彈出系統對話框,請求檔案與程序監控權限——這是審計日誌的資料來源,必須點「允許」。若透過 VNC 操作,請確保遠端桌面視窗在前景,避免彈窗被擋在背景。
-
03
下載 CLI 安裝腳本
頁面提供一鍵安裝命令,複製到終端機執行即可把
claw寫入/usr/local/bin/。安裝完成後,按提示執行claw auth login --token <YOUR_TOKEN>綁定當前節點。
初始化結束後,主控台儀表板會顯示守護程序狀態、近 24 小時 BLOCK 計數與活躍工作階段數(此時應為 0)。 若狀態卡在「等待授權」,回到系統設定 → 隱私權與安全性 → 完整磁碟存取 / 端點安全,確認 OpenClaw 相關條目已勾選。
第二步:SSH 登入並跑通 claw doctor
用主控台郵件裡的 SSH 憑證登入節點(範例):
ssh zovcloud@<your-node-ip>
依序執行健康檢查——這兩行應在你之後的每次上手前養成習慣:
claw status
claw doctor
期望的 claw status 關鍵欄位:daemon: running、auth: valid、es: granted。
claw doctor 會額外檢查審計目錄 /var/log/openclaw/ 是否可寫、內建範本是否完整。
若 auth: expired,回到主控台 OpenClaw 頁重新整理 token 後再執行 claw auth login。
Agent 通常需要存取模型 API 與套件倉庫。上手前可執行
claw net test --domain api.anthropic.com 與
claw net test --domain registry.npmjs.org,
確認出站未被公司防火牆攔截。若 BLOCK,先在策略裡加白名單,而不是關閉網路限制。
第三步:用內建範本啟動第一個沙箱工作階段
不必從零寫 YAML——OpenClaw 內建 agent-dev 範本,適合「在 workspace 裡改程式、讀系統工具、禁止碰 SSH 與鑰匙圈」的日常開發 Agent。
建立專用工作目錄並啟動工作階段:
mkdir -p ~/agent-workspace && cd ~/agent-workspace
claw run --template agent-dev --detach
claw list
claw list 會輸出類似 sess_a8f3c2 的工作階段 ID,記下它——後續 attach 與審計查詢都要用。
agent-dev 範本預設:workspace 可寫;/Applications、/usr/local/bin 唯讀掛載;
明確 deny ~/.ssh 與 ~/Library/Keychains;出站網路僅允許常見 API 與套件索引網域。
想快速看一眼範本邊界,可匯出為本地檔案(不修改也不影響當前工作階段):
claw template export agent-dev > /tmp/agent-dev-policy.yaml
上手階段不要急著改 block_all_others: false 或刪掉 deny 清單——
先確認 Agent 在預設邊界內能完成你的任務,再按需放寬;放寬永遠比事後追日誌便宜。
第四步:在沙箱裡跑 Agent,並讀審計日誌
把 Agent 命令放進沙箱執行,而不是直接在宿主機 shell 裡跑。以下用 Claude Code 為例,你可替換為 Cursor Agent、Aider 或自研腳本:
claw attach sess_a8f3c2 --exec "claude -p '在 workspace 建立 hello.py 並執行'"
另開一個終端機視窗,即時追蹤該工作階段的審計事件(把 ID 換成你的):
claw audit tail sess_a8f3c2 --follow
正常執行時,你會看到 FILE_WRITE、PROC_EXEC 等 ALLOW 記錄,附帶完整路徑與時間戳。
試著讓 Agent 讀取 SSH 目錄(應被攔截):
claw attach sess_a8f3c2 --exec "cat ~/.ssh/id_ed25519"
終端機會報錯,同時審計流出現 FILE_READ · BLOCK · ~/.ssh/id_ed25519——這說明策略生效,而不是 Agent「突然變乖了」。
任務結束後明確回收工作階段,釋放 16 GB 統一記憶體裡被 workspace 與程序佔用的部分:
claw stop sess_a8f3c2
需要留檔時,可把本次工作階段匯出為 JSON(適合貼進工單或發給安全同事):
claw audit export sess_a8f3c2 --format json --output ~/audit-first-run.json
claw attach 把你的命令放進既有沙箱工作階段;
claw run 則建立新工作階段。上手時最常見的混淆是:在宿主機直接跑 Agent,卻以為自己在沙箱裡——
務必確認提示字元前綴或 claw list 裡該工作階段狀態為 active 後再執行。
上手階段最容易卡住的四個點
我們把內部支援工單裡最高頻的「五分鐘上手」問題濃縮成下面四條。對照排除,通常能在兩分鐘內恢復。
-
01
ES 授權未生效 → claw doctor 報 es: denied
回到 macOS 系統設定手動勾選端點安全權限,必要時重啟守護程序:
sudo launchctl kickstart -k system/com.zovcloud.openclaw.daemon,再跑claw doctor。 -
02
Homebrew 工具找不到 → PROC_EXEC BLOCK
agent-dev已掛載/usr/local/bin,但若git透過 symlink 指向 Cellar,需把 Cellar 目錄加入唯讀掛載。臨時驗證可which git看真實路徑,再對照策略。 -
03
網路逾時 → 模型 API 被預設策略攔截
用
claw audit query --since 1h --action BLOCK --type network看被拒網域,把該網域加入工作階段策略allow_domains,或換用已白名單內的鏡像源。 -
04
工作階段忘了 stop → 記憶體佔用居高不下
claw list查看遺留工作階段,claw stop <id>逐個清理。範本預設idle_timeout: 30m,但長任務仍建議腳本末尾加claw stop。
下一步:把 Agent 遷出筆電,放到隔離的雲端 Mac
五分鐘上手解決的是「沙箱能不能跑起來」。真正進入團隊日常時,你還會遇到:多人共用節點如何分角色、
CI 裡每次 PR 如何起獨立工作階段、生產級 policy.yaml 怎麼寫才不漏路徑——這些在
OpenClaw 完整使用指南裡按章節展開,本文不再重複。
為什麼推薦把 Agent 放在 ZovCloud 雲端 Mac,而不是繼續擠占本地 MacBook? 第一,實體機獨享:每台 Mac mini M4 不做虛擬化、不超售,16 GB 記憶體與 10 核 CPU 整台歸你, Agent 編譯或跑本地模型時不會和日常 IDE 搶 swap。 第二,完整 macOS:Xcode、程式碼簽名、Apple Neural Engine 推理鏈路都在,Linux VPS 無法替代。 第三,OpenClaw 與機器一體開通:付款後 1–5 分鐘開通,五地節點(新加坡、日本、韓國、中國香港、美國東部)按使用者分布選擇,審計日誌預設保留 90 天。
計費按天 $19.8 起、按週 $53.5、按月 $99.1,無合約鎖定。 獨立開發者可以只在「Agent 實驗日」按天開通;小團隊常駐一台節點,把本地筆電從「編譯機 + Agent 機 + 郵件機」的三重角色裡解放出來。 若你已經在用 GitHub Actions 自託管 Runner,同一台雲端 Mac 既能跑 iOS 建置,也能在 PR 裡套 OpenClaw 做隔離審查——兩條流水線共享硬體,比再買一台機房 Mac 更省事。
| 你的現狀 | 五分鐘上手之後建議 |
|---|---|
| 個人嘗鮮 Agent 改程式 | 常駐 agent-dev 範本 + 每週匯出審計抽查 |
| 2–5 人小團隊 | 按完整指南設定 Owner / Operator 分權 |
| 已有 CI,想加 AI 審查 | Runner 上改用 ci-review 範本,PR 結束必 claw stop |
| 需要 Xcode + Agent 同機 | 策略裡掛載 /Library/Developer,DerivedData 設可寫 |
OpenClaw 的價值不在於多一個花俏面板,而在於讓 Agent 的每一次檔案讀寫、程序啟動與網路請求都可被事先限定、事後追責。 先用五分鐘跑通一條工作階段,再按團隊節奏把策略收緊到生產級——這才是「敢跑」的正確順序。