ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

OpenClaw命令实战指南:安装、配置、运行与排障全覆盖

OpenClaw命令实战指南:安装、配置、运行与排障全覆盖 最近总有朋友在微信上问我同一个问题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 \ --restartunless-stopped \ -v /opt/openclaw-data:/data \ -e TZAsia/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 initinit是交互式命令它会问你准备接入哪个平台、用哪个模型、数据目录放在哪。我第一次用的时候嫌交互太慢后来发现可以直接指定参数完成初始化openclaw init --platform feishu --model qwen-plus初始化完成后立刻跑一遍健康检查openclaw doctordoctor是我最推荐的命令没有之一。它会逐项检查配置文件是否完整、模型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] DescriptionOpenClaw Agent Afternetwork.target [Service] ExecStart/home/user/.openclaw/bin/openclaw start --foreground Restartalways RestartSec10 Useruser WorkingDirectory/home/user/.openclaw [Install] WantedBymulti-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 --verbosedoctor --verbose会输出详细检查结果能看到模型接口返回的状态码。我第一次配完就是靠它确认接口通了否则还得干等消息超时。还要留意一个坑OPENAI_BASE_URL末尾的/v1不能乱加或者漏掉。这个路径是和具体服务商约定好的多一个斜杠都可能导致404。我踩过一次排查了半天才发现是base-url尾部多了一个斜杠。3.3 Channel命令添加、查看、切换、移除Channel是OpenClaw和外界沟通的桥梁。查看所有Channelopenclaw 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的目录IDclient-id是机器人应用IDclient-secret是应用密钥。缺一个都接不上。移除不再使用的Channelopenclaw 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是底层可执行插件比如搜索、网页抓取、日历读取。查看和安装Skillopenclaw skill list openclaw skill install 技能名 openclaw skill uninstall 技能名 openclaw skill update查看和启停Toolopenclaw 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跑CtrlC 就能停日志直接打到当前终端。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 userexample.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秒还没拿到锁直接放弃回复。常见诱因有三个多个OpenClaw实例同时启动抢同一个session文件。上次进程异常退出锁没有正常释放。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 ~/.bashrc5.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 ocopenclaw alias oc-statusopenclaw status alias oc-logsopenclaw logs -f alias oc-doctoropenclaw 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个小时。后来我在配置里显式设置了TZAsia/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里游刃有余了。
返回列表