命令行是很多 OpenClaw 用户绕不开的一道坎,也是拉开使用效率差距的关键。这篇是【OpenClaw 超级 AI 实战专栏】基础篇的第三讲,前两篇我们聊完了环境搭建和核心概念,后台问得最多的就是“命令到底怎么记”“一堆参数到底怎么选”。与其零散地翻帮助文档,不如把最常用的指令、参数背后的设计逻辑一次讲透。
这篇内容不挑基础。哪怕你之前从来没碰过终端,只要会敲字、会回车,就能跟着一步步把命令跑起来;如果你已经用了一段时间 OpenClaw,但总觉得每次输入命令都要现查帮助,那这篇文章更适合你——我会帮你把命令按逻辑归好类,让你从“背命令”变成“懂命令”。读完你至少能解决三个问题:知道每个命令是干什么的、知道参数该怎么搭配、遇到报错知道去哪儿查。
OpenClaw 的核心思路,是把 AI 能力打包成语义清晰的操作指令,通过终端这层薄薄的壳,让人和 AI 之间形成可复现、可审计、可批量执行的协作流程。图形界面确实能完成大部分日常工作,但剩下那 20% 的效率提升,基本都藏在命令行里。这篇没有假设你已经学过命令行,一点基础都没有也完全没问题。
1. 命令行为什么值得系统学一遍:OpenClaw 的操作范式
1.1 图形界面与命令行的本质区别
先泼一盆冷水:如果你只是偶尔在图形界面里用一次 OpenClaw,那完全没必要强迫自己学命令行。但一旦你的工作流里出现了这些场景——每天要跑多次重复任务、需要在脚本里调用 AI 能力、想精确控制每个任务的输出格式、要批量处理一批同类请求——图形界面就会变成瓶颈。点鼠标的效率与敲命令的效率,差距不是两倍三倍,而是数量级。
举一个最直观的例子。假设你要对 10 个 Markdown 文件依次做“总结 + 生成标题 + 输出 JSON 结构”,图形界面的做法是逐个上传、逐个等待、逐个复制结果,操作 10 次。命令行只需要一条循环指令加一次导出,剩下的全部交给 OpenClaw 自己跑。而且命令行的操作是可以被记录的,今天这条命令效果好,把它存成一个脚本,明天、下周、下个月都能重复使用,整个流程无比确定。图形界面那种“上次怎么点的来着”的模糊感,在命令行里不存在。
还有一个容易被忽略的点:命令行天然自带审计能力。图形界面里的每一次点击,如果不刻意截图,事后很难还原当时做了什么;而命令行的每一次执行都会留下运行记录,配合日志命令可以精确回溯某次任务用了什么参数、输出了什么结果。对于需要复现结果、团队协作、复盘失败的场景来说,这种确定性是无可替代的。这也是我坚持在项目里推动“命令优先”的原因,不是为了显得专业,而是为了让自己在出问题时能少一点猜测、多一点证据。
1.2 OpenClaw 命令行的三条设计主线
在用了相当长一段时间之后,我把 OpenClaw 的命令行总结成三条主线,只要把这三条主线记住,绝大多数命令都能归位,不需要死记硬背。
第一条是生命周期主线,对应“启动—运行—停止—检查”这一套动作,核心命令是 init、run、stop、status。第二条是对象管理主线,对应“我要操作谁”,包括 task(任务)、agent(代理)、session(会话)、model(模型)。第三条是环境治理主线,对应“怎么配置、怎么排错、怎么导出”,核心是 config、log、export 这一类命令。
把这三条主线画在脑子里,命令行就不再是一串需要硬记的单词,而是一套有逻辑的工具箱。遇到一个新需求,先问自己:这是要启动什么、操作什么,还是治理什么?答案基本能把命令范围缩小到两三个。后文我会按这条主线,把最常用的命令逐个拆开讲,每条都会标注它属于哪条主线,方便你建立自己的记忆索引。
1.3 命令的通用结构:先看懂再上手
在拆解具体命令之前,先花一分钟看懂 OpenClaw 命令的通用结构,这是所有指令的地基:
openclaw [全局参数] <command> [局部参数] [参数值]方括号代表可选,尖括号代表必填。比如openclaw --log-level debug run --input demo.txt里,--log-level debug是全局参数,run是具体命令,--input demo.txt是局部参数。这个结构贯穿所有命令,理解它之后,即使遇到一个从没见过的子命令,你也能通过openclaw <command> --help快速反推用法。
我在带新人时发现,大部分命令行恐惧症其实源自结构不清。戒掉恐惧的最快方法,就是把“命令”和“参数”分开看:命令决定做什么,参数决定怎么做。后文涉及的所有命令,你都用这个框架去理解,会轻松很多。遇到不认识的参数,先别慌,openclaw run --help会列出所有可用的局部参数和它们的作用,比任何记忆都可靠。
2. 最常用指令全景:一个命令一张卡
这个部分我按命令卡片的形式来组织,每张卡片包含“作用—常用参数—典型用法—注意事项”四块,建议收藏后当速查表用。我不会把每个命令的所有参数都列出来,只挑使用频率最高、效果最明显的讲,避免信息过载。
2.1 生命周期管理:init、run、stop、status
init
作用:初始化一个工作目录,生成 OpenClaw 项目所需的基础结构,比如配置文件模板、任务存放目录、日志目录。
典型用法:
openclaw init --name my-project --template standard参数说明:
--name项目名,后续所有任务标识都会带上这个前缀,方便区分不同项目。--template初始化模板,standard 是通用型,minimal 是精简模式,后者适合只需要一个配置文件、不需要额外目录结构的轻量场景。--force当目录已有配置时强制覆盖,慎用,会丢失旧配置。
为什么推荐先 init 再动手?因为 OpenClaw 会把很多运行时状态(会话记录、任务历史、缓存)写入工作目录。如果不初始化就开始跑任务,这些文件会散落在当前目录里,后续管理会非常痛苦。init 之后,所有东西都有了一个明确的家,日志、缓存、任务记录都会被归拢到固定位置,排查问题也容易得多。我见过不少朋友用了几周 OpenClaw 才发现任务历史散在十几个目录里,后来统一 init 之后,整个工作目录清爽了很多。
run
这是使用频率最高的命令,作用是一次性执行任务,前台运行,结束后退出。
典型用法:
openclaw run --input ./notes.md --output ./result.md --model fast --max-tokens 2000--input指定输入文件,--output指定结果输出位置。如果在项目目录里执行,OpenClaw 会自动读取当前目录的配置文件,把任务绑定到当前会话。--model可以在单次执行时临时切换模型,不改变全局配置,非常适合“这次想跑快点就用 fast,跑精点就用 pro”的临时需求。
注意事项:run 是前台命令,任务没跑完之前终端会被占用。如果你需要同时做别的事,可以考虑把任务拆出来交给 task 管理,或者干脆让任务在后台运行,这会在后面的章节展开。此外,run 命令适合单次、明确的请求;如果你的场景是连续多轮对话,用 session 会更合适。
stop
作用:停止当前正在运行的任务。前台任务直接用 Ctrl+C 中断即可,但如果开了后台任务或者任务卡住,stop 就派上用场。
典型用法:
openclaw stop --task 20250112_1423 --force--task指定任务ID,--force表示即使任务当前正处于“正在保存中间结果”的状态也强制终止。非必要不使用 force,因为强制终止可能丢失部分进度,比如已经生成但还没写入文件的中间内容。我一般在任务确实卡了五分钟以上,或者确认结果已经不需要了,才会加 force。如果你只是想暂停而不是终止,可以查一下任务管理相关命令,不同版本的 OpenClaw 对暂停的支持不太一样。
status
作用:查看当前运行状态,包括 OpenClaw 版本、当前是否有任务在跑、最近一次执行结果、当前默认模型。
典型用法:
openclaw status示例输出:
版本: v0.9.2 状态: 运行中 当前任务: 20250112_1423 [处理中 43%] 模型: fast 最近执行: 2025-01-12 14:23:05 [成功]status 是我建议每个用户都养成习惯的命令。每次跑任务之前看一眼 status,能避免很多“我明明启动了但怎么没反应”的困惑——大概率是上一次任务还挂着,资源被占了一部分。特别是在你同时管理多个项目的时候,status 能帮你快速确认当前终端绑定的到底是哪个项目目录,避免把任务跑到了莫名其妙的地方。
2.2 任务与代理管理:task、agent、session
task
作用:管理任务列表,是后台任务和批量任务的核心入口。子命令主要有 list、show、cancel。
典型用法:
openclaw task list --limit 20 --status running openclaw task show --id 20250112_1423 openclaw task cancel --id 20250112_1423--limit控制展示多少条,--status按状态过滤(running、done、failed、cancelled)。show 会展示某个任务的全部元信息,包括参数、输入输出路径、耗时、token 消耗等。建议每个自动化脚本结尾都加一行openclaw task list,方便事后确认结果。task 和 run 的关系,你可以理解成“run 是快速下单,task 是订单管理后台”。日常简单任务用 run 就好,一旦涉及批量、后台、定时,就必须通过 task 来管理。
agent
作用:管理 AI 代理。代理可以理解为“预设了角色和行为的 AI 执行单元”,比如“文档整理员”“代码审查助手”“翻译官”。子命令有 list、create、use。
典型用法:
openclaw agent list openclaw agent create --name 文档整理员 --role summarizer --model fast openclaw agent use --name 文档整理员 --input ./report.mdagent 的价值在于复用。你不需要每次都在命令行里重复描述角色要求,只需要在 create 时定义一次,之后所有任务都能直接用。我在实际项目中,把常用的三类角色(文档整理、代码审查、数据分析)提前配好,每天的工作流就从“输入一大段提示词”变成了“一句命令加一个文件路径”。这里要提醒一下:创建代理时写的角色描述会直接影响后续所有任务的质量,所以不要偷懒,把背景、风格、约束条件都写清楚,一次投入长期受益。
session
作用:管理会话,适合需要连续追问、多轮对话的场景。子命令有 start、list、resume。
典型用法:
openclaw session start --name 需求讨论 openclaw session list openclaw session resume --name 需求讨论 --append ./新需求.mdrun 更像是“一次性调用”,session 则保持了上下文。如果你的任务是多轮交互,比如先让 AI 梳理大纲,再让它基于大纲写正文,session 能避免每次都重新交代背景。注意 session 会占用更多资源,用完记得结束会话,或者通过带时间参数的命令清理历史会话。这里有个实际经验:长时间不用的 session 会积累大量上下文,导致后续执行变慢,所以我的习惯是每个会话结束后都会主动关闭,需要保留的记录通过 export 导出到本地再关。
2.3 模型与配置管理:model、config
model
作用:查看当前配置的模型、切换默认模型、列出可用模型。
典型用法:
openclaw model list openclaw model set --name fast openclaw model show--name指定模型别名。模型别名对应什么,取决于你的配置文件,可能是某个开源模型,也可能是某个本地部署的推理服务。本章不做模型选型展开,只看命令层:model set 会永久修改当前项目的默认模型,如果要临时切换,用 run 命令的--model参数。模型切换后,建议立刻跑一条小任务验证一下,而不是直接上大规模任务。因为不同模型的输入输出格式在某些场景下有微妙差异,先小成本确认,再规模化使用,是我踩过不少坑后的教训。
config
作用:查看和修改配置。子命令有 get、set、list。
典型用法:
openclaw config list openclaw config get --key model.default openclaw config set --key model.default --value pro --global--global表示写进用户级全局配置,不加则只写当前项目配置。OpenClaw 的配置体系遵循“项目配置覆盖全局配置”的原则,所以同一个 key,你可以在不同项目里设置不同值。config 是我处理疑难问题时第一个查的地方——很多“命令行为异常”的根源,其实是某个配置项在不知情的情况下被改掉了。用config list把所有当前生效的配置打出来,往往一眼就能看出问题所在。
2.4 日志与导出:log、export
log
作用:查看运行日志。日志是排错的第一现场,比任何猜测都可靠。
典型用法:
openclaw log --task 20250112_1423 --level warn openclaw log --live--level按级别过滤(debug、info、warn、error),--live实时滚动显示。debug 级别的日志信息量很大,正常使用不用看;但当你遇到诡异的问题,比如同样的命令上次成功这次失败,建议直接上 debug 级别跑一遍,通常能看到差异点在哪里。log 和 status 的区别在于:status 告诉你“现在怎么样”,log 告诉你“刚才到底发生了什么”。排错时先看 status 建立全局印象,再针对性翻 log,效率最高。
export
作用:把任务结果导出成指定格式。
典型用法:
openclaw export --task 20250112_1423 --format json --output ./result.json openclaw export --task 20250112_1423 --format markdown --output ./result.md支持的格式包括 json、yaml、markdown、txt,具体还要看你当前项目配置里启用了哪些输出插件。export 的价值在于,任务执行完是一回事,结果能不能被下游工具消费是另一回事。我在做自动化流程时,几乎总是让 OpenClaw 把结果输出成 JSON,再由后续脚本做进一步处理,这个习惯让整个链条的稳定性提升了不少。如果你经常需要把结果分享给不熟悉终端的人,markdown 格式通常是最友好的选择。
3. 参数体系深度拆解:全局参数与局部参数
命令好比动词,参数好比副词——副词决定动作怎么做。OpenClaw 的参数体系分成两层:全局参数和局部参数,理解这两层的边界,就掌握了九成以上的参数用法。
3.1 全局参数:影响所有指令的基础开关
全局参数可以直接放在任何命令的前面或后面,它影响的是这一次命令的整体行为,而不是某个具体功能。最常用的几个如下:
openclaw --config ./custom.yaml run --input demo.txt openclaw --log-level debug run --input demo.txt openclaw --no-color status openclaw --verbose run --input demo.txt openclaw --output-format json status--config指定本次使用的配置文件。如果不指定,OpenClaw 会按“当前项目配置 → 用户全局配置 → 内置默认配置”的顺序自动寻找。--log-level设置日志级别,可取值 debug、info、warn、error。同一件事,不同级别的日志信息量差别很大。--no-color关闭彩色输出,在纯文本日志环境或自动化流水线里非常有用。否则你会看到一堆 ANSI 转义符,干扰解析。--verbose(-v)输出更多细节,包括每一步的耗时、调用链等。--output-format设置整体输出格式,可取值 table、json、yaml、plain。默认是 table,但做脚本调用时要记得切到 json 或 yaml,table 格式对自动解析很不友好。
全局参数的记忆方法是:凡是“不管执行什么命令都生效”的参数,基本都归为全局参数。它们不会改变任务内容本身,只改变任务的表达方式和行为环境。我建议在交互式终端里用默认的彩色输出,在脚本和自动化环境里统一加--no-color,这样日志解析不会出乱子。
3.2 局部参数:控制单次执行的关键旋钮
局部参数跟随具体命令,只有在该命令的上下文里才有意义。常用的局部参数我按功能分组说明,这样比逐个记更容易举一反三。
第一组是输入输出类:--input/-i定义输入源,--output/-o定义结果去向。OpenClaw 允许输入源是文件、目录或标准输入(用-表示)。标准输入的支持让你可以把命令接入管道,比如把上一个命令的输出直接交给 OpenClaw 处理,这是脚本化的基础能力。
第二组是质量与风格类:--model临时指定模型,--temperature控制输出的随机性(数值范围 0 到 1,越低越保守稳定,越高越发散有创意),--max-tokens限制单次生成的最大 token 数。这几个参数直接决定同样的输入会产出什么样的结果。比如做数据清洗时我会把 temperature 调到 0.2 左右,让输出尽量稳定;写文案时可以调到 0.8,让表述更丰富。这个参数的调整逻辑,和你在图形界面里调节“温度滑块”是同一个东西,只是一个在屏幕上拖动,一个在终端里输入。
第三组是执行控制类:--timeout设定单任务超时时间,--dry-run只检查命令和参数是否正确、不真正执行,--force跳过确认提示。dry-run 是我强烈推荐新手使用的参数——它不会产生任何副作用,却能帮你提前发现一半以上的低级错误,比如参数拼写错、输入文件路径不存在等。记住一句话:拿不准的时候,先 dry-run 一遍,成本极低,收益极高。
3.3 参数的优先级与覆盖规则
参数多了,自然会遇到“我明明设了 A,怎么最后生效的是 B”的问题。OpenClaw 对参数来源有一个统一的优先级,从高到低是:
- 命令行显式参数(本次执行时你在终端里写的值)
- 环境变量(比如当前会话里导出的配置项)
- 项目配置文件
- 用户全局配置
- 内置默认值
这个优先级意味着:配置文件里设了某种模型,但如果运行命令时你加了--model pro,那么本次执行一定会用 pro,其他地方的配置不会覆盖它。反过来,如果你发现某个配置改了没生效,先想想是不是命令行里有更高优先级的参数把它的值覆盖掉了。
还有一个细节容易被忽略:环境变量虽然排第二,但在实际使用中很容易被遗忘。比如你在某个运行脚本里导出了特定模型变量,你会发现任何项目里执行 run 都默认用它,改配置文件也没用。遇到这种“配置改了不生效”的情况,先检查一下当前环境里有哪些相关变量在悄悄起作用,排查效率会高很多。这一条,几乎每隔几周就会有人在交流群里问一遍,值得画个重点。
4. 实操演练:从零开始跑通一个真实任务
理论讲了一堆,最后还是得落到手上。本节我们完整走一遍:用 OpenClaw 整理一份技术文档,生成结构化摘要,并导出成 JSON 供后续脚本使用。整个过程完全命令行操作,你会发现这套流程跑通一次之后,完全可以沉淀成模板反复使用。
4.1 场景设定与前置准备
模拟一个非常常见的需求:你手上有一份结构比较散乱的会议记录meeting_notes.md,内容有十几段,中间夹杂着任务项、待确认问题、闲聊记录。你的目标是通过 OpenClaw 自动完成三件事:提炼会议核心议题、提取所有“待办事项”、按角色归类责任人,最后输出一个便于程序处理的 JSON 文件。
前置准备只需要两步。第一步,在一个空目录里初始化项目:
mkdir ~/demo-project && cd ~/demo-project openclaw init --name demo --template standard第二步,确认当前状态正常:
openclaw status看到状态为空闲后,再继续下一步。这一步很多人会跳过,但我建议保留:它帮你建立“动手前先确认环境”的习惯,这个习惯在真实项目里能省很多排查时间。尤其是当你同时维护多个项目时,status输出里的项目路径信息能立刻告诉你,当前终端是否在你以为的那个目录里。
4.2 分步执行:从输入到输出
首先,把会议记录内容写入输入文件,或者直接从你已有的文档复制过来。然后执行:
openclaw run \ --input ./meeting_notes.md \ --output ./summary.json \ --model pro \ --temperature 0.2 \ --max-tokens 1500 \ --output-format json这里几个参数的选择意图需要解释一下:--model pro是因为这次任务需要做语义提炼,用 fast 模式会明显感觉总结质量打折,这种“需要理解文本结构”的任务值得用更强的模型;--temperature 0.2是刻意把随机性压低的——提炼会议纪要不需要创意,需要的是稳定和准确,过高的 temperature 会让每次跑出来的要点不完全一致,不利于后续做结果比对;--max-tokens 1500是给输出一个合理上限,防止模型失控生成超长内容;--output-format json是为了让结果能直接被脚本读取。
命令执行期间,终端会显示进度信息,比如:
[14:23:05] 读取文件 meeting_notes.md (1280 tokens) [14:23:06] 调用模型 pro [14:23:14] 生成完成 (1420 tokens) [14:23:15] 写入输出 summary.json看到写入完成提示后,检查一下输出文件:
cat summary.json可以用cat或任意编辑器打开,确认内容结构是预期的 JSON。如果发现摘要里缺少某类信息,不要急着改命令,第二步是调整提示词相关内容——在 OpenClaw 中,角色模板或任务模板里通常包含“提示要点”,把它补进去再重新跑一次,往往比调一堆参数更有效。这里也体现出一个思维习惯:先确认参数没问题,再往提示内容的方向深挖,两件事要分开排查,不要混在一起瞎试。
4.3 沉淀脚本与复用
任务跑通之后,最值得做的事是把它固化成脚本,而不是下次再敲一遍。新建一个run_summary.sh文件,把关键命令放进去,同时做一点小改进:
#!/bin/bash cd ~/demo-project openclaw run \ --input "$1" \ --output "${1%.md}_summary.json" \ --model pro \ --temperature 0.2 \ --max-tokens 1500 \ --output-format json \ --log-level warn注意这里加了--log-level warn,脚本里跑命令时不需要那么多进度信息,出问题时再看日志即可。${1%.md}是 bash 的字符串处理,意思是把传入的文件名的.md后缀去掉,再拼上_summary.json。这个小技巧让你不用手写输出文件名,输入什么文件,自然就会在旁边生成对应的结果文件。以后处理新的会议记录,只需要:
bash run_summary.sh another_meeting.md一次调用,一个结构化 JSON 就出现在同目录下。这种“参数固定 + 脚本包装”的做法,是提升效率性价比最高的方式——不需要学任何编程语言,只是把验证过的命令用脚本沉淀下来,就能让每次重复劳动变成一次敲击。等脚本积累多了,你会发现一个属于自己的命令工作台就这么搭起来了。
5. 常见问题与排查技巧实录
这是所有文章里我最喜欢写的一部分,因为这些都是真实踩过的坑。按提问频率从高到低整理如下,全是硬干货。
5.1 命令不存在的排查思路
错误信息长这样:
Error: unknown command 'ran'别急着说“我命令打对了啊”,先想清楚三个可能性。第一,命令拼写错误,这是最常见的原因,run 写成 ran、config 写成 congig,排查方式很简单:用 tab 键自动补全,别手敲。第二,子命令不存在,比如你输入了openclaw task delete,但当前版本里只有openclaw task cancel,这时需要执行openclaw task --help看看合法的子命令有哪些。第三,版本差异,你的某个命令是在旧版本学的,但当前安装的版本已经调整了命令名。
推荐的做法是:遇到 unknown command,先执行openclaw --help查看顶层命令,再执行openclaw <command> --help查看子命令。帮助系统本身就是最权威的命令手册,熟悉了它,你甚至可以不需要这篇教程——虽然这篇教程能帮你更快定位。如果你在帮助列表里都没找到想要的命令,那就去查一下当前版本和文档版本是否一致,别对着旧教程用新工具,那是纯粹的折磨。
5.2 参数没生效的三大原因
“我明明加了 --model pro,为什么跑出来还是 fast?”这个问题我在交流群里见过不同版本。参数没生效,通常逃不出以下三个原因。
第一,优先级覆盖。命令行参数优先级最高,但如果你在命令行里同时写了两个同名参数,比如--model pro --model fast,后写的会覆盖先写,最终生效的是 fast。第二,环境变量干扰。项目配置文件里明明设置了默认模型,但系统环境里存在同名变量,它的优先级高于配置文件,导致你以为配置生效了,实际是环境变量说了算。第三,写错了命令层级。参数放错了位置,全局参数被放在命令后面,或者局部参数被放在命令前面,某些情况下会被解析成别的含义。
提示:排查参数问题时,环境变量是最容易被忽略的干扰项。先看当前环境里有哪些相关变量,再检查命令行写法,基本能覆盖九成以上问题。
这三大原因里,环境变量干扰尤其讨厌,因为它很难一眼发现。我自己的习惯是在每个项目里用一个统一的运行脚本,脚本里明确设置好所有环境变量,避免“隐形的配置”散落在各处。
5.3 超时与资源不足的处理
任务跑到一半报超时,是后台任务里最常见的问题。错误信息通常是:
Error: task timed out after 300 seconds处理思路分三步。第一步,判断是偶发还是必然。偶发就加大超时时间再跑一次,比如--timeout 600。第二步,如果每次都在同一个阶段超时,说明这个任务确实需要更多时间,此时可以用后台模式执行,或者把一个大任务拆成几个小任务分段跑。第三步,如果你需要长时间运行,建议在配置里把默认超时时间调大,而不是每次都写参数——配置一次,省心一生。
资源不足的另一个典型现象是任务直接报“内存不足”或“无法分配上下文”。这通常不是你电脑真的缺内存,而是单个任务的上下文长度设置超过了模型实际支持范围。解决方法非常简单:降低--max-tokens,或者减少输入文件的长度。有时候,把一个大文件拆成多个小文件分批处理,反而是效率最高的方案。这个思路也适用于那些“一跑就失败”的大任务,别纠结于一次处理完,分段处理通常又快又稳。
5.4 日志与调试技巧
最后一组技巧,关于怎么用日志定位问题,这是我压箱底的经验。
第一,遇到诡异问题,先把--log-level debug打开。debug 日志会记录每一步的命令解析结果、参数值、调用链和耗时,绝大多数“命令行为不对”的问题,在 debug 日志里都能看到明确线索。比如你会发现“原来我写的参数被解析成了另一个值”“原来程序读取的是另一个配置文件”,这些信息在普通输出里完全看不到。
第二,善用--dry-run。OpenClaw 支持只检查不执行,这条命令不会产生任何副作用,却能验证参数、输入路径、输出路径是否合法。我强烈建议任何复杂命令在正式执行前,都先 dry-run 一遍。特别是那些包含了很多参数的长命令,dry-run 能在几秒钟内告诉你“这条命令到底能不能跑”,省下的时间远远超过多敲那一下。
第三,查看日志时不要只看最后几行。把 error 级别和 warn 级别的日志分开看,往往能发现隐藏的警告。有些任务虽然显示成功,但中途出现过警告,这些警告可能影响结果质量。比如某个输入文件部分段落被跳过了,这类警告在普通输出里根本看不到,但在日志里明明白白。养成“执行完扫一眼 warn 日志”的习惯,你会提前发现很多潜在问题。
第四,养成“固定目录存日志”的习惯。在项目配置里指定日志目录,每次跑完任务后顺手看一眼日志,尽量不要让日志散落在临时位置。几周之后你会发现,回顾历史问题时,有日志和没日志完全是两种体验。日志就像飞行记录仪,平时用不上,一旦出了状况,它就是唯一的真相来源。
写到这里,最想分享的一条体会是:命令行的门槛其实不在记忆,而在建立“先理解结构、再动手实践”的习惯。我刚接触 OpenClaw 时也觉得命令多得记不住,后来把所有命令画成生命周期、对象管理、环境治理三条线,一切突然变得清晰了。现在每次跑任务前,我都会先问自己三个问题:我要启动什么?我要操作什么?我怎么确认它正常?答案自然就出来了。这篇列出的指令和参数,是使用频率最高的子集,覆盖日常绝大多数场景,但每个版本的 OpenClaw 可能都有细微差异,遇到不确定时,--help永远是值得依赖的伙伴。如果这篇对你有帮助,后续我会继续更新实战专栏的进阶篇,聊聊多任务编排和自动化脚本的深入玩法。