先说结论:在 Windows 下使用 OpenClaw,真正需要死记硬背的操作指令没想象中那么多,但确实容易乱。原因在于 OpenClaw 不是单个 exe 程序,而是一套由命令行工具、交互式会话、常驻后台、技能插件和 API 服务组成的自动化智能体框架。你会遇到三种完全不同的“指令”:安装启动时的系统命令、进入聊天界面后的斜杠命令、以及操作技能和配置文件的管理命令。这篇把我实际折腾过的指令和踩坑记录整理出来,按场景拆开讲,希望能让你少走点弯路。
1. 先在 Windows 下认清 OpenClaw 的“指令”到底分几类
1.1 OpenClaw 是什么?为什么大家都在问指令
OpenClaw 最近在开发者和自动化爱好者圈子里讨论度很高,简单说它是一个本地优先的 AI 助手框架,你可以把它理解成“长在终端里的智能体”:既能像聊天机器人一样和你对话,也能按照你给的目标自动调用文件操作、脚本、外部服务 API 等能力。它和普通聊天界面的最大区别是主动性,你可以把一个多步骤任务直接丢给它,它会自己拆解、规划、执行、反馈,而不是只吐文字。正因如此,很多人第一次接触时最困惑的往往不是“它能干什么”,而是“我在哪个界面里输入什么指令才能让它动起来”。
Windows 下这种困惑会更明显。因为 OpenClaw 通常强制你使用命令行,而 Windows 默认终端是 PowerShell 或 CMD,和 Linux/macOS 的 bash 语法有不少差异;再加上版本迭代快,不同教程里截图的命令长得不一样,很容易让人怀疑自己装错了。我个人的建议是:先把指令按用途分成四类——环境安装类、会话交互类、技能管理类、服务启动类。这样再看任何教程,都知道那段命令属于哪个阶段,为什么非要在那个阶段敲。
1.2 Windows 和类 Unix 系统操作指令的差异
Windows 和 Linux/macOS 的差异不只是“长得不一样”,而是底层逻辑不同。比如路径,Unix 用/home/user,Windows 用C:\Users\xxx;环境变量,Unix 用export FOO=bar,Windows PowerShell 用$env:FOO="bar";PATH 拼接,Unix 用冒号,Windows 用分号。这些差异会让很多从 Mac 或 Linux 转过来的用户,在复制粘贴教程命令时直接翻车。
另一个容易忽略的是管理员权限。Windows 的 UAC 机制下,管理员终端和普通终端拿到的访问令牌不同,某些程序在管理员环境下创建的共享资源,普通环境下根本连不上。后面要讲的 daemon 启动报错,本质就是权限令牌不一致。
还有一个坑是 PowerShell 的执行策略。默认情况下,PowerShell 可能禁止运行脚本,导致你跑setup.ps1之类文件时直接报错。遇到这种情况,先别急着怀疑 OpenClaw,试试看能不能运行一条普通脚本,再决定是不是执行策略的问题。可以说,Windows 下的大多数“指令不存在”“启动失败”,都是环境问题而不是 OpenClaw 本身的问题。
2. 安装与启动阶段必用指令:先把环境跑起来
2.1 检查前置环境:先确认三件套
在安装 OpenClaw 之前,我强烈建议先确认三样东西:Python、Node.js、Git。OpenClaw 的安装器和若干技能插件依赖这些基础运行时,缺一个都可能让你在后续步骤里莫名失败。
打开 PowerShell,依次执行:
python --version node --version git --version如果某个命令提示“不是内部或外部命令”,说明对应软件不在 PATH 里,先重新安装或手动加入环境变量。Windows 下比较省事的安装方式是:
winget install Python.Python.3.12 winget install OpenJS.NodeJS.LTS winget install Git.Git安装完成之后重新开一个终端,再检查一次版本。记住,新开的终端才会刷新环境变量。版本方面,建议 Python 3.10 以上,Node 18 以上;太老的版本会导致 OpenClaw 某些依赖装不上。
2.2 安装 OpenClaw 并启动
以当前社区最常见的做法为例,OpenClaw 一般通过 npm 全局安装:
npm install -g @openclaw/cli如果你是从源码或 Python 发行版安装,也可能是pip install openclaw,具体以你下载版本的官方文档为准。安装完成后,先看版本:
openclaw --version能输出版本号,说明命令已经进入 PATH,否则检查 npm 全局安装目录是否在 PATH 里。
接下来初始化配置:
openclaw init这个命令会在你的用户目录下生成.openclaw配置文件夹,里面包含配置文件、日志目录、技能目录等。初始化完成后,启动交互模式:
openclaw chat如果一切正常,你会进入一个可输入的对话界面。如果你想让它作为后台服务常驻,可以运行openclaw start。这里有一个 Windows 专属禁忌:不要在管理员终端里启动 daemon。原因在权限令牌差异,后面排查部分会细讲。
2.3 启动日志与验证
启动失败时,不要只看终端最后一行错误,因为错误链路往往在前面几行。OpenClaw 的日志默认写在%USERPROFILE%\.openclaw\logs下,文件名通常按日期命名。在 PowerShell 里可以直接:
Get-ChildItem "$env:USERPROFILE\.openclaw\logs" Get-Content "$env:USERPROFILE\.openclaw\logs\latest.log" -Tail 50排查效率最高的方式是找日志里的ERROR或FATAL关键字。另外,很多版本内置了诊断命令:
openclaw doctor它会检查环境变量、依赖版本、配置目录、网络连接等项目,输出结果里带✘的项就是问题所在。Windows 下最常见的输出结果就是PATH缺少某个目录,或者 Node 版本太低,按提示修完基本能继续。
启动成功的标志是:交互界面出现一个可以输入文本的提示符,通常显示为类似claw>的样式;如果你启动的是openclaw start,终端会输出 daemon 已启动监听的端口或 socket 信息。此时你已经完成了“从零到能跑”的过程,剩下的就是掌握日常指令。
3. 日常会话与任务操作指令全解析
3.1 会话内斜杠指令速查
进入openclaw chat交互模式后,所有以/开头的都是 OpenClaw 内置指令。这些指令负责管理会话、切换模型、调用技能、退出程序,是最常用的一类。
下表是我实测下来最常见的一组斜杠指令,不同版本名称可能略有差异,以/help输出为准:
| 指令 | 作用 | 使用示例 |
|---|---|---|
/help | 列出当前环境所有可用指令 | /help |
/new | 开启新会话,清空历史上下文 | /new |
/clear | 清空当前会话上下文,但不退出 | /clear |
/model | 查看或切换当前模型 | /model ollama/llama3 |
/skill | 查看已安装技能列表 | /skill list |
/task | 提交一个任务给 OpenClaw 执行 | /task 统计目录文件 |
/save | 保存当前会话到本地 | /save |
/exit | 退出交互模式 | /exit |
斜杠指令的作用范围是“当前会话”,不会修改系统配置。也就是说你/model切换模型,只影响这一次对话;下次启动还是默认模型。想要永久修改,需要用配置文件或openclaw config命令。
3.2 自然语言任务与文件操作
OpenClaw 的核心操作不一定是“指令”,而是自然语言。你完全可以不敲任何斜杠命令,直接输入一句类似“把当前目录下所有 .log 文件压缩成一个 zip”,它就会调内置技能去执行。这一点和搜索引擎或普通聊天机器人很不一样,更像是在给一个实习生布置任务。
不过自然语言越模糊,出错概率越大。建议把任务拆成“谁、对什么、做什么、输出到哪”四要素。比如“读取 D:\data 下的 sales.csv,按日期排序后生成 report.md,放在 D:\output”。任务中涉及文件路径时,Windows 路径里建议用正斜杠或双反斜杠,避免转义问题。你可以在交互界面里直接贴 Windows 路径,它通常能识别,但如果你发现路径被错误拆分,就手动改成D:/data/sales.csv这种写法。
如果你需要一次执行多条固定任务,又不想到交互界面手敲,可以用:
openclaw run "读取 D:\tasks\daily.md 并逐条执行"这样 OpenClaw 会以一次性任务模式启动,执行完自动退出,非常适合写进脚本。
3.3 模型切换与上下文管理
长时间对话后,OpenClaw 会“忘记”前面的内容,本质是上下文窗口满了。这时候用/clear清掉旧上下文,或者用/compact压缩上下文(如果你的版本支持)。很多人一遇到回答变笨就换模型,其实先把历史上下文清掉,很多问题会解决。
切换模型的指令通常有两种形式:在交互界面输入/model加模型名称;在外部命令行用:
openclaw config set model ollama/llama3模型名称的写法取决于接入方式。接入远程 API 时,模型名一般就是文档里的模型 ID;接入本地 Ollama 时,一般是ollama/模型名,比如ollama/llama3或ollama/qwen2.5。
查看当前模型用/model,不带参数时通常显示当前配置。如果你不确定有哪些模型可用,可以先运行ollama list查看本地已下载列表,或者在/model后面加--help看提示。实际用下来,本地小模型在 Windows 上更适合做日常文本处理,复杂逻辑和长文档还是交给云端大模型更稳。
4. 进阶操作:自动化、API 接入与本地模型调度
4.1 一次性执行与 Windows 计划任务
OpenClaw 真正方便的地方是能对接 Windows 自带的任务计划程序,实现无人值守。先准备一个任务文件,比如D:\tasks\daily.md,内容写清楚每天要做什么。然后在 PowerShell 里执行:
openclaw run --file D:\tasks\daily.md --output D:\tasks\result.md这样 OpenClaw 会把执行结果写入指定文件。想让这个任务每天早上 9 点自动跑,可以用 Windows 计划任务:
schtasks /create /tn "OpenClawDaily" /tr "cmd /c openclaw run --file D:\tasks\daily.md --output D:\tasks\result.md" /sc daily /st 09:00如果openclaw不在系统 PATH 中,计划任务可能找不到命令。解决办法是在/tr里写完整路径,比如:
"C:\Users\你的用户名\AppData\Roaming\npm\openclaw.cmd"注意路径里的空格,如果路径包含空格,需要用两个引号包住。写计划任务时,建议先用手动执行确认命令能跑通,再加到计划任务里,否则排错会很痛苦。
4.2 API Key 与模型接入配置
OpenClaw 本身不生产算力,支持本地模型和远程 API 两种算力来源。很多人以为“只能用接入 API 的方式使用算力”,其实不是,本地模型同样可以。区别在于:本地模型免费、隐私好,但响应速度和复杂任务处理能力受限于你的显卡和内存;远程 API 效果稳定、不用自己准备硬件,但需要申请密钥并消耗额度。
配置 API Key 的常见方式:
openclaw config set OPENAI_API_KEY sk-xxx openclaw config set model gpt-4o也可以直接编辑配置文件%USERPROFILE%\.openclaw\config.json,但要小心文件格式,JSON 里逗号写错会导致启动失败。如果你使用 Ollama 本地模型,接入方式通常是:
ollama pull llama3 openclaw config set model ollama/llama3基本思路是:先在 Ollama 里把模型拉下来,再告诉 OpenClaw 用哪个模型名。这样以后在 OpenClaw 里提问,请求会发到本地 Ollama 服务,不消耗远程额度。
4.3 知识库联动与技能管理
如果你想把 OpenClaw 变成私人知识库问答助手,最常打交道的指令是技能管理。OpenClaw 的技能(Skill)可以理解为插件,通过安装技能,它就能获得处理 PDF、操作 Excel、抓取网页、调用搜索引擎等能力。
常用指令:
openclaw skill list openclaw skill install 技能名称或仓库地址 openclaw skill enable 技能名称 openclaw skill disable 技能名称技能安装后通常也会出现在.openclaw\skills目录下。如果你想自己写一个简单技能,可以直接在该目录下新建文件夹,放一个SKILL.md描述文件,里面写清楚技能名称、触发条件、执行步骤。写技能的时候记住:Windows 环境里脚本执行路径要写绝对路径,避免相对路径在不同工作目录下失效。
知识库联动一般流程是:把文档放到D:\knowledge,让 OpenClaw 读取并建立索引。如果你的版本内置了 RAG 技能,那么你只需要在配置里指定知识库路径,然后在对话里问“根据知识库里的内容回答 XXX”。如果版本没有内置,也可以把它拆成一个任务:让 OpenClaw 读取目录下的所有文本,总结后保存在知识库目录。引入外部服务时,注意开放 Windows 防火墙端口,否则局域网内其他设备访问不到。
5. Windows 专属坑位与排查实录
5.1 daemon 启动报错与权限问题
Windows 下最容易遇到的一个错误提示是:
error: start the windows daemon from a non-elevated terminal; shared clients这个报错出现过很多次,原因是 OpenClaw 的 daemon 使用命名管道或共享内存与客户端通信。如果你从管理员终端启动 daemon,进程权限级别过高,普通权限的客户端无法访问它创建的资源,相互之间就“看不见”了。
解决方法很简单:保证启动 daemon 的终端和调用客户端的终端权限一致,而且都不要“以管理员身份运行”。如果你已经在管理员终端里启动了,先把所有 OpenClaw 相关进程结束:
taskkill /F /IM openclaw.exe然后关闭当前管理员终端,重新打开普通 PowerShell 或 Windows Terminal,再执行:
openclaw start还有一个类似问题:从 IDE 内置终端里启动 OpenClaw,也可能因为 IDE 以管理员身份运行而踩坑。建议统一用普通终端的 Tab 来操作,不要混杂。
5.2 路径、编码与环境变量
Windows 路径常带空格,比如C:\Program Files\xxx。如果你在命令行里直接写:
openclaw run --file C:\Program Files\data\task.md多半会报错,因为它会把C:\Program当路径,Files\data\task.md当参数。PowerShell 里的解决办法是使用&调用运算符:
& "C:\Program Files\OpenClaw\openclaw.exe" run --file "C:\Program Files\data\task.md"但更省心的做法是把 OpenClaw 安装到一个无空格的目录,例如D:\Tools\OpenClaw,避免路径解析问题。
中文乱码是另一个 Windows 高频问题。如果终端输出中文变成????,先执行:
chcp 65001或者直接改用 Windows Terminal,它默认 UTF-8,问题会少很多。还有环境变量持久化,临时设置用$env:OPENCLAW_HOME="D:\openclaw",永久设置用setx OPENCLAW_HOME "D:\openclaw"。注意setx不会影响当前终端,必须开新窗口才会生效。
5.3 卸载与清理残留
卸载 OpenClaw 不只是“删除安装目录”那么简单。如果通过 npm 安装,执行:
npm uninstall -g @openclaw/cli如果是 pip 安装,执行:
pip uninstall openclaw卸载后建议手动删除配置目录,否则重装时旧配置可能让你误以为没卸载干净:
Remove-Item -Recurse -Force "$env:USERPROFILE\.openclaw"再用openclaw --version确认命令已经不存在。如果还存在,检查 PATH 里是否残留旧路径,手动清除即可。卸载前如果有些任务还在跑,先openclaw stop或结束进程,避免配置文件被占用。
5.4 常见问题速查表
下面是我在实际使用中整理的高频问题表,对照着排错效率最高:
| 问题现象 | 常见原因 | 处理方式 |
|---|---|---|
openclaw不是内部或外部命令 | PATH 没配置,或安装失败 | 重新安装,确认 npm 全局目录在 PATH |
| daemon 启动报 shared clients 错误 | 从管理员终端启动 | 关掉所有实例,用普通终端启动 |
| 中文输出乱码 | 终端编码不是 UTF-8 | chcp 65001,或用 Windows Terminal |
| API 端口被占用 | 其他程序占用了同一端口 | netstat -ano | findstr :3869,再taskkill /PID xxx /F |
| 模型一直超时 | API Key 配置错误或网络不通 | openclaw config get检查配置,确认模型名正确 |
| 修改配置后不生效 | 配置缓存或格式错误 | 检查config.json格式,重启 OpenClaw |
端口占用是一个容易被忽视的点。OpenClaw 启动 API 服务后,如果你不确定端口是多少,用openclaw config get port查看;找到占用进程后,用tasklist确认是不是必要的服务,再决定是否结束。不要盲目 kill 系统进程。
5.5 我的 Windows 实操习惯
最后分享一个我自己的固定习惯。每次在 Windows 上装完 OpenClaw,我不会急着跑复杂任务,而是先干三件事:第一,用openclaw doctor做一次体检,把环境类问题消灭在最初;第二,进交互界面,敲一次/help,把当前版本的指令列表存成一个文本文件,放到配置目录里,以后忘记时直接查看;第三,跑一个最简单的任务,比如“帮我在当前目录生成一个 hello.txt”,验证整套链路是否通畅。这套流程看起来很基础,但能省掉之后大量莫名其妙的排查时间。
如果你打算把 OpenClaw 长期用在 Windows 上做自动化,我更建议把它和 PowerShell 脚本组合使用。比如把常用任务封装成.ps1脚本,内部调用openclaw run --file,再用计划任务调度。这样你不需要每次都手动打开交互界面,日常维护也只是查看日志和结果文件。遇到问题先看日志,再动配置,基本能解决大多数 Windows 下的疑难杂症。