Windows下用OpenClaw,最怕的不是功能不够,而是打开终端之后不知道敲什么。我见过不少人装好了OpenClaw,结果卡在第一句指令上,翻遍官方文档也找不到一份顺手的命令速查。这篇文章就把我在Windows上实际用过、验证过的OpenClaw操作指令整理出来,从安装到日常使用、从模型接入到技能配置,一条条说清楚。给那些刚接触OpenClaw、想在Windows环境下把它跑起来的人一份可以直接抄的作业。
1. 为什么要在Windows上跑OpenClaw:先搞清楚它解决什么问题
1.1 OpenClaw到底是什么:一个自带工具链的AI代理
先说人话:OpenClaw是一个本地部署的AI代理框架,你给它一个任务指令,它会自己调用本地工具、操作文件、执行代码、调用模型,最后把结果整理给你。跟单纯打开ChatGPT聊天不一样,OpenClaw的核心价值是“动手干活”,比如让它扫描一个文件夹、批量改文件名、读取网页内容、查数据库、写脚本并运行,这些事它能自主完成。
Windows用户选择OpenClaw,通常是三个原因。第一,数据敏感,不想把业务资料传到云端API,需要本地模型兜底;第二,想在Windows自动化脚本和AI能力之间搭一座桥;第三,做ROS2机器人开发(就是热词里那个rosclaw),需要一套能在Windows下调试、在Linux下部署的代理工具链。OpenClaw在Windows下的操作指令,本质上就是围绕“给代理派活”“管理会话”“配置模型”“加载技能”这几件事展开的。
1.2 Windows环境下安装OpenClaw的前置条件
在敲任何操作指令之前,先把环境准备好。OpenClaw本质上是Python生态里的东西,Windows下最常见的安装方式是走conda或venv,不建议直接往系统Python里塞,否则依赖冲突会让你后面每条指令都报错。
我的建议是创建一个独立虚拟环境,Python版本3.10到3.12之间比较好。版本太新反而容易碰上某些依赖还没适配Windows的情况。安装本身不算麻烦,核心步骤是:
conda create -n openclaw python=3.11 -y conda activate openclaw pip install openclaw装完之后验证一下:
openclaw --version能看到版本号,说明基础环境OK。如果提示找不到命令,大概率是Python Scripts目录没进PATH,把虚拟环境的Scripts目录加到用户PATH里,或者直接用python -m openclaw的形式调用。
1.3 安装时最容易忽略的Windows依赖
有一类问题很隐蔽:OpenClaw某些技能(Skill)依赖系统级组件,比如MessagePack编解码、网络请求库的C扩展。在Windows上编译这些组件时,经常报error: Microsoft Visual C++ 14.0 is required。这不是OpenClaw的问题,是你缺Visual C++ Build Tools。去装一个“Visual Studio Build Tools”并勾选“使用C++的桌面开发”工作负载,就能解决绝大多数编译报错。
装完基础环境,下一步就是了解操作指令。我把日常使用频率最高的命令分成三类,按使用频率排列。
2. 高频操作指令清单:日常用得最多的那批命令
2.1 启动、退出与会话管理
OpenClaw在Windows下的入口是命令行工具,安装完成后敲openclaw就能进入交互式会话,看到类似claw>的提示符。不过我不太推荐直接裸启,因为默认配置会去连云端API,如果本地没配好Key,启动后第一次提问就报鉴权失败。
我惯用的启动方式是指定配置文件和模型后端:
openclaw --config D:\claw\my_config.yaml openclaw --model ollama:qwen2.5:7b--config用的是YAML配置文件,--model是临时指定模型,优先级比配置文件高。调试时期我都是用--model临时切换,确认哪个模型效果好再写进配置,省得反复改文件。
退出会话很简单,在claw>提示符下输入exit或者/quit。强制退出的快捷键是Ctrl+C按两次,但不推荐频繁这样用,容易让会话历史没来得及落盘。
跟启动同等重要的是状态查询。我在Windows上调试OpenClaw最常用的状态指令有三个:
openclaw status openclaw sessions list openclaw infostatus看后台服务是否在跑、内存占用多少;sessions list列出历史会话,每次任务的会话ID都在这里;info展示当前配置的模型、技能目录、数据存储路径。这三个指令能帮你快速定位“我这个环境到底是什么状态”。
2.2 任务提交与会话操作
在OpenClaw里,每条任务指令都是以自然语言形式发给代理,但有几个会话操作级的指令需要单独记。
| 指令 | 作用 | 使用频率 |
|---|---|---|
新任务: ...或/task ... | 开启一个独立任务,不延续历史上下文 | 极高 |
/continue | 继续上一个未完成的会话 | 高 |
/reset | 清空当前会话上下文,重新开始 | 极高 |
/history | 查看当前会话的历史记录 | 中 |
/rollback <session_id> | 回滚到指定会话节点 | 低 |
重点说/reset。OpenClaw会把上下文一直累积,跑了几轮任务之后上下文太长,会导致模型响应变慢、回答走偏。我的习惯是每完成一个独立事项就/reset一次,保持上下文干净。代价是后续任务不能引用前面对话的细节,所以跨步骤项目最好一个项目用一条连续会话。
交互界面里还有一个很实用的指令叫/mode,用来切换代理的自主程度。Windows下我一般用两种模式:/mode ask(每做一步先问你要不要继续)和/mode auto(全自动执行,直到任务结束或出错)。刚开始接触OpenClaw的人建议从ask模式起步,等熟悉了再切auto,不然它可能自作主张删文件、改配置,你连拦都拦不住。
2.3 文件与工作目录指令
OpenClaw不是只能聊天,它可以直接操作文件系统。在Windows下,它默认工作目录是你的用户目录,但你可以先用/cd切换目录,比如:
/cd D:\projects\data_clean切换之后,所有相对路径都基于这个目录。查看当前工作目录用/pwd,列出目录内容用/ls。这些指令和CMD里的用法基本一致,Windows用户上手没门槛。
真正重要的是“用自然语言让代理操作文件”,例如:
/task 把当前目录下所有后缀为.tmp的文件移动到 D:\backup\tmpOpenClaw会自己拼接路径、执行移动、返回结果清单。在执行这类操作之前,我强烈建议先开ask模式,让它每一步都报行动方案,确认无误后再放开。这不是多此一举,Windows的路径里有反斜杠、盘符、空格,自动拼接很容易出错,人工确认一遍能避免大量返工。
3. 指令背后的配置逻辑:模型接入与算力选择
3.1 API方式接入:配置文件字段与验证指令
OpenClaw本身不生产算力,它需要接一个模型后端。最省事的接入方式是API模式,把云端模型的Key填进配置文件,OpenClaw调API执行任务。Windows下配置文件常见路径是C:\Users\<用户名>\.openclaw\config.yaml,用openclaw config edit可以直接打开编辑。
一个典型的API配置长这样:
model: provider: anthropic name: claude-sonnet-4-20250514 api_key_env: ANTHROPIC_API_KEY max_tokens: 8192 temperature: 0.3api_key_env指定了从环境变量读取API Key,而不是直接写在配置里。Windows下设置用户环境变量用:
setx ANTHROPIC_API_KEY "sk-ant-xxxx"设置完重启终端才生效。验证配置是否正确,用这条指令:
openclaw test model它会发一条测试消息给模型,返回pong或者类似响应就说明通了。如果报超时、401、403,先检查环境变量是否真的写入、Key是否过期,再看是不是终端没有重启。
3.2 本地模型接入:Ollama挂载与资源控制
不想走API、想把算力放在本地的人,通常会配合Ollama来用,这也是热搜词里“ollama部署openclaw”频繁出现的原因。Windows下装Ollama之后,先确认本地模型列表:
ollama list比如你有一个qwen2.5:7b模型,OpenClaw侧连接Ollama的配置如下:
model: provider: ollama name: qwen2.5:7b base_url: http://127.0.0.1:11434 max_tokens: 4096改完配置,同样用openclaw test model验证。第一次调用会稍微慢一点,因为模型要加载进显存或内存。我在Windows上遇到最多的本地模型问题不是连不上,而是Ollama端口被占或者模型加载到一半显存不够导致崩溃。排查方式很简单,先ollama ps看模型是否在跑,再用ollama stop qwen2.5:7b把它停掉重试。
3.3 API与本地模型的分工策略:什么时候用哪个
这是一个经常被忽略的问题。我在实际使用中会把任务分两类:涉及敏感数据、需求稳定、格式化的任务,放本地模型跑;需要强推理、长文本理解、代码生成质量高的任务,放API跑。OpenClaw支持在不同会话间切换模型,方法是新开会话时指定--model参数,所以不必一棵树上吊死。
还有一点要提醒:本地模型跑复杂任务时会非常慢,7B模型在CPU上做长上下文推理,往往几分钟不出结果,这不一定是卡死。判断是“正在算”还是“死掉了”,看CPU占用率,还在持续波动说明在算,占用率掉到接近0且长时间没输出,才需要考虑中断任务Ctrl+C。调试AI代理类工具,耐心比技术更能救命。
4. 把指令串起来用:技能(Skill)、工作流(Workflow)与自动化
4.1 Skill机制:自定义技能包的目录结构与注册指令
OpenClaw真正的威力不在单条指令,而在技能(Skill)。一个Skill就是一组写好的提示词、脚本和工具封装,让代理在特定场景下直接调用,不需要你每次重复描述背景。
Windows下Skill目录一般在C:\Users\<用户名>\.openclaw\skills。每个Skill是一个子文件夹,里面必须有SKILL.md描述这个技能是干什么的、什么时候触发,还可以放辅助脚本。比如我写过一个“Excel清洗”技能,SKILL.md里写清楚触发条件和执行步骤,再配一个Python脚本处理特定格式的脏数据。
技能的安装指令是:
openclaw skill install <仓库地址或本地路径> openclaw skill listinstall支持Git仓库地址,也支持本地路径;list查看已安装技能。安装了新技能后需要新开一个会话才能生效,/skills指令可以在会话中手动启用某个技能。我在Windows下踩过的坑是路径中的中文和空格,Skill路径尽量全英文,否则代理拼接脚本路径时经常乱套。
4.2 工作流的写法:从单个任务到批量流程
当任务包含多个步骤时,我会用工作流(Workflow)把步骤固化下来。OpenClaw的工作流定义文件是YAML,指定一个任务序列,每一步可以调用不同的Skill或执行独立指令。
Windows下的一个典型工作流示例:
name: daily_data_clean steps: - name: fetch_files task: "扫描 /data/in 下所有 .csv 文件" - name: clean_data skill: excel_cleaner params: input_dir: "/data/in" output_dir: "/data/out" - name: gen_report task: "根据 /data/out 下的文件生成摘要报告"执行工作流用:
openclaw run workflow daily_data_clean这段配置会按顺序跑三个步骤,前一步完成才进入下一步。调工作流时,我习惯先跑单步调试,再整条串起来。单步调试可以用openclaw run step <workflow_name> <step_name>,只执行某一环节。这一步能省大量时间,因为工作流一旦中间挂掉,排查成本远高于单步执行。
4.3 定时任务与后台运行:Windows下的计划任务配合
OpenClaw本身不擅长定时触发,我都是配合Windows任务计划程序使用。思路是:把OpenClaw工作流执行命令写成一个批处理文件run_daily_clean.bat,然后让计划程序每天固定时间调用它。
批处理内容很简单:
@echo off call conda activate openclaw cd /d D:\claw_projects openclaw run workflow daily_data_clean >> logs\daily_clean.log 2>&1计划任务的触发器设在凌晨或低峰期,因为本地模型跑任务时CPU占用很高,白天跑会影响工作。日志重定向很重要,>> logs\daily_clean.log 2>&1把屏幕输出和错误信息都存下来,定时任务出问题时看日志是最快的定位方式。
5. Windows特有的坑:路径、权限与进程管理
5.1 路径分隔符与长路径问题
Windows和Linux路径习惯不同,OpenClaw内部很多工具是Linux生态出身,路径处理上经常闹别扭。我在Windows下总结了几条实用规则:
- 配置文件和指令里统一用正斜杠
/,比如D:/claw_projects/data,代理脚本解析不容易出错。 - 路径中不要带中文和空格。如果实在避免不了,在Skill脚本里用
pathlib而不是字符串拼接。 - Windows长路径超过260字符会导致OpenClaw读文件失败,需要在注册表里启用长路径支持,或者把项目目录建浅一点,比如
D:\claw\data而不是D:\Users\me\Documents\project_2025\data。
遇到FileNotFoundError但文件明明存在时,先检查是不是路径格式问题,不要急着怀疑权限。
5.2 终端启动方式与daemon权限问题:一条报错的完整排查链路
不少人在Windows上启动OpenClaw时见过这句话:
error: start the windows daemon from a non-elevated terminal; shared clients这条报错的字面意思是:不要在管理员权限终端里启动Windows daemon,因为共享客户端会受影响。我第一次遇到时没当回事,直接把终端关掉用管理员身份重开,结果报错依旧,而且后台多了一堆openclawd进程。
完整的排查链路是这样的。先用openclaw status看daemon状态,再用任务管理器确认是否有残留的openclawd进程。发现问题后,执行:
openclaw daemon stop taskkill /IM openclawd.exe /F然后重新开一个普通权限的终端(不要“以管理员身份运行”),先启动daemon再启动客户端:
openclaw daemon start openclaw之所以要求非提权终端,是因为OpenClaw的daemon会和多个客户端共享状态,管理员权限会让共享机制在某些Windows会话环境下失效。换句话说,这不是bug,是权限模型限制。以后凡是涉及daemon启动的,一律用普通终端就对了。
5.3 端口占用与残留进程清理
OpenClaw启动后会监听本地端口,比如默认的47823。如果你同时跑多个配置方案,经常遇到端口被前一个进程占用,新会话起不来。定位端口占用用Windows自带命令:
netstat -ano | findstr 47823 tasklist /FI "PID eq <pid>"确认是openclaw相关的进程后,用taskkill /PID <pid> /F结束。如果杀完端口还被占用,检查是不是有python进程托管了服务,可能是虚拟环境里的服务进程没退干净。
Windows下还有一个隐藏很深的坑:OpenClaw会把会话数据存在用户目录下,有时候旧会话文件损坏导致启动异常。排查到最后都正常但就是启动失败,可以备份后清空C:\Users\<用户名>\.openclaw\sessions目录,强制重置会话存储。删之前确认没有重要未导出的任务记录。
6. 从OpenClaw到场景联动:本地知识库、ROS2与更多可能
6.1 搭建本地知识库:OpenClaw作为读取与检索入口
热词里“搭建本地知识库”和“使用openclaw或者trae和codex调用”连在一起,说明很多人想把OpenClaw当本地知识库的问答入口。这里的关键是用OpenClaw调用外部知识库检索工具,比如向量数据库。Windows下我跑通的最简方案是:用Ollama跑embedding模型做向量化,用轻量级向量库存文档,再用OpenClaw的一个Skill封装“检索+问答”流程。
配置环节有一个核心参数,embedding模型和对话模型要分开设置:
embedding: provider: ollama name: nomic-embed-text base_url: http://127.0.0.1:11434如果embedding模型和对话模型混在一起配,检索出来的内容相关性会非常差,因为维度不对。这是一个很多人都会错的地方,值得记下来。
6.2 ROS2集成:rosclaw的基本联动思路
热词里的rosclaw openclaw ros2 humble gazebo代表另一类玩家,做机器人的朋友想用OpenClaw做机器人任务调度。Windows下直接跑ROS2本身就很折腾,更常见的是Windows上编辑调试OpenClaw流程、Linux机器人端执行。所以Windows下主要用OpenClaw做三件事:写ROS2 launch脚本模板、生成任务状态机配置、解析Gazebo仿真日志。
在Windows侧没有太多特殊指令,关键在于配置文件里指定工作目录指向ROS2项目文件所在路径,然后用/task让代理读.launch.py和package.xml并生成修改建议即可。这类跨平台场景,最忌在Windows直接尝试运行ROS2命令,因为路径和权限模型完全不同,跑起来全是泪。
6.3 卸载与迁移:彻底清理OpenClaw环境
“怎么卸载openclaw”也是热搜词,这个问题确实值得写完整。Windows下卸载OpenClaw不能只删文件夹,否则残留配置和daemon服务还会占着端口、开机自启。我习惯按这个顺序操作:
openclaw daemon stop openclaw config reset conda deactivate conda env remove -n openclaw -y然后手动删除C:\Users\<用户名>\.openclaw目录,再检查任务计划程序里是否有自己创建的定时任务一并删除。如果之前用过setx写环境变量,顺手清理掉相关变量。这样才算卸载干净。迁移到另一台Windows机器时,只需要把.openclaw目录打包带过去,重新装好Python环境后放到相同位置,即可继承全部配置和技能。
我在Windows下跑OpenClaw这段时间,最大的体会是:这个工具的操作指令并不复杂,真正需要积累的是对Windows环境特性和模型接入逻辑的理解。碰到问题不要急着找新指令,先把状态看清楚,再决定下一步敲什么。指令只是表达意图的语言,搞清楚它背后在做什么,Windows下的OpenClaw用起来其实很顺手。