--- name: openclaw description: OpenClaw AI agent 平台文檔 - 安裝設定、Gateway、瀏覽器控制、通訊頻道整合、Skills 開發 homepage: https://docs.openclaw.ai/ --- # OpenClaw 完整文檔 > 來源: https://docs.openclaw.ai/ > 完整文檔索引: https://docs.openclaw.ai/llms.txt --- ## 概述 OpenClaw 是一個 AI agent 平台,支援多種通訊頻道(WhatsApp、Telegram、Discord、iMessage 等),提供瀏覽器自動化、多代理路由、OAuth 認證等功能。 ### 核心功能 - **Channels**: WhatsApp、Telegram、Discord、iMessage 整合 - **Plugins**: 可擴展插件系統(如 Mattermost) - **Routing**: 多代理路由與 session 隔離 - **Media**: 圖片、音訊、文件處理 - **Apps**: Web 控制介面與 macOS 應用 - **Mobile nodes**: iOS 和 Android 支援 --- ## 快速開始 ### 系統需求 - Node.js 22 或更高版本 - pnpm(可選,推薦用於源碼構建) - Windows 用戶需使用 WSL2 + Ubuntu - macOS 開發者需要 Xcode/CLT ### 安裝方式 **標準安裝(推薦):** ```bash curl -fsSL https://openclaw.ai/install.sh | bash ``` **Windows PowerShell:** ```powershell iwr -useb https://openclaw.ai/install.ps1 | iex ``` **npm/pnpm:** ```bash npm install -g openclaw@latest pnpm add -g openclaw@latest ``` ### 設定精靈 ```bash openclaw onboard --install-daemon ``` 設定精靈會處理: - Gateway 類型選擇(local/remote) - 認證方式(OAuth 或 API keys) - 通訊頻道設定(WhatsApp、Telegram、Discord、Mattermost) - 背景服務安裝 - Gateway token 生成 ### 啟動 Gateway ```bash openclaw gateway --port 18789 --verbose ``` 存取 Dashboard:`http://127.0.0.1:18789/` --- ## 設定檔 ### 位置 `~/.openclaw/openclaw.json`(JSON5 格式) ### 基本設定 ```json5 { agents: { defaults: { workspace: "~/.openclaw/workspace", model: { primary: "anthropic/claude-opus-4-5" } } }, gateway: { mode: "local", bind: "loopback", auth: { mode: "token", token: "your-long-random-token" } }, channels: { whatsapp: { dmPolicy: "allowlist", allowFrom: ["+15551234567"] } } } ``` ### 設定驗證 ```bash openclaw doctor # 診斷設定問題 openclaw doctor --fix # 自動修復 ``` ### 環境變數 - 語法:`${VAR_NAME}`(僅大寫) - 來源順序:環境變數 → `.env` → `~/.openclaw/.env` --- ## Gateway 管理 ### 常用指令 | 指令 | 說明 | |------|------| | `openclaw gateway` | 啟動 Gateway | | `openclaw gateway status` | 查看狀態 | | `openclaw gateway stop` | 停止 Gateway | | `openclaw gateway restart` | 重啟 Gateway | | `openclaw gateway health` | 健康檢查 | ### 啟動選項 ```bash openclaw gateway \ --port 18789 \ --bind loopback \ --auth token \ --verbose ``` - `--port `: WebSocket port(預設 18789) - `--bind `: loopback | lan | tailnet | auto - `--auth `: token | password - `--verbose`: 詳細日誌 ### 服務管理 ```bash openclaw gateway install # 安裝為系統服務 openclaw gateway start # 啟動服務 openclaw gateway stop # 停止服務 openclaw gateway uninstall # 移除服務 ``` --- ## 通訊頻道 ### WhatsApp **設定:** ```json5 { channels: { whatsapp: { dmPolicy: "pairing", // pairing | allowlist | open | disabled allowFrom: ["+15551234567"], groups: { "*": { requireMention: true } } } } } ``` **登入:** ```bash openclaw channels login ``` 掃描 QR Code 連結 WhatsApp。 **DM 政策:** - `pairing`: 未知發送者收到驗證碼(1小時過期) - `allowlist`: 只允許列表中的號碼 - `open`: 公開存取(需設定 `"*"`) - `disabled`: 停用 DM ### Telegram **設定:** 1. 透過 @BotFather 建立 bot 取得 token 2. 設定環境變數或設定檔: ```json5 { channels: { telegram: { botToken: "your-bot-token", // 或使用環境變數 TELEGRAM_BOT_TOKEN dmPolicy: "pairing", groups: { "*": { requireMention: true } } } } } ``` **DM 政策:** - `pairing`(預設):新用戶收到驗證碼 - `allowlist`:只允許指定用戶 - `open`:公開存取 - `disabled`:停用 **群組設定:** - `requireMention`:需要 @ 提及才回應 - `groupPolicy`:open | allowlist | disabled ### 驗證連線 ```bash openclaw channels status --probe ``` --- ## 瀏覽器控制 ### 概述 OpenClaw 運行獨立的瀏覽器環境,與個人瀏覽器分開。支援: - Chrome/Brave/Edge/Chromium profiles - 確定性 tab 控制 - 點擊、輸入、拖曳等操作 - 截圖與 PDF 生成 ### 基本指令 ```bash openclaw browser --browser-profile openclaw status openclaw browser --browser-profile openclaw start openclaw browser --browser-profile openclaw open https://example.com ``` ### 設定 ```json5 { browser: { enabled: true, headless: true, viewport: { width: 1920, height: 1080 }, locale: "zh-TW", timezone: "Asia/Taipei" } } ``` ### 安全注意事項 - 瀏覽器控制僅限 loopback - 使用專用 profile,不要用個人瀏覽 profile - 保持 Gateway 在私有網路 --- ## Skills 系統 ### 概述 Skills 是 AgentSkills 相容的資料夾,包含 `SKILL.md` 與 YAML frontmatter。 ### 載入位置(優先順序) 1. `/skills`(最高) 2. `~/.openclaw/skills` 3. 內建 skills(最低) ### SKILL.md 格式 ```markdown --- name: my-skill description: 技能描述 homepage: https://example.com user-invocable: true --- # 技能內容 ... ``` ### ClawHub Registry ```bash clawhub install clawhub update --all clawhub sync --all ``` 瀏覽:https://clawhub.com ### 設定覆蓋 ```json5 { skills: { entries: { "skill-name": { enabled: true, apiKey: "KEY_VALUE", env: { VAR: "value" } } } } } ``` --- ## 安全性 ### 安全審計 ```bash openclaw security audit # 基本審計 openclaw security audit --deep # 深度審計(包含 Gateway 探測) openclaw security audit --fix # 自動修復 ``` ### 威脅模型 1. **Inbound access control** - 誰能發訊息給 bot 2. **Tool blast radius** - bot 能執行什麼操作 3. **Network exposure** - Gateway 暴露程度 ### 存取控制 **DM 政策:** - `pairing`: 驗證碼機制 - `allowlist`: 白名單 - `open`: 公開(需明確設定) - `disabled`: 停用 **群組控制:** - 使用 mention-gating - 設定 `groupPolicy` ### 憑證位置 - WhatsApp: `~/.openclaw/credentials/whatsapp//creds.json` - Bot tokens: 環境變數或設定檔 - Auth profiles: `~/.openclaw/agents//agent/auth-profiles.json` - Session 記錄: `~/.openclaw/agents//sessions/*.jsonl` ### 網路強化 ```json5 { gateway: { bind: "loopback", auth: { mode: "token", token: "your-long-random-token" } } } ``` - 預設 bind: loopback only - 需要認證: 設定 `gateway.auth.mode: "token"` - 使用 Tailscale Serve 取代 LAN binds ### 事件回應 1. **Contain**: 停止 Gateway 2. **Rotate**: 更換所有密鑰 3. **Audit**: 檢查日誌和 session 記錄 4. **Report**: 回報問題 --- ## 疑難排解 ### 診斷指令 | 指令 | 說明 | |------|------| | `openclaw status` | 本機摘要 | | `openclaw status --all` | 完整診斷(包含日誌) | | `openclaw status --deep` | 深度檢查(包含 provider 探測) | | `openclaw logs --follow` | 即時日誌 | ### 常見問題 **API Key 遺失:** ```bash openclaw models auth setup-token --provider anthropic ``` **OAuth Token 失敗:** 改用 setup-token 比 refresh 機制更可靠。 **HTTP 安全問題:** 使用 HTTPS(透過 Tailscale Serve)或本機 `http://127.0.0.1:18789/` **Port 已被使用:** ```bash openclaw gateway status ``` ### 日誌位置 - 檔案日誌: `/tmp/openclaw/openclaw-YYYY-MM-DD.log` - macOS: `$OPENCLAW_STATE_DIR/logs/gateway.log` - Linux: `journalctl --user -u openclaw-gateway.service` ### 啟用 debug 日誌 ```json5 { logging: { level: "debug" } } ``` ### 完全重設 ```bash openclaw gateway stop rm -rf ~/.openclaw openclaw onboard --install-daemon ``` --- ## CLI 指令參考 ### 基本指令 | 指令 | 說明 | |------|------| | `openclaw onboard` | 初始化設定精靈 | | `openclaw gateway` | 啟動 Gateway | | `openclaw doctor` | 檢查設定問題 | | `openclaw channels login` | 連結通訊頻道 | | `openclaw agent --message "你好"` | 發送訊息給 AI | | `openclaw update` | 更新 OpenClaw | | `openclaw status` | 查看狀態 | | `openclaw health` | 健康檢查 | ### Gateway 指令 | 指令 | 說明 | |------|------| | `openclaw gateway` | 啟動 Gateway | | `openclaw gateway status` | 查看狀態 | | `openclaw gateway stop` | 停止 | | `openclaw gateway restart` | 重啟 | | `openclaw gateway install` | 安裝為服務 | | `openclaw gateway uninstall` | 移除服務 | | `openclaw gateway health` | 健康檢查 | | `openclaw gateway probe` | 除錯探測 | | `openclaw gateway call ` | RPC 呼叫 | | `openclaw gateway discover` | 發現 Gateway(Bonjour) | ### Pairing 指令 ```bash openclaw pairing list whatsapp openclaw pairing approve whatsapp ``` ### 訊息指令 ```bash openclaw message send --target +15555550123 --message "Hello" ``` --- ## 更多資源 - [官方文檔](https://docs.openclaw.ai) - [完整文檔索引](https://docs.openclaw.ai/llms.txt) - [Getting Started](https://docs.openclaw.ai/start/getting-started) - [Configuration](https://docs.openclaw.ai/gateway/configuration) - [Security](https://docs.openclaw.ai/gateway/security) - [Troubleshooting](https://docs.openclaw.ai/gateway/troubleshooting) - [Skills 平台](https://docs.openclaw.ai/tools/skills) - [瀏覽器控制](https://docs.openclaw.ai/tools/browser) - [Discord 社群](https://discord.gg/clawd) --- *🦞 EXFOLIATE! EXFOLIATE!*