AI Frontier

2026 OpenClaw:npm 全局安裝與 Docker Compose,哪條路徑更貼你的團隊?

MacHTML Lab2026.03.25 12 分鐘閱讀

2026 年 OpenClaw 常見入口包括 curl 一鍵腳本npm 全局包,以及面向進程隔離的 Docker Compose 棧。本文對比「npm 優先」與「Docker 優先」在 Apple Silicon Mac(含 MacHTML 客戶常用的雲 Mac mini)上的落地差異,幫助你按安全基線、升級頻率與自動化預算選型。

兩條路徑共同前提

無論哪種打包方式,2026 年教程普遍假設 CLI 與網關守護進程運行在 Node.js 22 及以上。還需要大模型供應商密鑰(Anthropic、OpenAI 或本地 Ollama)以及出站 HTTPS。Apple Silicon 上建議關閉 Rosetta 再裝 Node,避免誤裝 x64 二進位拖慢事件循環。

磁碟常被低估:至少預留 8 GB 給 npm 緩存與網關日誌;若拉 Docker 基礎鏡像再加 4–6 GB。內存上,輕量 agent 循環約 2 GB,若網關旁再跑瀏覽器自動化技能,建議 4 GB 以上;若本地嵌入向量或多供應商並行,仍要上浮。

在 CI 與預發之間複製配置時,建議把 .env 樣例與真實密鑰文件分開入庫:樣例寫清必填變量名與示例格式,密鑰只留在租用機器或密鑰管理器裡。這樣新同事從 SSH 登錄到第一次成功 openclaw ping,可以在 一小時內完成,而不是在群裡追問「你到底用的哪份 json」。

npm 全局:優劣與命令

在筆記本或租用的 Mac mini 上,這是最快拿到可執行 CLI 的方式。用 nvm 或官方 pkg 裝好 Node 後:

npm install -g openclaw@latest
openclaw onboard --install-daemon

優勢包括 升級快npm update -g openclaw)、which openclaw 即可定位、以及對接 macOS 鑰匙串做 OAuth 時路徑更直。劣勢在多租戶團隊:全局安裝模糊歸屬、無快照則回滾麻煩、也容易出現「用個人用戶跑網關」而缺少獨立服務帳號的情況。

當你要把實驗環境推到公網前,建議結合站內 反向代理、Tunnel 與加固 一文配置 nginx/Caddy 與令牌。

Docker Compose:優劣與命令

安全或合規要求 不可變基礎設施 時,Docker 更順手。常見流程是克隆上遊倉庫、用 CLI 容器完成 onboard,再拉起網關服務:

git clone https://github.com/openclaw/openclaw.git
cd openclaw
docker compose run --rm openclaw-cli onboard
docker compose up -d openclaw-gateway

容器提供固定鏡像版本、獨立密鑰卷,以及在不改宿主機路由的情況下掛接出站代理。代價是迭代慢——代碼變更常要重建——以及在 macOS 上維護 Docker Desktop 或 Colima 的運維成本。雲 Mac 上不少團隊把 compose 項目放在 /opt/openclaw,用一條 launchd/systemd 單元統一重啟。對需要審計軌跡的企業,可在 compose 裡打開只追加日誌卷,配合集中式採集,滿足季度安全復盤時的溯源需求。

對照表

維度npm 全局Docker Compose
首次跑通 openclaw約 5 分鐘內約 10–20 分鐘(含拉鏡像)
升級成本低(單條 npm 命令)中(拉鏡像 + 重啟)
與宿主機隔離
調試棧追蹤本機 node/lldb 方便需 docker exec
適配按天租用的雲 Mac適合快速試錯適合長期在線網關

同一臺雲 Mac 上並存

成熟團隊有時會 雙軌:npm 負責交互實驗,Docker 跑面向 Slack/Telegram Webhook 的準生產網關。目錄與環境文件要分開,避免 API Key 串味。租用 Mac mini 時,在 onboard 完成後給 compose 項目打快照,並在文檔裡寫清 SSH 登錄後的重啟順序,方便同事接手。

M2/M3/M4 共享 arm64,二進位兼容性通常優於老舊 Intel 雲主機——後者常讓 Rosetta 與原生 Node 擴展糾纏。把 OpenClaw 放在 專用 MacHTML 節點 上,比循環使用電池老化的 MacBook 更利於 7×24 熱穩定與風扇噪聲控制。

暴露網關時的安全提醒

無論 npm 還是 Docker,不要在無鑑權情況下把網關綁到 0.0.0.0。2026 年初公開研究顯示大量可發現的 agent 端點缺少令牌與出站過濾。應在前面加 nginx 或 Caddy 終結 TLS,把管理 API 限制在迴環或專線。打包方式不改變你必須加固服務的事實。若團隊已有零信任策略,可把網關管理面放進內網 DNS,僅對運維跳板機開放,減少公網掃描面。

排錯:doctor 與日誌

onboard 失敗時先跑 openclaw doctordocker compose run --rm openclaw-cli doctor,通常 30 秒內能列出 Node 版本不符、缺密鑰、出站被牆等問題。提 issue 前保留這段 stdout 可省一半來回。

日誌位置不同:npm 多在 ~/.openclaw/logs,Compose 常映射到 compose 文件旁的 ./data/logs。繁忙網關建議每周輪轉日誌;調試模式常開時,無人值守 agent 一周可寫 約 200 MB。若模型接口間歇返回 429,應限流並發技能或本地緩存嵌入。

技能若寫入 git 倉庫,注意容器默認 root 會在 bind mount 上留下 root 屬主文件,破壞 CI 檢出。可在 compose 覆蓋裡降權或 onboard 後統一 chown。

把 OpenClaw 與 Playwright、CSS Lint 掛在同一倉庫時,讓 agent 工作區與 git 工作樹同卷,才能一個 git status 看清改動;SSH 到遠端 Mac 即便有 約 512 ms RTT,也好過 agent 看不到工作樹導致壞選擇器上線。

常見問題

用了 Docker 還需要在宿主機裝 Node 嗎?

容器內仍是 Node 運行時;宿主機只需 Docker 引擎與鏡像/卷磁碟,可避免汙染全局 npm。

哪種方式在每周發版時升級更快?

npm 全局通常一條 update 即可;Docker 需拉鏡像並重啟棧,更慢但跨機器更可復現。

curl 安裝腳本與 Docker 能共存嗎?

可以,但要隔離配置與埠,避免兩個進程搶同一網關埠;生產流量建議只保留一條主路徑。

網關 CPU 長期飆高要先查什麼?

先看消息隊列是否堆積、模型調用是否並行過多,再用系統監視器區分是 Node 事件循環阻塞還是子進程腳本失控;必要時臨時降低輪詢頻率並開啟採樣級日誌,避免整盤被 trace 寫滿。

租用 Mac mini 等於擁有可隨時重裝或快照的「沙箱機房」:比回收同事筆記本更快,也能讓 Docker 網關在你本地合蓋睡眠時仍在線。Apple Silicon 讓 Node 事件循環在多路消息輪詢時仍順滑,macOS 也是許多 OpenClaw 插件默認的路徑與鑰匙串假設。若你在迭代 HTML/CSS 自動化技能,原生棧能減少「容器裡一切正常、到 Safari 演示卻翻車」的落差。

用 Apple Silicon 7×24 跑 OpenClaw 預發

開一臺雲 Mac mini 試 Docker 網關或 npm 實驗環境,SSH 連上即可對比兩條路徑,項目間隙再降配。

雲上跑 OpenClaw
最低 $16.9/天