Agent 能幹活,也得有邊界
Cursor、Claude Code 這類工具已經不只是補全程式碼——它們會主動改檔案、跑終端、拉依賴。 問題出在權限模型:預設情況下,Agent 和你登入使用者共享同一套系統權限。 一次誤判就可能動到 ~/.ssh、誤刪建置產物,或在後臺悄悄發起你沒注意到的出站連線。
macOS 場景下隔離更難:Docker 跑的是 Linux 核心,codesign、Xcode 模擬器、 Apple Neural Engine 在容器裡不可用;再套一層 macOS 虛擬機器又帶來明顯效能損耗。 OpenClaw 的思路是:在真實物理 macOS 上,用作業系統原生能力劃定每次任務的操作邊界, 而不是把 Agent 關進什麼都做不了的籠子裡。
硬體:Mac mini M4 · 10 核 CPU · 16 GB 統一記憶體 · 256 GB SSD · 1 Gbps 獨享頻寬(SpinMac 新加坡節點)。
系統:macOS Sequoia 15.3 · OpenClaw 1.4.2。所有命令與截圖均在該獨享物理機上覆現。
三層隔離:檔案、系統呼叫、網路
動手配置前,先理解 OpenClaw 如何把「完整 macOS 能力」和「可控邊界」放在一起。 它用三層機制疊加,而不是單一黑名單:
檔案系統名稱空間:每個會話在指定目錄下建立獨立工作區,讀寫預設被重定向到該空間; 對系統路徑的訪問透過 readonly_mounts 與 deny 列表精細控制。
系統呼叫過濾:藉助 macOS Endpoint Security 攔截 exec、ptrace、 setuid 等敏感呼叫;可用預設模板(如 agent、dev)快速起步。
網路訪問控制:按域名或 IP 白名單放行出站流量,其餘請求靜默丟棄並寫入審計日誌, 避免 Agent 感知到「被牆」後嘗試繞行。
開通 SpinMac 節點(前置條件)
OpenClaw 內置於每臺 SpinMac Mac mini M4,無需單獨購買附加項。 若你還沒有可用例項,按以下步驟開通:
-
01
選擇節點與週期
前往配置下單頁,選擇新加坡、日本(東京)、韓國(首爾)、中國香港或美國東部節點。AI Agent 任務 256 GB 基礎盤即可,按天起租 $21.2。
-
02
付款後等待自動交付
支援 USDT-TRC20 與 Stripe 卡支付。確認收款後 1–5 分鐘內完成分配,郵件下發 SSH 與 VNC 憑證。
-
03
登入控制台驗證就緒
瀏覽器 VNC 可零客戶端接入;SSH 示例:
ssh admin@<公網IP> -p <埠>。確認 macOS 桌面或 shell 可正常登入後繼續。
控制台啟用 OpenClaw
在 SpinMac 控制台開啟對應訂單,進入「OpenClaw」標籤頁。 首次使用會執行零信任初始化:生成例項繫結的 Ed25519 金鑰對、安裝 com.spinmac.openclaw.daemon 後臺服務,並建立審計日誌目錄 /var/log/openclaw/。
終端驗證守護程序與 CLI:
# Check daemon
launchctl list | grep openclaw
# Expected: 0 com.spinmac.openclaw.daemon
# Install CLI if not present
curl -fsSL https://cdn.spinmac.com/openclaw/install.sh | bash
claw --version
# openclaw 1.4.2 (darwin/arm64)
claw status
# daemon: running | auth: valid
claw status 同時顯示 daemon: running 與有效 session token, 即可進入權限配置。若初始化卡住,先執行 claw doctor 檢視 Endpoint Security 授權是否完整。
用 YAML 劃定 Agent 權限
OpenClaw 用 YAML 描述每個沙箱會話的策略。對 AI Agent,建議從內建 agent 模板匯出再微調:
claw template list
# readonly | dev | agent
claw template export agent > ~/openclaw-agent.yaml
核心欄位說明(節選):
filesystem:
workspace: "~/agent-workspace"
readonly_mounts:
- /Applications
- /usr/local/bin
deny:
- ~/.ssh
- ~/Library/Keychains
network:
allow_domains:
- "api.openai.com"
- "api.anthropic.com"
- "*.github.com"
block_all_others: true
Agent 只能在 ~/agent-workspace 內寫入;可讀取已裝應用與 Homebrew 工具路徑; SSH 金鑰與鑰匙串被硬拒絕;出站網路僅限白名單域名。
初次配置時未把 /usr/local/bin 加入只讀掛載,git、python3 呼叫全部失敗。 OpenClaw 會解析 symlink 真實目標——若工具指向 Cellar 目錄,需把對應 Cellar 路徑一併加入 readonly_mounts,否則審計日誌裡會看到一連串 BLOCK exec。
跑通第一個隔離任務
策略檔案就緒後,啟動會話並在沙箱內執行 Agent:
claw run --config ~/openclaw-agent.yaml --attach
# Prompt becomes: (claw:my-agent-session) admin@mac-xxx:~$
# Run agent inside sandbox (example: Claude Code)
claude --dangerously-skip-permissions
--attach 讓你直接進入受控 shell;此後啟動的程序均在 OpenClaw 監控下。 Claude Code 的「跳過權限確認」在沙箱內仍受 YAML 邊界約束——越權寫入或非法網路訪問會被攔截。
另開終端即時檢視審計流:
claw audit tail my-agent-session --follow
# [10:23:41] ALLOW exec /usr/local/bin/git clone ...
# [10:23:45] BLOCK network outbound → 142.250.x.x — policy: block_all_others
審計日誌與零信任意味著什麼
上面那條被攔下的外連請求來自某依賴庫的初始化 ping——在普通環境下幾乎不可見, 在 OpenClaw 裡卻留下完整記錄。零信任不是「不信 Agent」,而是不預設每一步都符合預期, 用可匯出的日誌回答「它到底做了什麼」。
合規場景下,可將日誌匯出為 JSON 供安全團隊審查:
claw audit export my-agent-session \
--format json \
--output audit-report-$(date +%Y%m%d).json
需要生產級多使用者協作、CI 整合與故障排查時,可繼續閱讀 OpenClaw 完整使用指南。
常見場景策略速查
| 場景 | syscall 預設 | 網路策略要點 | 注意 |
|---|---|---|---|
| 程式碼生成 / 重構 | agent |
放行 npm / pip registry | 包管理器域名需入白名單 |
| Xcode 編譯 | dev |
放行 Apple CDN | 掛載 Xcode 與 DerivedData |
| 敏感資料只讀分析 | readonly |
全部阻斷 | 最高隔離級別 |
| CI 自動化審查 | dev |
GitHub + AI API | 每次流水線獨立會話 |
建議每個獨立任務新建會話,審計按任務隔離;調好的 YAML 可存為命名模板, claw run --template xcode-build 一鍵複用,避免重複手寫策略。 對於需要反覆除錯策略的團隊,可以把模板檔案放進 Git 倉庫的 .openclaw/ 目錄, 與業務程式碼同版本管理——每次合併請求都能追溯當時生效的權限邊界,安全審查時也不必再口頭描述「當時大概允許了什麼」。
為什麼不用 Docker 或巢狀虛擬機器?
Docker Desktop 在 macOS 上本質是 Linux VM——沒有完整 Apple 工具鏈,Neural Engine 也無法直通。 巢狀 macOS 虛擬機器雖能跑 Xcode,但 M4 的 38 TOPS 算力在虛擬化鏈路中大幅折損,且缺少內建操作級審計。
OpenClaw 在物理機上用 Endpoint Security 做攔截,開銷約 3% CPU,Agent 仍可使用真實 codesign、模擬器與 Core ML——只是邊界事先寫進策略檔案。 這與「在筆記本上裸跑 Agent」或「自己搭虛擬機器再套一層監控指令碼」相比,運維路徑更短: 你不需要維護映象、快照或額外的日誌採集 Agent,SpinMac 控制台與 claw CLI 已經覆蓋開通、策略、審計的閉環。
若你本地 8 GB MacBook 跑 Agent 頻繁 swap,或團隊需要可審計的共享節點, SpinMac 按天 $21.2 起租的 M4 物理機提供 16 GB 獨佔記憶體與開箱即用的沙箱能力, 比拼湊臨時方案更省時間,也更符合安全團隊對「可證明邊界」的期望。