☰
OpenClaw命令实战指南:安装、配置、运行与排障全覆盖
2026/9/25 3:31:54 网站建设 项目流程

最近总有朋友在微信上问我同一个问题:OpenClaw装好了,然后呢?然后是看日志、换模型、切Channel、排查锁文件……哪一步都离不开命令。我这份OpenClaw命令大全,不是把项目文档抄一遍,而是把从部署到日常维护过程中真正用过的命令按场景整理好,从安装、配置、运行到问题排查全覆盖。刚接触代理框架的新手可以按顺序照着敲,已经有基础的老手可以直接翻到对应章节抄作业,收藏这一篇基本就够了。

1. 先理清OpenClaw命令的“四层家谱”,后面才不会乱

1.1 OpenClaw命令不同于普通命令行工具的地方

很多人第一次接触OpenClaw,会下意识把它当成另一个“ChatGPT客户端”,觉得无非就是启动一下、聊个天。实际用下来你会发现,OpenClaw是一整套个人AI代理框架,你把它装好之后,面对的是一堆新概念:Channel、Session、Skill、Tool、Task。Channel是消息渠道,比如飞书、Teams、微信;Session是一次次对话的上下文容器;Skill是给Agent装的技能包;Tool是底层能调用的工具插件;Task是定时任务。这些概念全都靠命令来操作。

所以命令大全要解决的,不是“某个命令怎么拼”,而是“我想做某件事时该用哪个命令”。比如我想把飞书上的某个群设为当前处理对象,用的是Channel管理命令;我想清空某个Channel的历史会话上下文,用的是Session命令;我想让Agent每天早上九点自动发日报,用的是Task命令。理解了这层关系,再回头看命令,每一个都有明确的场景归属。

1.2 命令分类总览

我习惯把OpenClaw命令分成四层,方便记忆。

分层典型命令使用场景
安装部署层install、init、doctor、version首次安装、环境初始化、健康自检
配置管理层config、model、channel、skill、tool改模型、接平台、装技能
运行控制层start、stop、restart、status、logs日常启停、看状态、查日志
会话与调试层session、message、debug管理对话、发消息、排障

这几个层不是互相独立的。很多时候一条命令的报错,要跑到另一层去找原因。比如配置了千问模型之后Agent不回复,问题可能不在模型配置,而在Channel会话状态;session突然报锁文件超时,也可能是运行层多开了实例。所以我在后面每个章节里都会把“关联问题”单独拎出来讲。

1.3 一个通用规律:先 --help 再敲命令

所有OpenClaw子命令都支持查看帮助,这是整个命令大全里最重要的一条规律:

openclaw --help openclaw channel --help openclaw model --help openclaw session --help

不要觉得看帮助文档丢人,恰恰是这些帮助信息最真实。不同版本的OpenClaw命令会调整,我在文章里整理的是常见用法,但你的版本里某个子命令可能换了名字、加了参数。每次敲新命令之前,先openclaw <子命令> --help看一眼,能避免绝大多数“命令不存在”的问题。

全局参数也要留意,大部分子命令都支持--config指定配置文件、--channel指定渠道、--debug开启调试输出、--json让输出变成结构化数据方便脚本解析。这些参数在不同子命令里表现一致,学会了就一通百通。

2. 安装部署:把OpenClaw从零跑起来的完整命令链

2.1 三种安装方式与对应命令

OpenClaw的安装方式不是唯一的,我实际试下来,主力有三种:Docker方式、官方脚本方式、源码方式。

Docker方式最省心,适合服务器和NAS。先把镜像拉下来,然后启动容器,数据目录挂载出来持久化:

docker run -d \ --name openclaw \ --restart=unless-stopped \ -v /opt/openclaw-data:/data \ -e TZ=Asia/Shanghai \ <官方镜像地址>

这里我不把镜像地址写死,因为官方在不同阶段可能调整仓库地址。你去项目Release页面或官方文档找最新镜像名,拉取后先跑一个临时容器验证能启动,再正式跑后台服务。Docker方式的好处是环境隔离,不怕把系统依赖搞乱。

官方脚本方式适合Linux和macOS,一般是一行命令:

curl -sSL <官方安装脚本地址> | bash

说实话我不推荐直接管道执行远程脚本,风险太大了。我都是先下载下来:

curl -sSL <官方安装脚本地址> -o install.sh less install.sh bash install.sh --prefix ~/.openclaw

先看脚本内容,确认没有奇怪操作再执行。--prefix可以指定安装目录,我习惯装在~/.openclaw,不用动系统目录,权限问题少很多。

源码方式适合想二次开发的人。把仓库克隆下来,按README装依赖,然后在项目目录里用命令启动:

git clone <项目仓库地址> cd openclaw # 按官方说明安装依赖,语言环境不同命令不同 openclaw --version

源码方式的好处是改代码方便,但升级要自己git pull,不适合只想用功能的人。

2.2 安装后的初始化与自检命令

装好之后第一件事不是急着启动服务,而是初始化配置:

openclaw init

init是交互式命令,它会问你准备接入哪个平台、用哪个模型、数据目录放在哪。我第一次用的时候嫌交互太慢,后来发现可以直接指定参数完成初始化:

openclaw init --platform feishu --model qwen-plus

初始化完成后,立刻跑一遍健康检查:

openclaw doctor

doctor是我最推荐的命令,没有之一。它会逐项检查配置文件是否完整、模型API能不能连通、Channel凭据是否有效、数据目录有没有写权限、端口有没有被占用。之前我遇到过官方脚本安装后找不到配置文件,就是靠doctor定位到权限问题。

再确认一下版本和配置路径:

openclaw --version openclaw config path

这两个命令输出很短,但很有用。版本号决定你该查哪个版本的文档,配置路径告诉你去哪里备份数据。

2.3 Windows和NAS上的部署注意点

热词里有人提“openclaw windowshub安装”,也有人问飞牛NAS上怎么装。Windows环境我强烈建议用WSL2或者Docker Desktop,别直接在原生Windows命令行里跑,OpenClaw依赖的长驻进程和文件锁在原生Windows下表现不稳定,尤其是很多人遇到的session locked问题,Windows下概率更高。

飞牛NAS或者群晖这类设备,直接走Docker套件就行。建一个共享文件夹专门放OpenClaw数据,例如/docker/openclaw,容器里映射到/data。这样升级容器不会丢数据。我见过的翻车案例,十有八九是数据目录没挂载出来,容器一删,配置和会话全没了。

如果是Linux服务器,我更建议用systemd托管,而不是在SSH会话里直接openclaw start。SSH一断,后台进程容易跟着出问题。写个服务文件:

[Unit] Description=OpenClaw Agent After=network.target [Service] ExecStart=/home/user/.openclaw/bin/openclaw start --foreground Restart=always RestartSec=10 User=user WorkingDirectory=/home/user/.openclaw [Install] WantedBy=multi-user.target

然后启用:

sudo systemctl daemon-reload sudo systemctl enable --now openclaw sudo systemctl status openclaw

托管之后,日志交给journald管理,平时journalctl -u openclaw -f看日志就行。

3. 配置管理命令:模型、Channel、API Key一个都不能少

3.1 配置文件的三种打开方式

OpenClaw的配置集中在配置文件里,所有配置命令本质上都是操作这个文件。先找到它:

openclaw config path

然后在命令行查看所有配置项:

openclaw config list

单独看某一项:

openclaw config get LLM_PROVIDER

修改配置项:

openclaw config set LLM_PROVIDER openai

删除配置项:

openclaw config unset LLM_PROVIDER

还有一个很方便的命令,直接打开默认编辑器修改:

openclaw config edit

改配置前先备份永远是好习惯:

openclaw config export > openclaw-backup.json

恢复备份:

openclaw config import openclaw-backup.json

这套组合拳我每个月总能用上几次。尤其是给新服务器搭同款环境时,export出来再import进去,十分钟搞定。

3.2 接入千问模型的具体配置命令

很多国内用户拿到OpenClaw第一件事就是配千问,因为官方默认模型在国内直连不方便。配千问的核心思路,是让OpenClaw的语言模型层指向通义千问的OpenAI兼容接口。

配置命令如下:

openclaw config set LLM_PROVIDER openai openclaw config set OPENAI_BASE_URL https://dashscope.aliyuncs.com/compatible-mode/v1 openclaw config set OPENAI_MODEL qwen-plus openclaw config set OPENAI_API_KEY sk-你的APIKey openclaw restart

为什么要这样配?因为DashScope的/compatible-mode/v1接口兼容OpenAI协议,OpenClaw的OpenAI客户端可以直接对接,不用改任何代码。OPENAI_MODEL可以换成qwen-max、qwen-turbo,看你对速度和质量的取舍。

配完之后验证一下:

openclaw model list openclaw doctor --verbose

doctor --verbose会输出详细检查结果,能看到模型接口返回的状态码。我第一次配完就是靠它确认接口通了,否则还得干等消息超时。

还要留意一个坑:OPENAI_BASE_URL末尾的/v1不能乱加或者漏掉。这个路径是和具体服务商约定好的,多一个斜杠都可能导致404。我踩过一次,排查了半天才发现是base-url尾部多了一个斜杠。

3.3 Channel命令:添加、查看、切换、移除

Channel是OpenClaw和外界沟通的桥梁。查看所有Channel:

openclaw channel list

查看详细状态,包含连接是否正常:

openclaw channel status

添加一个平台,比如飞书:

openclaw channel add feishu --app-id xxx --app-secret xxx

添加Microsoft Teams要比飞书麻烦一点,Teams机器人依赖Azure应用注册,需要三个参数:

openclaw channel add teams \ --tenant-id 你的租户ID \ --client-id 你的应用ID \ --client-secret 你的客户端密钥

tenant-id是Azure Active Directory的目录ID,client-id是机器人应用ID,client-secret是应用密钥。缺一个都接不上。

移除不再使用的Channel:

openclaw channel remove feishu

多个Channel同时在线时,OpenClaw默认有个“当前激活Channel”的概念,Agent优先处理激活渠道的消息。切换当前渠道:

openclaw channel select teams

热词里有人问“OpenClaw agent怎么选择channel”,答案就在这里。先channel list看有哪些渠道和ID,再channel select <ID>切换。切换之后用channel status确认生效。

3.4 Skill和Tool管理

Skill和Tool是OpenClaw扩展能力的核心。Skill是更上层的技能包,可能包含一组提示词和对应的工具组合;Tool是底层可执行插件,比如搜索、网页抓取、日历读取。

查看和安装Skill:

openclaw skill list openclaw skill install <技能名> openclaw skill uninstall <技能名> openclaw skill update

查看和启停Tool:

openclaw tool list openclaw tool enable search openclaw tool disable web

我给Agent装技能包时,习惯先skill list看当前已有哪些,避免重复安装。装完之后跑一个简单对话验证技能是否真的被加载,只看list输出还不够,因为有些技能要重启才生效。

4. 日常运行与会话控制:最常用的命令都在这里

4.1 启动、停止、重启、状态

日常用得最多的就是启停控制。

前台启动,适合调试:

openclaw start --foreground

后台启动:

openclaw start

停止:

openclaw stop

重启:

openclaw restart

查看服务状态:

openclaw status

我的建议是:日常跑服务,让systemd/Docker托管,不要用裸的openclaw start后台模式。裸后台模式你很难直观看到一个进程是不是僵死。调试新配置时,才用--foreground跑,Ctrl+C 就能停,日志直接打到当前终端。

4.2 会话与消息类命令

OpenClaw的Session概念对应一段连续对话的上下文。查看会话:

openclaw session list

查看某个会话详情:

openclaw session show <会话ID>

清空某个会话上下文:

openclaw session clear

清空所有会话上下文:

openclaw session clear --all

看某个Channel最近的消息记录:

openclaw message list --channel feishu --limit 20

主动向某个用户或群发消息:

openclaw send --channel teams --to "user@example.com" --text "你好"

会话清理这个动作,很多人容易忽略。Agent长时间运行后,Session文件会越来越大,对话响应也可能变慢。我每周会清一次不用的会话上下文,尤其是测试环境里那些反复调试的会话。

4.3 日志与调试命令

日志是排障的第一入口。实时查看日志:

openclaw logs -f

查看最近300行:

openclaw logs --tail 300

按日志级别过滤:

openclaw logs --level DEBUG

开启调试模式:

openclaw debug on

关闭调试模式:

openclaw debug off

我排查问题时的基本链路:先openclaw status看进程在不在,再用openclaw logs -f看实时输出,最后openclaw logs --level DEBUG看更细的请求日志。这个组合能解决大部分“为什么没反应”“为什么发不出去”的疑问。

4.4 修复 session file locked 时报错的标准流程

热词里有一条很精确的报错:agent failed before reply: session file locked (timeout 60000ms) openclaw。这问题我踩过,而且不止一次。

这个报错的意思是:Agent为了保存会话上下文,要操作一个session文件,但文件被别的进程锁住了,等了60秒还没拿到锁,直接放弃回复。

常见诱因有三个:

  1. 多个OpenClaw实例同时启动,抢同一个session文件。
  2. 上次进程异常退出,锁没有正常释放。
  3. Docker容器和宿主机里的进程同时跑,路径又指向同一份数据目录。

修复命令:

openclaw stop openclaw session clear --force openclaw restart

如果版本里没有session clear --force,可以看看openclaw session --help里有没有unlock相关参数。有些版本提供了:

openclaw session unlock --all

实在不行,手动清理锁文件:

find ~/.openclaw -name "*.lock" -delete

注意,执行删除前必须确认所有OpenClaw进程已经停掉,否则你删锁文件的同时,另一个进程可能正在写入,越删越乱。

预防比修复更重要。我现在一台机器上只允许一种托管方式:要么systemd,要么Docker,绝不手动去start。因为手动start和systemd双开,session文件锁必炸。

4.5 飞书输出截断的解决命令

热词里有人反馈“openclaw在飞书输出容易被截断”。这是因为飞书对单条文本消息的长度有限制,Agent生成的长回复一旦超限,要么被丢弃,要么被截断。

我试过几条路子,最有效的是调整消息长度限制和开启自动分段:

openclaw config set FEISHU_MAX_MESSAGE_LENGTH 1500 openclaw config set MESSAGE_SPLIT true

如果版本支持消息类型配置,可以把飞书消息改成富文本格式,富文本能承载的内容比纯文本多不少:

openclaw config set FEISHU_MSG_TYPE post

还有一个取巧的办法,在初始提示词里直接要求模型分段输出,例如“每段不超过500字,多段用分隔线隔开”。命令层面不改变,但能减轻截断概率。我个人实测,前两种配置组合加提示词约束,基本没再遇到截断。

5. 常见问题排查与避坑手册

5.1 命令找不到(command not found)

输入openclaw提示找不到命令,先别怀疑安装失败,大概率是PATH里面没有安装目录。

export PATH="$HOME/.openclaw/bin:$PATH"

想永久生效,写进shell配置:

echo 'export PATH="$HOME/.openclaw/bin:$PATH"' >> ~/.bashrc source ~/.bashrc

5.2 模型API连接失败

模型配置好但Agent不回话,第一反应是看日志:

openclaw logs --tail 100

日志里如果有连接超时、401、404,按顺序排查:

  • 先确认网络能访问API域名,用curl -I <API地址>看返回状态码。
  • 确认OPENAI_API_KEY填的是有效Key,别多空格。
  • 确认OPENAI_BASE_URL路径正确,尤其末尾不要漏路径。
  • 最后看OPENAI_MODEL是否在你服务的型号列表里。

这一套走完,绝大多数模型连接问题都能定位。

5.3 Channel收不到消息

Channel添加成功但收不到消息,先看状态:

openclaw channel status

如果状态不正常,优先检查平台侧配置。飞书要用长连接模式,避免依赖公网回调地址;Teams要确认机器人应用已经发布并授予了对应权限。再看OpenClaw日志里有没有平台侧的订阅事件进来,事件没进来就说明问题在平台侧配置。

5.4 OpenClaw和WorkBuddy怎么选

热词里也有人对比“openclaw和workbuddy哪个好”。我用过一段时间WorkBuddy,简单说下我的体会。

对比维度OpenClawWorkBuddy
开源程度开源,可自行部署改造闭源,依赖官方服务
Channel生态支持飞书、Teams、Telegram等,社区驱动相对有限
部署难度需要命令行操作,门槛略高图形化配置,上手快
数据掌控数据在自己服务器上数据过云端
扩展能力Skill/Tool灵活,可编程偏固定工作流

我的结论是:如果你愿意折腾、看重数据隐私和自定义能力,选OpenClaw没错;如果追求开箱即用、不想碰命令,WorkBuddy会更省心。这篇文章既然讲的是OpenClaw命令,我默认你和我一样是愿意折腾的那类人。

6. 进阶玩法:把OpenClaw命令用出效率

6.1 设置别名,手速翻倍

每天敲openclaw六七个字符其实不算长,但敲多了还是烦。我在shell里加了几个别名:

alias oc="openclaw" alias oc-status="openclaw status" alias oc-logs="openclaw logs -f" alias oc-doctor="openclaw doctor"

然后日常操作变成:

oc status oc-logs oc-doctor

少敲几个字符是小事,关键是别名能统一团队的习惯。我们几个人维护一台服务器,有了统一别名,互相看命令也省心。

6.2 定时任务管理

Task是OpenClaw里很有价值的功能,相当于给Agent安排定时任务。查看已有任务:

openclaw task list

创建一个每天早上九点给Teams群发日报的任务:

openclaw task create \ --name morning-report \ --cron "0 9 * * *" \ --channel teams \ --prompt "请生成昨日工作日报"

删除任务:

openclaw task remove morning-report

定时任务我第一次用的时候翻过车,cron表达式里忘了加时区配置,导致任务按UTC时间跑,整整差8个小时。后来我在配置里显式设置了TZ=Asia/Shanghai才正常。

6.3 多实例管理

一台服务器上跑多个OpenClaw实例,比如一个负责办公渠道,一个负责个人助理,靠--config参数区分:

openclaw --config ~/.openclaw-work start openclaw --config ~/.openclaw-personal start

两个实例的数据目录完全隔离,互不干扰。实例间还可以用不同的模型和Channel组合。我之前就让工作实例用千问,个人实例用另一种模型,互不影响。

6.4 把常用运维命令写成脚本

每次手动敲“status、logs、doctor”太碎片化,我写了个小脚本oc-check.sh:

#!/bin/bash echo "=== version ===" openclaw --version echo "=== status ===" openclaw status echo "=== doctor ===" openclaw doctor echo "=== recent logs ===" openclaw logs --tail 50

以后出问题,先执行一次脚本,把输出贴给队友或者自己分析,三分钟就能缩小问题范围。脚本不要写得太复杂,能输出关键状态就行。

最后再分享一个个人体会:OpenClaw这套命令体系,真正要背的核心命令不超过十个,其余都是--help现查现用。我最常用的是doctor和logs -f,每次改完配置先跑一遍doctor,再重启看日志,这个习惯帮我避开了很多隐形坑。session locked那次之后,我也彻底戒掉了“手动start + 托管服务”双开的坏习惯。你把这篇文章里的命令按场景过一遍,再配合--help查漏补缺,基本就能在OpenClaw里游刃有余了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询