什麼是 OpenClaw 指令? (以及為什麼文件永遠不夠)
OpenClaw 官方文件非常詳盡。它的結構也是為了完整性,而不是為了當你的代理在晚上 11 點停機並且你需要在 10 秒內獲得準確的標誌語法時。
OpenClaw 命令是 OpenClaw 代理程式運行時的 CLI 接口,這是一個用於部署 AI 代理的平台,可跨訊息通道、瀏覽器、文件和外部 API 實現工作流程自動化。 CLI 涵蓋從初始設定到生產監控的所有內容。
本指南做了官方文件沒有做的事情:透過以下方式組織命令 待完成的工作,解釋了腳本的輸出格式,並展示了命令如何在真實的自動化管道中連結在一起。
60 秒內了解 OpenClaw CLI 架構
OpenClaw CLI 遵循標準的三級層次結構:
OpenClaw <command> <subcommand> [flags]
- Entry point:
OpenClaw - Commands:名詞組(
gateway、agent、channel、skill、model、browser、file) - Flags:修改行為,可以是全域的或特定於命令的
設定檔優先權(從最高到最低)
- CLI 標誌直接傳遞
- 環境變數 (
OpenClaw_*) - 本地設定檔 (
.OpenClaw/config.json) - 全域設定 (
~/.OpenClaw/config.json)
您隨時可以使用 OpenClaw config show 在執行時檢查已解析的設定。
全域標誌參考
| 旗幟 | 類型 | 預設 | 描述 |
|---|---|---|---|
| --配置 | 細繩 | 〜/.OpenClaw/config.json | Path to config file |
| - 輪廓 | 細繩 | 預設 | Named config profile to use |
| - 輸出 | 細繩 | 清楚的 | Output 格式:plain、json、table |
| --日誌等級 | 細繩 | 資訊 | Log verbosity:debug、info、warn、error |
| --無顏色 | 布林值 | 錯誤的 | Disable ANSI color output |
| - 安靜的 | 布林值 | 錯誤的 | Suppress non-essential output |
| - 暫停 | 整數 | 30 | Command timeout in seconds |
| --工作空間 | 細繩 | ./工作空間 | Override workspace directory path |
| --試運行 | 布林值 | 錯誤的 | Preview actions without executing |
| - 是的 | 布林值 | 錯誤的 | Skip confirmation prompts |
核心指令參考(依待完成工作分組)
安裝、初始化和配置命令
# Install OpenClaw CLI (npm) npm install -g OpenClaw # Initialize a new project with guided setup OpenClaw init # Initialize non-interactively with defaults OpenClaw init --yes --profile production # Show current resolved configuration OpenClaw config show # Set a config value OpenClaw config set gateway.port 8080 # Get a specific config value OpenClaw config get gateway.port # Generate a blank config file template OpenClaw config init --output .OpenClaw/config.json # Validate current config file OpenClaw config validate # List all environment variable overrides in effect OpenClaw config env
Environment variable pattern: 在任何配置鍵前面加上 OpenClaw_ 前綴,並使用下劃線進行嵌套。範例:OpenClaw_GATEWAY_PORT=8080。
網關和代理管理命令
網關是 HTTP/WebSocket 主機進程。代理是它所管理的任務執行工作者。
# Start the gateway (foreground) OpenClaw gateway start # Start gateway as background daemon OpenClaw gateway start --daemon # Stop the gateway OpenClaw gateway stop # Restart the gateway (applies config changes) OpenClaw gateway restart # Check gateway status OpenClaw gateway status # Stream gateway logs OpenClaw gateway logs --follow # Tail last N lines OpenClaw gateway logs --tail 100 # List all registered agents OpenClaw agent list # Start a specific agent OpenClaw agent start my-agent # Stop an agent gracefully OpenClaw agent stop my-agent # Force-kill an unresponsive agent OpenClaw agent stop my-agent --force # View agent runtime status and uptime OpenClaw agent status my-agent # Stream logs for a specific agent OpenClaw agent logs my-agent --follow # Reload agent config without full restart OpenClaw agent reload my-agent
頻道設定指令(Telegram、WhatsApp、Discord、Google Chat、Synology)
更新為 v2026.4.21 語法 - 請注意 --provider 標誌取代了 2026 早期版本中舊的 --type 標誌。
# List all configured channels OpenClaw channel list # Add a Telegram channel OpenClaw channel add --provider telegram --token YOUR_BOT_TOKEN --name my-telegram # Add a WhatsApp channel (via WhatsApp Cloud API) OpenClaw channel add --provider whatsapp --token YOUR_TOKEN --phone-id YOUR_PHONE_ID --name my-whatsapp # Add a Discord channel OpenClaw channel add --provider discord --token YOUR_BOT_TOKEN --guild-id YOUR_GUILD_ID --name my-discord # Add Google Chat channel OpenClaw channel add --provider Google-chat --credentials ./service-account.json --space-id YOUR_SPACE --name my-gchat # Add Synology Chat channel OpenClaw channel add --provider synology --webhook-url YOUR_WEBHOOK_URL --name my-synology # Test a channel connection OpenClaw channel test my-telegram # Remove a channel OpenClaw channel remove my-telegram # Update channel config (e.g., rotate token) OpenClaw channel update my-telegram --token NEW_TOKEN # Enable/disable a channel without removing it OpenClaw channel disable my-telegram OpenClaw channel enable my-telegram
技能和模型管理指令
# List installed skills OpenClaw skill list # Search the skill registry OpenClaw skill search "web scrape" # Install a skill OpenClaw skill install web-scraper # Install a specific version OpenClaw skill install web-scraper@2.1.0 # Update a skill OpenClaw skill update web-scraper # Update all skills OpenClaw skill update --all # Remove a skill OpenClaw skill remove web-scraper # Show skill details and required config OpenClaw skill info web-scraper # List available models OpenClaw model list # Set the default model OpenClaw model use gpt-4o # Set model for a specific agent OpenClaw model use claude-3-7-sonnet --agent my-agent # Show current model config OpenClaw model show
瀏覽器控制和 Shell 執行命令
這就是 OpenClaw 與更簡單的代理平台的不同之處。瀏覽器和 shell 命令可實現真正的端對端自動化,而無需離開 CLI。
# Launch a managed browser session OpenClaw browser open --url https://example.com --session my-session # Take a screenshot OpenClaw browser screenshot --session my-session --output ./screenshot.png # Execute JavaScript in the browser context OpenClaw browser exec --session my-session --script "document.title" # Click an element by CSS selector OpenClaw browser click --session my-session --selector "#submit-btn" # Fill a form field OpenClaw browser fill --session my-session --selector "#email" --value "user@example.com" # Extract page content OpenClaw browser extract --session my-session --selector "article.main" --format text # Close a browser session OpenClaw browser close --session my-session # Run a shell command through the OpenClaw runtime OpenClaw shell exec --cmd "python process.py --input data.json" # Run shell command with timeout OpenClaw shell exec --cmd "npm run build" --timeout 120 # List active shell processes OpenClaw shell list
Note: 瀏覽器會話依照 --session ID 進行隔離。跨指令重複使用相同的會話 ID 來維護狀態(cookie、驗證令牌、頁面上下文)。
文件和工作區管理指令
# List workspace files OpenClaw file list # Read a file from the workspace OpenClaw file read output/report.md # Write content to a workspace file OpenClaw file write output/result.txt --content "processed" # Copy a file within the workspace OpenClaw file copy input/raw.json output/processed.json # Delete a workspace file OpenClaw file delete output/temp.json # Watch a file for changes (useful in pipelines) OpenClaw file watch output/result.txt --on-change "OpenClaw agent trigger my-agent" # Export workspace to a zip archive OpenClaw workspace export --output ./backup.zip # Import workspace from archive OpenClaw workspace import --input ./backup.zip
實際工作流程範例(命令鏈)
端對端自動化內容管道
該管道抓取 URL,透過 LLM 處理內容,並將結果發佈到 Telegram 通道 - 所有這些都來自單一 shell 腳本。
#!/bin/bash set -e TARGET_URL="https://example.com/news" CHANNEL="my-telegram" WORKSPACE_OUT="output/summary.md" # Step 1: Scrape the page OpenClaw browser open --url "$TARGET_URL" --session scrape-session OpenClaw browser extract --session scrape-session --selector "article" \\ --format text > workspace/input/raw.txt OpenClaw browser close --session scrape-session # Step 2: Process with LLM via agent OpenClaw agent trigger content-summarizer \\ --input workspace/input/raw.txt \\ --output "$WORKSPACE_OUT" \\ --wait # Step 3: Post result to Telegram SUMMARY=$(OpenClaw file read "$WORKSPACE_OUT") OpenClaw channel send "$CHANNEL" --message "$SUMMARY" echo "Pipeline complete."
使用 Cron + OpenClaw 指令安排任務
大多數團隊接觸 cron 的時間都比他們應該的要晚得多。以下是複製貼上模式:
# Run a daily content pipeline at 7am 0 7 * * * /usr/local/bin/OpenClaw agent trigger daily-report --wait --quiet >> /var/log/OpenClaw-cron.log 2>&1 # Restart gateway every Sunday at 2am (maintenance window) 0 2 * * 0 /usr/local/bin/OpenClaw gateway restart --yes >> /var/log/OpenClaw-restart.log 2>&1 # Health check every 5 minutes, alert if failing */5 * * * * /usr/local/bin/OpenClaw gateway status --output json | \\ grep -q '"status":"running"' || \\ /usr/local/bin/OpenClaw channel send ops-alerts --message "Gateway DOWN"
Idempotency tip: 在調度之前使用 --dry-run 驗證 cron 指令行為。將 --yes 新增至所有 cron 命令以跳過互動式提示。始終將 stderr 與 stdout (2>&1) 一起重新導向,以擷取日誌中的標誌錯誤。
腳本編寫和 CI/CD 集成
輸出格式和退出程式碼
每個 OpenClaw 命令都支援 --output json 以獲得機器可讀的輸出:
# Get agent status as JSON
OpenClaw agent status my-agent --output json
# Example output:
# {"agent":"my-agent","status":"running","uptime":3842,"pid":19204}
退出代碼
| 程式碼 | 意義 |
|---|---|
| 0 | Success |
| 1 | General error |
| 2 | Config or flag validation failure |
| 3 | Agent/gateway not reachable |
| 4 | Timeout exceeded |
| 5 | Permission denied |
透過管道傳輸到 Shell 腳本和 GitHub 操作
# Check agent health and branch on status STATUS=$(OpenClaw agent status my-agent --output json --quiet | jq -r '.status') if [ "$STATUS" != "running" ]; then OpenClaw agent start my-agent fi
GitHub Actions example:
- name: Trigger OpenClaw content agent
run: |
OpenClaw agent trigger content-agent \\
--input ./keywords.json \\
--output ./output/article.md \\
--wait \\
--timeout 300 \\
--output-format json
env:
OpenClaw_API_KEY: \ secrets.OpenClaw_API_KEY
OpenClaw_GATEWAY_URL: \ secrets.OpenClaw_GATEWAY_URL
生產中的安全和權限
在多用戶或伺服器環境中運行 OpenClaw 需要經過深思熟慮的權限範圍 - 預設值針對本地開發進行了最佳化。
# Generate a scoped API key (read-only) OpenClaw auth key create --name ci-readonly --scopes "agent:read,channel:read" # Generate a key with specific agent access only OpenClaw auth key create --name deploy-bot --scopes "agent:trigger:my-agent" # List active API keys OpenClaw auth key list # Revoke a compromised key immediately OpenClaw auth key revoke KEY_ID # Store API key in system keychain (avoid plaintext in config) OpenClaw config set-secret api_key YOUR_KEY # Restrict workspace file access OpenClaw config set security.workspace_isolation true # Disable shell execution in production (if not needed) OpenClaw config set security.allow_shell_exec false # Enable audit logging OpenClaw config set logging.audit true OpenClaw config set logging.audit_path /var/log/OpenClaw/audit.log
生產清單
設定 security.allow_shell_exec false ,除非您的用例明確需要它。
產生 API 金鑰時使用 --scopes — 切勿在 CI/CD 中使用根金鑰。
在首次生產部署前啟用 logging.audit。
對於任何可疑的暴露,請使用 OpenClaw auth key revoke + OpenClaw auth key create 輪換密鑰。
故障排除:症狀 → 指令修復決策樹
代理未回覆
OpenClaw agent status my-agent → status: "stopped" → OpenClaw agent start my-agent → status: "error" → OpenClaw agent logs my-agent --tail 50 → status: "running" but unresponsive → OpenClaw agent stop my-agent --force && OpenClaw agent start my-agent
頻道未收到訊息
OpenClaw channel test my-telegram → connection failed → OpenClaw channel update my-telegram --token NEW_TOKEN → connection ok but no messages → OpenClaw gateway logs --follow (check routing errors) → 403 error → check token scopes, re-add channel
技能未載
OpenClaw skill info my-skill → not installed → OpenClaw skill install my-skill → version conflict → OpenClaw skill update my-skill → config missing → OpenClaw skill info my-skill (check required fields), then OpenClaw config set
網關無法啟動
OpenClaw config validate → invalid config → fix reported field, retry → port conflict → OpenClaw config set gateway.port 8081 → permission error → check OpenClaw_ env vars, run OpenClaw config env
v2026.4.21 中的變更 - 與 2026 早期版本的指令差異
如果您使用日期為 2026 年 1 月或 2 月的備忘單,這些變更將破壞您的腳本:
| 區域 | 舊文法(2026 年 4 月以前) | 新語法 (v2026.4.21) |
|---|---|---|
| Channel add | --鍵入電報 | --提供者電報 |
| Model switch | OpenClaw代理模型使用 | OpenClaw模型使用--agent |
| Shell execute | OpenClaw 執行 shell | OpenClaw shell 執行 |
| Key creation | OpenClaw 授權建立金鑰 | OpenClaw 授權金鑰創建 |
| Output flag | --格式化json | --輸出json |
| Config secrets | OpenClaw 配置設定鍵 | OpenClaw 配置集秘密 |
v2026.4.21 中的新功能
OpenClaw file watch指令(檔案變更觸發器)--dry-run全域標誌加入到所有變異指令中security.workspace_isolation設定密鑰- 透過
logging.audit審核日誌記錄 OpenClaw channel disable/OpenClaw channel enable(以前需要完全刪除+重新新增)
已棄用(在 v2026.4.21 中刪除)
OpenClaw agent reload --hard— 使用OpenClaw agent stop --force && OpenClaw agent startOpenClaw config get-all— 替換為OpenClaw config show
最終參考:可列印的 OpenClaw 指令速查表
| 命令 | 句法 | 密鑰 Flags | 例子 |
|---|---|---|---|
| Init project | 張開爪初始化 | --是的,--個人資料 | OpenClaw 初始化——是 |
| Show config | OpenClaw配置顯示 | --輸出json | OpenClaw配置顯示 |
| Start gateway | 開爪網關啟動 | --守護程式 | OpenClaw 網關啟動 --daemon |
| Agent status | 開爪特工狀態 | --輸出json | OpenClaw 代理狀態 my-agent --輸出 json |
| Agent logs | OpenClaw 代理程式日誌 | --跟隨,--尾巴 | OpenClaw 代理程式記錄 my-agent --tail 50 |
| Add channel | OpenClaw頻道添加 | --提供者,--令牌 | OpenClaw 頻道新增 --provider telegram --token XXX |
| 測試通道 | 開爪通道測試 | — | OpenClaw 通道測試 my-telegram |
| Send message | 開爪通道發送 | --訊息 | OpenClaw 頻道發送 my-telegram --message "done" |
| Install skill | 開爪技能安裝 | @版本 | OpenClaw技能安裝web-scraper@2.1.0 |
| Set model | 開爪模型使用 | - 代理人 | OpenClaw 模型使用 gpt-4o --agent my-agent |
| Browser open | OpenClaw瀏覽器打開 | --url、--會話 | OpenClaw 瀏覽器開啟 --url https://example.com --session s1 |
| Extract content | OpenClaw瀏覽器擷取 | --選擇器,--格式 | OpenClaw瀏覽器擷取--session s1--選擇器“文章” |
| Run shell cmd | OpenClaw shell 執行 | --cmd, --逾時 | OpenClaw shell exec --cmd“python run.py” |
| Read file | OpenClaw 檔案讀取 | — | OpenClaw 檔案讀取輸出/結果.md |
| Trigger agent | 張開爪代理觸發器 | --輸入,--輸出,--等待 | OpenClaw 代理觸發管道 --wait |
| Create API key | OpenClaw 授權金鑰創建 | --名稱、--範圍 | OpenClaw auth key create --name ci --scopes "agent:read" |
| Validate config | OpenClaw 配置驗證 | — | OpenClaw 配置驗證 |
為什麼 EasyClaw 是運行代理程式工作流程的更聰明方式
OpenClaw 為您提供強大的 CLI 原語。 EasyClaw 為您提供了一個桌面原生 AI 代理層,可以運行這些管道(瀏覽器自動化、LLM 處理、通道交付),而無需在午夜將 bash 腳本拼接在一起。
- 基於 OpenClaw 原語的視覺化管道建構器
- 在本地運行 - 沒有雲端供應商鎖定,沒有按席位定價
- 內建技能市場:在幾秒鐘內安裝、設定、運行
- 本機調度、重試邏輯和開箱即用的審核日誌記錄
- 適用於任何型號:GPT-4o、Claude、Gemini 或您自己託管的 LLM
常見問題
Q:OpenClaw網關啟動和OpenClaw代理啟動有什麼不同?
答:網關是管理 HTTP/WebSocket 執行時期的主機進程。你啟動一次。代理是註冊到該網關的單獨任務工作人員 - 您可以獨立啟動、停止和監視它們。將網關視為伺服器,將代理視為在其上運行的應用程式進程。
Q:升級到 v2026.4.21 後我的腳本損壞了。發生了什麼變化?
答:v2026.4.21 中更改了多個指令簽章。最常見的重大變更是:用於通道新增的 --type → --provider、全域 --format json → --output json 以及 OpenClaw exec shell → OpenClaw shell exec。請參閱上面的變更日誌部分中的完整差異表。
Q:如何在 CI/CD 管道中以非互動方式執行 OpenClaw 指令?
答:新增 --yes 標誌以跳過確認提示,使用 --output json 進行機器可解析的輸出,並透過 OpenClaw_API_KEY 和 OpenClaw_GATEWAY_URL 環境變數傳遞憑證。切勿將原始金鑰儲存在提交版本控制的設定檔中。
Q:我可以在現有的經過驗證的會話中使用 OpenClaw 瀏覽器命令嗎?
答:是的。瀏覽器會話由 --session ID 隔離。只要您在命令之間重複使用相同的會話 ID,cookie、身份驗證令牌和頁面狀態就會保留。會話將持續存在,直到您明確呼叫 OpenClaw browser close --session SESSION_ID 或網關重新啟動。
Q:在生產中處理 API 金鑰輪換的最安全方法是什麼?
答:先使用 OpenClaw auth key create --name new-key --scopes "..." 建立新金鑰,更新您的秘密存儲,驗證新金鑰是否有效,然後使用 OpenClaw auth key revoke OLD_KEY_ID 撤銷舊金鑰。在確認新金鑰可用之前,切勿撤銷舊金鑰。
Q:如何調試 cron 中無提示失敗的管道?
答:在 cron 條目中始終重定向 stdout 和 stderr (>> /var/log/OpenClaw-cron.log 2>&1)。首先使用 --log-level debug 手動執行確切的 cron 命令以顯示隱藏的錯誤。使用 OpenClaw config env 驗證環境變數在 cron 執行上下文中是否正確解析。
Q:是否可以限制 CI/CD 金鑰可以觸發哪些代理程式?
答:是的。建立鍵時使用粒度範圍:OpenClaw auth key create --name deploy-bot --scopes "agent:trigger:my-specific-agent"。這可以防止受損的 CI 金鑰觸發不相關的代理或存取通道配置。
最後想法
OpenClaw CLI 是一個完整的運行時控制介面-從首次設定到生產安全強化。挑戰從來都不是能力,而是能力。當在不方便的時間發生故障時,它總是知道應該使用哪個命令。
將此頁加入書籤。使用備忘表作為您的快速參考。當管道發生故障時,從故障排除決策樹開始 - 它們將在一分鐘內讓您找到正確的命令。
如果您發現自己花費更多時間維護管道腳本而不是建立實際工作流程,那麼這就是嘗試 EasyClaw 的訊號 - 它處理編排層,以便您可以專注於代理實際執行的操作。
快速回顧:新增書籤的按鍵指令
OpenClaw config validate— 始終在重新啟動網關之前執行此命令OpenClaw agent logs my-agent --tail 50— 當代理行為不當時先停止OpenClaw channel test my-channel— 比讀取日誌更快確認頻道問題OpenClaw config show --output json— 在任何環境中驗證已解析的配置OpenClaw auth key revoke KEY_ID— 對任何可疑的密鑰洩漏立即回應