最近好几个群里都在讨论 OpenClaw问的问题出奇一致装完了下一步敲什么很多人习惯性地以为它是个带界面的软件结果安装完面对一个黑乎乎的终端窗口不知道从哪下手。其实 OpenClaw 从设计上就是一套跑在命令行上的个人 AI 助理系统它把分身部署、模型接入、消息渠道、技能扩展甚至 Windows 专用伴侣程序全串在一起。也就是说你平时碰到的命令根本不是一条而是一整套逻辑openclaw 主命令、WSL2 环境命令、Ollama 或 Docker 这类配套服务命令、git 和 adb 这类辅助命令全都要会用一点才能真正把玩明白。这篇就把我日常使用中最高频的命令按场景整理出来带着排查思路和踩坑记录照着敲就行。1. 先给OpenClaw的命令分个类省得每次都在网上现找1.1 为什么OpenClaw这个项目“命令特别多”接触过 OpenClaw 的人应该都有这种体会刚装上第一周命令记不住每次都要翻官方文档或者去社区问答里搜。这不怪你记性差是 OpenClaw 本来就不是一个单一进程的软件它是一个“全家桶”。最外层是核心 agent 进程负责理解你的指令、决定调用哪个技能中间一层是各种渠道连接器比如接入个人聊天工具、邮件甚至屏幕和麦克风再里面还有技能系统、模型后端、可选的缓存存储这些模块分布在不同的运行环境中。这么多子系统叠在一起你自然要跟好几种命令打交道。所以我的建议是别把 OpenClaw 的命令当成“一堆命令”当成四类口袋来记。1.2 你真正高频用到的命令其实就这四大类我平时维护 OpenClaw 实例时会把命令分成下面四类。第一类是 openclaw 主命令家族就是启动、停止、看日志、开管理面板这些百分之八十的日常操作都落在这里。第二类是系统环境命令包括 node、npm、wsl、systemctl负责让 OpenClaw 能跑起来、能开机自启。第三类是配套服务命令最常见的就是 ollama、docker、redis-cli它们不是 OpenClaw 的一部分但 OpenClaw 要靠它们提供模型算力、容器隔离和缓存存储。最后一类是工程辅助命令git、curl、ssh、adb 这些通常在做技能开发或者远程调试的时候才用到。命令类别代表命令典型场景openclaw 主命令openclaw start / status / logs / chat / manage启动服务、查看运行状态、跟踪日志、直接对话、打开管理面板系统环境命令node -v、wsl --status、systemctl、npm检查运行环境Windows 下修复 WSL2配置开机启动配套服务命令ollama serve/pull/list、docker ps、redis-cli管理本地模型、容器化部署、查看缓存状态工程辅助命令git add/commit/pull、curl、ssh、adb devices开发技能、验证模型接口、远程访问、手机联调1.3 验证命令可用性--help 和 --version 是底线我见过不少新手拿到命令清单就开始复制粘贴结果版本跟文档对不上一条命令跑了没反应就慌。其实命令行工具最重要的自救手段就是两个参数--help和--version。装好 OpenClaw 之后第一件事就是打开终端跑这三条检查命令node -v openclaw --version openclaw --helpnode 版本低于 22 的话后面很可能直接报语法错误openclaw --help能看到你这个版本支持哪些子命令不同版本的子命令名会有细微差异。这个习惯养成了后面碰到任何一个陌生的命令都能迅速自查而不是整段整段去网上搜。下面每个章节里的命令我也会按这个原则处理。2. 从零到能跑起来安装、启动和停服用的核心命令2.1 装环境Node.js 22 与 npmOpenClaw 是 Node.js 生态的项目第一关不是装它本身而是把 Node 环境搞对。windows 或者 Linux 上安装第一步永远是检查node -v npm -v我现在用的是 Node 22 的长期支持版本。低版本的 Node 跑 OpenClaw 经常会在启动时报莫名其妙的语法错误尤其是用了较新的 JavaScript 特性之后老版本解析不了。最省心的做法是装一个 Node 版本管理器Linux 和 macOS 用 nvmWindows 用 nvm-windows。切换 Node 版本就是几条命令的事nvm install 22 nvm use 22npm 随 Node 一起安装如果你之前装了 pnpm 或 yarn 也没关系OpenClaw 官方不少安装路径也支持 pnpm但最稳的还是 npm 全局安装。这里有个小知识点npm install -g安装的全局包在 Linux 下可能因为系统目录权限报 EACCES 错误这时候不是去改权限而是建议让 nvm 管理全局路径这样装完的命令就能直接执行。2.2 安装 OpenClaw 本体的两种方式装 OpenClaw 本体通常有两种路径根据自己的需求选。第一种是直接用 npm 安装发布版本一条命令搞定npm install -g openclaw装完以后openclaw就是你的全局命令。第二种是源码方式适合想改代码、看实现细节的人git clone 官方仓库地址 cd openclaw npm install源码方式装完不能直接跑得看官方文档里的构建命令通常是npm run build然后再通过项目里的启动入口运行。我的建议是如果不打算二次开发直接用全局安装省事也不会把源码目录弄乱。如果你是在公司内网或者网络环境受限的机器上装npm 下载可能比较慢但这是网络源的问题别通过乱七八糟的代理去解决先试官方仓库再试其他可用的官方镜像源。2.3 首次启动别双击要敲命令很多人装完第一反应是找图标双击OpenClaw 不是在桌面启动的那种软件它的默认启动方式就是终端命令。最简单的启动方式openclaw命令跑起来以后终端会开始刷日志显示正在加载哪些模块、连接哪些渠道。首次启动还会要求你做一些初始化配置比如管理员密码、模型参数。如果你的版本支持子命令更常用的启动是openclaw start想直接跟你的 AI 助理在终端里对话用openclaw chat这个命令进去之后就是交互界面像聊天软件一样输入消息非常适合快速验证配置有没有生效。另外还有一个命令我几乎每天都用openclaw manage它会启动一个本地管理面板默认在本机的 3000 端口浏览器打开就能看到 Web 界面配置模型、技能、渠道都在里面完成。注意管理面板的端口要以启动日志实际输出为准有的版本因为 3000 被占用会自动换端口日志里会写清楚。2.4 停止、重启和查看状态服务跑起来之后最常用的生命周期命令就这几条openclaw status openclaw restart openclaw stopstatus会显示当前实例有没有在跑、跑了多久、加载了哪些模块。restart我用得最频繁因为每次改模型配置、装新技能之后都需要重启。stop就是停止服务。这里有个经验如果openclaw stop没反应概率最大的是当前版本不支持这个子命令或者你之前不是用它启动的。这时候别慌直接走兜底方案用系统命令查进程ps aux | grep openclaw kill -TERM pid先发终止信号让进程自己收尾实在不响应再kill -9。后面第 6 章我会再展开讲进程和日志的兜底套路。3. Windows部署绕不开的WSL2环境检查、修复与Companion配置3.1 为什么Windows版OpenClaw会叫你打开PowerShell如果你在 Windows 上装 OpenClaw大概率会遇到一个提示大意是“OpenClaw 无法安全验证 WSL2 环境请在 PowerShell 中运行 wsl --status”。这不是 OpenClaw 本身出 Bug而是它启动时发现宿主机上的 WSL2 环境不健康。WSL2 是 Windows 下运行 Linux 子系统的机制OpenClaw 里不少依赖 Linux 生态的模块都要靠它。Windows 原生的进程可以跑一部分功能但完整的模型对接、部分技能依赖、文件系统行为还是更喜欢在 WSL2 的 Linux 环境里跑。所以 Windows 用户必须把 WSL2 当作前置条件来看待。3.2 从wsl --status开始的完整排查链路我上次在 Windows 上装 OpenClaw就被这个问题卡了半小时。完整排查链路是这样的跟着一步步来基本都能修好。第一步在 PowerShell 里看 WSL 当前状态wsl --status如果显示没有已安装的分发版或者内核版本太旧那就继续。第二步更新 WSL 内核wsl --update第三步装一个默认的 Linux 发行版wsl --install -d Ubuntu-22.04装完以后强制把默认版本切到 WSL2wsl --set-default-version 2如果你发现前面几步都做了状态还是不对多半是 Windows 的“虚拟机平台”功能没开。用管理员权限开 PowerShell执行dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart还有一个经常被忽略的坑如果 BIOS 里的虚拟化技术没开启Hyper-V 这层就起不来WSL2 同样会失败。检查命令是bcdedit /set hypervisorlaunchtype auto输入完以后别急着继续先重启一次 Windows再回来跑一下wsl --status确认。最后提醒一件事改完这些设置后如果 OpenClaw 还是提示检测不到 WSL2试着在 PowerShell 里执行wsl --shutdown这个命令会彻底停掉所有 WSL 实例再启动 OpenClaw 时它会重新拉起一个干净的 Linux 环境。这一套组合拳下来Windows 上的 WSL2 环境基本就稳了。3.3 Windows Companion的安装与配对Windows 用户装 OpenClaw还绕不开一个叫 Companion 的组件。它的作用是接管本地硬件把麦克风、摄像头、屏幕画面采集下来递给主 agent 处理。相当于那个只负责“感知”的小帮手。Companion 通常是一个独立的托盘应用程序安装包从官方发布页下载。安装好之后Windows 托盘区会多一个小图标双击打开会看到配对信息一般是一串访问地址和一个配对码。你需要把这些信息填到 OpenClaw 管理面板的 Companion 配置里两边才能建立链接。检查 Companion 是否真的在跑可以用 PowerShell 命令Get-Process | Where-Object {$_.ProcessName -match openclaw|companion}常见的一个坑是防火墙拦截。Companion 和主 agent 默认走本机回环按理说不会被拦但某些安全软件会比较激进。如果你第一次配对一直失败先检查防火墙入站规则把 Companion 相关的进程放行再试一次。这一块配置完建议立刻重开一次主服务很多“明明填对了却没反应”的情况都是因为没重启。4. 本地算力与模型接入Ollama对接OpenClaw的常用命令4.1 “OpenClaw只能用接入API的方式用算力吗”这个问题我在帖子里见过不少人问OpenClaw 是不是必须用云端 API 才能跑。真不是。本地完全可以靠 Ollama 拉起开源模型OpenClaw 通过 OpenAI 兼容接口去调用它请求只走 localhost模型跑在你自己的机器上。这在很多注重隐私的场景里非常实用断网了还能继续对话。4.2 Ollama安装后的高频命令Ollama 安装好以后建议先手动拉一个轻量模型验证环境。现在社区里最常用的是 qwen2.5 系列的 3B 参数版本资源占用低中文效果好。首先启动 Ollama 服务ollama serve如果 Ollama 已经注册成了系统服务这步可能跳过但手动跑可以确认服务真的还活着。然后拉模型ollama pull qwen2.5:3b下载完查看本地已装模型ollama list想立刻跟模型对话试一下效果ollama run qwen2.5:3b还有一个命令看当前模型是否已经从磁盘加载到内存ollama psollama ps这个命令平时不太会注意但排查“模型为什么这么慢”的时候很有用。如果ps显示模型已经加载说明后续每次请求会快不少如果显示为空说明 Ollama 在每次请求时才重新加载模型延迟自然高。4.3 OpenClaw侧的模型配置Ollama 起来之后OpenClaw 侧的配置其实就四件事模型提供方、模型名、接口地址、密钥占位。我现在的环境变量是这样配的AI_MODEL_PROVIDERopenai AI_MODELqwen2.5:3b OPENAI_BASE_URLhttp://127.0.0.1:11434/v1 OPENAI_API_KEYollamaOpenAI 兼容接口的方式是社区里最通用的一种因为 Ollama 专门提供了这个兼容层。新版 OpenClaw 也可能直接提供 Ollama 相关的专用配置字段比如OLLAMA_BASE_URL之类的看你自己版本的配置模板里有哪个就用哪个核心思路完全一样。配置完之后一定记得重启 OpenClaw。4.4 用curl和日志验证连通性模型连接失败是日常提问里最高频的问题我先说怎么快速定位。第一步确认 Ollama 本身有没有问题curl http://127.0.0.1:11434/v1/models能返回一个 JSON 列表说明服务正常。接着模拟一次对话请求curl http://127.0.0.1:11434/v1/chat/completions \ -H Content-Type: application/json \ -d {model:qwen2.5:3b,messages:[{role:user,content:你好}]}如果 Ollama 响应正常那问题就在 OpenClaw 配置侧。这时候去看 OpenClaw 日志用我们前面提过的日志命令openclaw logs --tail 50最常见的问题无非三种模型名写错了比如qwen2.5:3b少写了个冒号端口拼写错了写成 11434 以外的数字或者 Ollama 服务被系统的休眠策略挂起来了本地服务看着在实际没响应。前两种改配置最后一种回到终端重新启动 Ollama 服务就好。5. 技能开发、Docker、Redis、Termux和调试扩展能力时用到的命令5.1 技能开发从骨架到提交OpenClaw 的技能系统本质上是 MCP 协议下的一组工具。你想让 OpenClaw 多一个能力不是去改主程序而是新增一个技能目录里面放描述文件和执行脚本。创建技能骨架的命令我用的版本是openclaw skill create --name 技能名不确定你的版本语法的话还是老规矩先执行openclaw skill --help。创建好之后技能目录会生成标准结构你只需要把自己的逻辑填进去。改代码的过程中 git 是少不了的最常用的几条git status git add . git commit -m 新增天气查询技能 git pull --rebase这里我特别想提醒一点动手改之前先git pull --rebase把远程最新代码拉下来不然你改了本地之后跟远程冲突解决起来非常痛苦。技能调试一般用 Node 层调试就够了node --inspect 技能脚本然后在 Chrome 的开发者工具里就能断点调试了。至于 gdb那是调试 native 崩溃才用的比如某个依赖的 C 扩展把进程搞崩了才会gdb -p pid然后bt看调用栈日常技能开发根本碰不上。5.2 Docker部署OpenClaw的运维命令如果你习惯用容器跑 OpenClaw那 Docker 命令就是另一条主线。官方或社区维护的 compose 模板拉起来之后最常用的就是这一组docker compose up -d docker ps docker logs -f openclaw docker exec -it openclaw bashdocker ps看容器状态docker logs -f跟踪日志docker exec -it进到容器里面执行命令。备份也很简单docker cp openclaw:/app/.openclaw ./backup把容器里的配置目录直接拷贝到宿主机。用 Docker 有个原则里头的 OpenClaw 别再去调用宿主机的 WSL2 或者其他 Linux 子系统这会绕晕整个网络和权限模型单实例单容器是最清爽的玩法。5.3 Redis做记忆存储时的命令OpenClaw 默认用本地文件存数据很多人根本不需要 Redis。只有你在配置里打开了REDIS_URL这种连接才需要关心 Redis 命令。我实际排查时最常用的几条redis-cli ping redis-cli keys openclaw:* redis-cli TTL openclaw:session:某个IDping返回 PONG 说明服务活着keys看 OpenClaw 往 Redis 里写了哪些 keyTTL看会话缓存还有多久过期。还有一个命令我会特别谨慎使用redis-cli FLUSHDB这条命令会清空当前数据库里的所有 key。如果你只是用 Redis 做缓存清掉影响不大但如果有人把长期记忆也放到 Redis 里这一清就全没了。我自己只在本地测试环境才敢按这个生产数据绝对不碰。5.4 Termux手机版安装与ADB联调命令OpenClaw 是可以跑在安卓手机上的很多人在 Termux 里装。Termux 这个终端模拟器自己的生态命令要先过一遍pkg update pkg upgrade pkg install nodejs-lts git termux-setup-storagetermux-setup-storage是给 Termux 授权访问手机存储的最开始装完别跳过。然后照样 clone 源码、npm install。跑起来之后为了不让手机锁屏时把进程杀掉用termux-wake-lock这个命令相当于申请了一个唤醒锁让 OpenClaw 在后台持续运行对续航有影响但跑服务本来也没办法。手机跟电脑联调时adb 命令就上场了。先确认设备连接adb devices再把手机的 3000 端口请求转发到电脑的管理面板adb reverse tcp:3000 tcp:3000手机上跑 3B 模型对内存压力不小我的建议是用手机作为客户端控制端真正跑模型还是连电脑上的 Ollama这样体验会顺很多。5.5 远程访问与家庭网络里的命令远程访问 OpenClaw 也是个常见需求。安全做法是用 SSH 隧道把远程机器的 3000 端口映射到本地ssh -L 3000:localhost:3000 userserver这样本地浏览器打开 localhost:3000实际上访问的是远程机器上的管理面板。至于家用光猫它一般就是家庭网络的入口管理地址通常是 http://192.168.1.1里面可以做端口映射。但我不推荐直接把 OpenClaw 的端口暴露到公网我之前在日志里见过大量陌生 IP 扫描器它们不会管你是什么服务只认端口。真要长期远程用优先走 SSH 隧道或正规的异地组网方案。6. 进程、日志、备份卸载与最后的兜底命令6.1 ps/kill/资源查看不管你前面把 OpenClaw 玩得多明白最后都得会一套“兜底命令”万一服务卡死、重启无效的时候靠它们救命。查进程ps aux | grep openclaw杀掉进程kill -TERM pid不响应才用kill -9 pid。看一下系统资源够不够free -h df -h du -sh ~/.openclawdu -sh这条很实用OpenClaw 跑久了数据目录会膨胀定期看一下目录大小心里有数。如果你当初是用 pm2 托管的 Node 服务那还要记一组 pm2 命令pm2 list pm2 logs openclaw pm2 restart openclaw pm2 savepm2 save会让当前进程列表持久化机器重启后自动恢复这个容易漏漏了的后果就是服务器重启之后 OpenClaw 莫名其妙没了。6.2 日志体系与关键字排查排查问题最重要的抓手永远是日志。三种部署方式对应三种日志入口直接启动就用openclaw logssystemd 托管用journalctl -u openclaw -fDocker 部署用docker logs --tail 100 -f openclaw我自己的习惯是出了错先不看别的先按时间戳倒着翻最近的输出再用 grep 过滤 error 关键字grep -i error ~/.openclaw/logs/*.logOpenClaw 的报错里九成落在三类问题上配置写错、网络连不上、权限不足。看到报错别急着百度整段文字先看提示里提到的是哪个模块、哪行配置再动手改。6.3 卸载OpenClaw的命令与残留清理卸载这件事看着简单其实残留才是大问题。如果你是全局 npm 安装先卸载npm uninstall -g openclaw然后删除配置和数据目录rm -rf ~/.openclawWindows 上把对应目录删掉通常是%USERPROFILE%\.openclaw。Windows Companion 在控制面板卸载或者用winget uninstall Companion的包名如果你的服务是通过 pm2 或 systemd 托管的别急着删目录先停掉托管服务pm2 delete openclaw systemctl disable --now openclaw最后检查一下还有没有残留命令which openclaw npm list -g --depth0 | grep openclaw两条命令都没输出基本就是清干净了。6.4 备份与版本更新日常维护里备份的优先级比卸载高多了。OpenClaw 的配置文件、技能、记忆数据基本都在~/.openclaw目录里备份就是拷目录cp -r ~/.openclaw ~/.openclaw.bak.$(date %Y%m%d)给备份加上日期后缀方便回滚时候找版本。更新 OpenClaw 也简单全局安装就用npm update -g openclaw有些版本提供内置更新命令openclaw update大版本升级之前务必备份一次并且先停服再升级。我上次没停服直接 update迁移过程中新旧配置互相覆盖日志刷了一屏启动错误最后回滚备份才恢复正常。所以顺序永远是停服、备份、更新、启动、验证。6.5 不常用的存储与虚拟化命令了解一下就行最后补充两个冷门但真的有人用到的场景。第一个是存储规模极大的场景比如把 OpenClaw 的记忆库或知识库挪到 Hadoop 体系里。这时候 HDFS 命令会出现hdfs dfs -ls /openclaw hdfs dfs -put data /openclaw/这属于大数据平台运维的范畴普通单机用户完全不用碰。第二个是 OpenClaw 跑在 KVM/QEMU 虚拟机里的场景管理虚拟机用virsh list --all virsh start vm名称 virsh shutdown vm名称这类命令跟 OpenClaw 本身没关系是部署环境的通用工具知道有这回事就行用到的时候再学不要一次性全背。我自己折腾 OpenClaw 这段时间最深的体会是命令不在于多而在于形成肌肉记忆。我日常真正高频使用的也就六个openclaw start、openclaw status、openclaw logs、ollama pull、ollama list、ollama ps。剩下的命令都是出了问题才去翻的。你只要把前四个分类的框架装进脑子里再配合每个命令的--help遇到新情况根本不用慌。