什么是 OpenClaw 命令? (以及为什么文档永远不够)
OpenClaw 官方文档非常详尽。它的结构也是为了完整性,而不是为了当你的代理在晚上 11 点停机并且你需要在 10 秒内获得准确的标志语法时。
OpenClaw 命令是 OpenClaw 代理运行时的 CLI 接口,这是一个用于部署 AI 代理的平台,可跨消息通道、浏览器、文件和外部 API 实现工作流程自动化。 CLI 涵盖从初始设置到生产监控的所有内容。
本指南做了官方文档没有做的事情:通过以下方式组织命令 待完成的工作,解释了脚本的输出格式,并展示了命令如何在真实的自动化管道中链接在一起。
60 秒内了解 OpenClaw CLI 架构
OpenClaw CLI 遵循标准的三级层次结构:
OpenClaw <command> <subcommand> [flags]
- 切入点:
OpenClaw - 命令:名词组(
gateway、agent、channel、skill、model、browser、file) - 旗帜:修改行为,可以是全局的或特定于命令的
配置文件优先级(从最高到最低)
- CLI 标志直接传递
- 环境变量 (
OpenClaw_*) - 本地配置文件 (
.OpenClaw/config.json) - 全局配置 (
~/.OpenClaw/config.json)
您始终可以使用 OpenClaw config show 在运行时检查已解析的配置。
全局标志参考
| 旗帜 | 类型 | 默认 | 描述 |
|---|---|---|---|
| --配置 | 细绳 | 〜/.OpenClaw/config.json | 配置文件的路径 |
| - 轮廓 | 细绳 | 默认 | 要使用的命名配置文件 |
| - 输出 | 细绳 | 清楚的 | 输出格式:plain、json、table |
| --日志级别 | 细绳 | 信息 | 日志详细程度:debug、info、warn、error |
| --无颜色 | 布尔值 | 错误的 | 禁用 ANSI 颜色输出 |
| - 安静的 | 布尔值 | 错误的 | 抑制非必要的输出 |
| - 暂停 | 整数 | 30 | 命令超时(以秒为单位) |
| --工作空间 | 细绳 | ./工作空间 | 覆盖工作区目录路径 |
| --试运行 | 布尔值 | 错误的 | 预览操作而不执行 |
| - 是的 | 布尔值 | 错误的 | 跳过确认提示 |
核心命令参考(按待完成工作分组)
安装、初始化和配置命令
# 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
环境变量模式: 在任何配置键前面加上 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
笔记: 浏览器会话按照 --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"
幂等性提示: 在调度之前使用 --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 | 成功 |
| 1 | 一般错误 |
| 2 | 配置或标志验证失败 |
| 3 | 代理/网关无法访问 |
| 4 | 超过超时时间 |
| 5 | 没有权限 |
通过管道传输到 Shell 脚本和 GitHub Actions
# 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 操作示例:
- 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) |
|---|---|---|
| 频道添加 | --键入电报 | --提供商电报 |
| 型号切换 | OpenClaw代理模型使用 | OpenClaw模型使用--agent |
| 外壳执行 | OpenClaw 执行 shell | OpenClaw shell 执行 |
| 密钥创建 | OpenClaw 授权创建密钥 | OpenClaw 授权密钥创建 |
| 输出标志 | --格式化json | --输出json |
| 配置秘密 | 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 命令速查表
| 命令 | 句法 | 关键标志 | 例子 |
|---|---|---|---|
| 初始化项目 | 张开爪初始化 | --是的,--个人资料 | OpenClaw 初始化——是 |
| 显示配置 | OpenClaw配置显示 | --输出json | OpenClaw配置显示 |
| 启动网关 | 开爪网关启动 | --守护进程 | OpenClaw 网关启动 --daemon |
| 代理状态 | 开爪特工状态 | --输出json | OpenClaw 代理状态 my-agent --输出 json |
| 代理日志 | OpenClaw 代理日志 | --跟随,--尾巴 | OpenClaw 代理记录 my-agent --tail 50 |
| 添加频道 | OpenClaw频道添加 | --提供商,--令牌 | OpenClaw 频道添加 --provider telegram --token XXX |
| 测试通道 | 开爪通道测试 | — | OpenClaw 通道测试 my-telegram |
| 发送消息 | 开爪通道发送 | - 信息 | OpenClaw 频道发送 my-telegram --message "done" |
| 安装技巧 | 开爪技能安装 | @版本 | OpenClaw技能安装web-scraper@2.1.0 |
| 设定型号 | 开爪模型使用 | - 代理人 | OpenClaw 模型使用 gpt-4o --agent my-agent |
| 浏览器打开 | OpenClaw浏览器打开 | --url、--会话 | OpenClaw 浏览器打开 --url https://example.com --session s1 |
| 提取内容 | OpenClaw浏览器提取 | --选择器,--格式 | OpenClaw浏览器提取--session s1--选择器“文章” |
| 运行 shell cmd | OpenClaw shell 执行 | --cmd, --超时 | OpenClaw shell exec --cmd“python run.py” |
| 读取文件 | OpenClaw 文件读取 | — | OpenClaw 文件读取输出/结果.md |
| 触发剂 | 张开爪代理触发器 | --输入,--输出,--等待 | OpenClaw 代理触发管道 --wait |
| 创建 API 密钥 | OpenClaw 授权密钥创建 | --名称、--范围 | OpenClaw auth key create --name ci --scopes "agent:read" |
| 验证配置 | OpenClaw 配置验证 | — | OpenClaw 配置验证 |
为什么 EasyClaw 是运行代理工作流程的更智能方式
OpenClaw 为您提供强大的 CLI 原语。 EasyClaw 为您提供了一个桌面原生 AI 代理层,可以运行这些管道(浏览器自动化、LLM 处理、渠道交付),而无需在午夜将 bash 脚本拼接在一起。
- 基于 OpenClaw 原语的可视化管道构建器
- 在本地运行 - 没有云供应商锁定,没有按席位定价
- 内置技能市场:在几秒钟内安装、配置、运行
- 本机调度、重试逻辑和开箱即用的审核日志记录
- 适用于任何模型:GPT-4o、Claude、Gemini 或您自己托管的 LLM
常见问题解答
问:OpenClaw gateway start 和 OpenClaw agent start 有什么区别?
答:网关是管理 HTTP/WebSocket 运行时的主机进程。你启动一次。代理是注册到该网关的单独任务工作人员 - 您可以独立启动、停止和监视它们。将网关视为服务器,将代理视为在其上运行的应用程序进程。
问:升级到 v2026.4.21 后我的脚本损坏了。发生了什么变化?
答:v2026.4.21 中更改了多个命令签名。最常见的重大更改是:用于通道添加的 --type → --provider、全局 --format json → --output json 以及 OpenClaw exec shell → OpenClaw shell exec。请参阅上面的变更日志部分中的完整差异表。
问:如何在 CI/CD 管道中以非交互方式运行 OpenClaw 命令?
答:添加 --yes 标志以跳过确认提示,使用 --output json 进行机器可解析的输出,并通过 OpenClaw_API_KEY 和 OpenClaw_GATEWAY_URL 环境变量传递凭据。切勿将原始密钥存储在提交版本控制的配置文件中。
问:我可以在现有的经过身份验证的会话中使用 OpenClaw 浏览器命令吗?
答:是的。浏览器会话由 --session ID 隔离。只要您在命令之间重复使用相同的会话 ID,cookie、身份验证令牌和页面状态就会保留。会话将持续存在,直到您显式调用 OpenClaw browser close --session SESSION_ID 或网关重新启动。
问:在生产中处理 API 密钥轮换的最安全方法是什么?
答:首先使用 OpenClaw auth key create --name new-key --scopes "..." 创建新密钥,更新您的秘密存储,验证新密钥是否有效,然后使用 OpenClaw auth key revoke OLD_KEY_ID 撤销旧密钥。在确认新密钥可用之前,切勿撤销旧密钥。
问:如何调试 cron 中无提示失败的管道?
答:始终在 cron 条目中重定向 stdout 和 stderr (>> /var/log/OpenClaw-cron.log 2>&1)。首先使用 --log-level debug 手动运行确切的 cron 命令以显示隐藏的错误。使用 OpenClaw config env 验证环境变量在 cron 执行上下文中是否正确解析。
问:是否可以限制 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— 对任何可疑的密钥泄露立即响应