可靠的 OpenClaw 上線從暴露 Webhook 之前就開始了:它始於可預期的目錄佈局、按環境隔離的金鑰,以及能在重啟後仍然成立的檔案許可權。本文說明如何組織 ~/.openclaw/openclaw.json、配套的 .env、可選的 agents/ 覆蓋,以及開發/預發/生產配置檔案——並解釋團隊為何傾向在租用的 Apple Silicon Mac mini 上完成這些工作,而不是在會過機場安檢的個人筆記本上儲存生產令牌。
把配置當作基礎設施程式碼:模板進倉庫,機密進環境,許可權寫進運維手冊。雲 Mac 提供固定主機名、可 7×24 保持喚醒,以及 SSH 會話下一致的 umask 與屬主,能顯著減少「我本地能跑、閘道器讀不到檔案」類問題。
macOS 上的規範路徑
上游文件將使用者態集中在 ~/.openclaw/:主檔案 openclaw.json、可選的金鑰 .env、按代理劃分的 agents/,以及日誌與快取等兄弟目錄。把整個目錄當作小型資料庫:chmod 700 ~/.openclaw,避免共享實驗機上的其它 macOS 使用者讀到令牌。除非安全團隊明確批准,不要把整個目錄 symlink 到 Dropbox 或 iCloud——同步工具常在寫入中途複製半成品,造成 JSON 損壞或金鑰分叉。
業務倉庫可以提交無金鑰的 openclaw.config.json 模板;CI 應在檢測到誤提交完整 ~/.openclaw 樹時失敗。把 .openclaw 與 .env 一併列入新人清單。排障流程請交叉閱讀 OpenClaw doctor 與閘道器診斷;需要穩定重啟閘道器時,參見 LaunchAgent、cron 與定時任務。
若團隊有多人 SSH 同一臺雲 Mac,約定統一的主目錄與組策略:要麼每人獨立 Unix 使用者與獨立 ~/.openclaw,要麼單一自動化賬戶但嚴格審計 sudo。混用 root 與標準使用者會導致 LaunchAgent 與手工編輯爭搶屬主,表現為間歇性 401 或讀不到重新整理後的令牌。
JSON 與 .env 各自放什麼
用下表在評審中快速達成一致:
| 內容型別 | 存放位置 | 示例 |
|---|---|---|
| API 金鑰、OAuth 客戶端金鑰 | .env(許可權 600) | ANTHROPIC_API_KEY=... |
| 模型 ID、溫度上限等非機密調參 | openclaw.json | 穩定、可評審的數值 |
| 內嵌令牌的 Webhook URL | .env 按名引用 | 避免字面量寫進 git |
| 閘道器繫結地址與埠 | openclaw.json | 常為非機密,仍需雙人複核 |
| allowedOrigins 列表 | openclaw.json | 每條記錄註明業務原因 |
需要分享脫敏配置時,用 jq 過濾掉匹配 /token|secret|password/i 的欄位再貼工單——手工塗黑在巢狀 JSON 裡容易漏掉約三、四成的敏感鍵,這是內部支援覆盤裡反覆出現的模式。
對多區域部署,可在 JSON 中拆分「邏輯名」與「物理端點」,真實 URL 仍留在 .env。這樣合併請求裡看到的是結構變更而非金鑰輪換,審計更清晰。
開發、預發與生產配置檔案
認真對待爆炸半徑的團隊會維護三個邏輯配置檔案:本地開發、共享預髮閘道器、生產。每套應使用不同的 API 金鑰、Discord 機器人令牌與閘道器鑑權金鑰。若實習生頻繁獲得預發許可權,預發金鑰可更頻繁輪換;生產則遵循 SOC2 或等效日曆。
環境變數可在不復制整棵 JSON 的情況下切換配置檔案:例如 OPENCLAW_PROFILE=staging,由薄封裝指令碼在啟動守護程序前把正確片段拷到固定路徑。務必在內部 README 寫明該變數,避免值班工程師在凌晨三點 export 錯值。
隨著按模型上下文預算(類似 contextProfiles)的能力普及,小模型可能只掛載一天檔案歷史,大模型保留七天——若配置檔案命名混亂,很容易在回退時把錯誤的上下文包掛到錯誤的閘道器上。用字首與目錄分層,比依賴註釋更可靠。
在 HTML 與靜態交付團隊裡,OpenClaw 常與瀏覽器自動化或內部 CMS 鉤子並存;把閘道器繫結在固定埠並寫進配置檔案,可減少與本地 Vite 開發伺服器的埠衝突。雲 Mac 上可為每個專案分配獨立使用者或獨立埠段,並在文件中登記。
chmod、備份與手冊
除目錄 700 外,對 .env 及含 HMAC 共享金鑰的檔案設 600。LaunchAgent 應以擁有 ~/.openclaw 的同一使用者執行;root 與標準使用者混用會導致閘道器讀不到重新整理令牌,表現為難以復現的 401。
備份請使用加密歸檔(tar + age 或 gpg)並季度寫入離線介質。恢復演練應在 15 分鐘內完成幷包含 openclaw doctor;超時說明佈局過碎,應在事故前簡化。
手冊中列出配置觸及的每個外部依賴:大模型供應商、聊天提供商、隧道端點與企業 HTTP 代理。任一證書輪換時,按同一清單復跑,而不是臨場發揮。
對審計日誌,記錄誰在何時修改了 openclaw.json:可用 git 管理脫敏模板,而真實機狀態用 checksum 監控。兩者結合能區分「有意釋出」與「誤編輯」。
把雲 Mac 當作配置工作臺
租用 Mac mini 可獲得常開、主機名穩定、不會裝進雙肩包的機器——當時區分散的多名工程師迭代 openclaw.json 時,你們 SSH 登入、在受控許可權下編輯,並在不喚醒他人筆記本的情況下重啟 LaunchAgent。
合規側往往更青睞帶 MDM 與磁碟加密的專用主機,而不是金鑰散落在多臺 BYOD。Apple Silicon 對閘道器負載與偶發瀏覽器鉤子綽綽有餘,功耗也低於把遊戲 PC 當偽伺服器。
成本上,按天約 16.9 美元 的彈性租用,對比承包商因無法復現配置漂移而浪費的半天工時,通常一次避免升級就能回本。
與僅使用 GitHub Actions 相比,自託管閘道器需要長期程序與本地檔案狀態;雲 Mac 比筆記本更適合承擔這一角色。你們仍應把流水線用於構建與測試,只是別把生產金鑰寫進 Actions 明文變數——分層存放、最小暴露。
入職與漂移檢測
互動式 openclaw onboard 能快速生成首啟檔案,但也容易讓團隊在未記錄的情況下接受預設。入職後請將脫敏的 openclaw.json 匯出到知識庫,並註明 CLI 版本;當 openclaw --version 跨越次版本時,安排 diff 審閱,因遷移指南偶爾會重新命名鍵。
自動化檢測漂移:夜間 cron 可對規範 JSON 做 shasum,雜湊變化且無證單則告警;同作業串聯 openclaw doctor 可同時捕獲誤編輯與上游棄用。跳過自動檢查的團隊,據支援側軼事平均每季度回滾次數約高一倍——雖非正式研究,可作 gut check。
自定義 shell 匯出請加清晰字首(如 OPENCLAW_),避免與也讀取泛名 GATEWAY_PORT 的其它工具衝突。手冊中貼上完整 export 塊,避免從過期論壇抄片段。
事故時先凍結寫入:把當前 ~/.openclaw 拷到 /var/tmp/openclaw-incident-YYYYMMDD/ 再改,便於二分。若恢復需要多於一條命令,說明狀態過於分散。
容器使用者應顯式對映卷:把 ~/.openclaw 讀寫掛進 Docker 若 UID 不對齊,會得到 root 屬主檔案,macOS 圖形工具無法編輯。需要嚴格許可權一致時,優先在 macOS 原生跑閘道器——這也是團隊選裸金屬 Mac mini 而非巢狀 Linux VM 的常見原因。
最後校準時間:時鐘漂移會破壞簽名 Webhook 與 OAuth。啟用網路時間並在上架時用 sntp time.apple.com 校驗;偏差超過 30 秒 時先消掉再查鑑權。
審計閘道器主機 sudo 許可權:不必要的 root 會在指令碼誤執行 chmod -R 時放大爆炸半徑。更穩妥是專用自動化使用者,僅對自有 LaunchAgent plist 允許無密碼重啟。
常見問題
openclaw.json 應該放進 git 倉庫嗎?
專案級 openclaw.config.json 可無金鑰提交,但 ~/.openclaw/openclaw.json 屬於使用者私有,必須排除在版本控制之外。用 docs/ 下模板並從環境注入金鑰。
閘道器令牌多久輪換一次?
團隊可按季度輪換;生產升級前先讓預發環境浸泡至少 24 小時。
為什麼用租用的 Mac 做 OpenClaw 配置?
專用 Apple Silicon 主機路徑穩定、不會因筆記本合蓋中斷聯調,並在合規策略下把金鑰與個人 BYOD 磁碟隔離。
結構良好的 OpenClaw 配置就是基礎設施程式碼:模板版本化、檢查自動化、線上狀態跑在可信硬體上。Apple Silicon Mac mini 租用把原生 macOS 相容與彈性支出結合在一起——入職衝刺時擴容,閘道器進入穩態後收縮——讓 AI 自動化貼近 HTML 與 Web 工作流,而不把每臺工程師筆記本變成生產金鑰庫。
在專用 Mac 上託管 OpenClaw 配置
租用 Apple Silicon Mac mini,統一 ~/.openclaw 佈局,把金鑰移出 BYOD,需要時讓閘道器 7×24 線上。