1. 先把OpenClaw是什么讲清楚,再谈Windows安装
最近好几个群里都在讨论OpenClaw,这项目我其实从它还很粗糙的时候就在用了。简单来说,OpenClaw是一个开源、本地优先的AI Agent编排平台:你把模型接进来,不管是云端API还是本地Ollama,它负责调度、执行和扩展,最后通过一个叫Companion的组件把Windows电脑变成Agent的“手脚”。这篇文章就是我从零开始在Windows上安装OpenClaw、配置模型、接上Companion,再到踩坑修复的完整记录,给想在Windows上跑一个真正能用的本地Agent的朋友做参考。
先说个挺常见的误解:很多人把OpenClaw当成又一个“终端里的AI助手”,类似Codex或Claude Code那样,只会在命令行里写代码。实际上它的定位更接近一个“Agent运行平台”,模型只是大脑,真正值钱的是它外面的那套生态——技能包(Skills)、系统动作(通过Companion调用Windows原生能力)、多客户端共享同一个后台服务。你可以简单理解成:模型负责思考,OpenClaw负责把想法翻译成对电脑的操作指令,Companion负责真正把手伸进Windows系统里干活。
什么人适合装它?我觉得至少三类:
- 手上同时有多个模型来源(比如公司API、本地Ollama、各类云厂商),想统一接入、统一管理的人;
- 想让AI帮忙操作Windows本地软件、整理文件、跑维护脚本,而不是只会在终端里写代码的人;
- 想基于现有模型搭私有知识库问答、定时自动化任务,又不想依赖某个闭源平台的人。
至于网上讨论的“WorkBuddy这类产品是不是参考了OpenClaw才搞出来的”,这个我没法下定论,但OpenClaw的“模型与执行解耦”“技能包机制”“本地优先”这几个思路确实影响了不少后来的Agent产品。你要是把它的设计逻辑吃透了,再看其他同类工具都会觉得眼熟。
2. 安装前的环境准备:最容易翻车的不是安装本身
很多人在Windows上装OpenClaw失败,其实不是命令打错,而是环境压根没准备好。这里把最容易忽略的三个点先说透。
2.1 “非管理员终端”是硬性要求,不是建议
这是Windows下最容易踩的第一个坑。OpenClaw的Windows后台服务(daemon)要求从非提权(non-elevated)终端启动。什么叫非提权?就是你打开PowerShell或者Windows Terminal时,标题栏没有“管理员”字样,用户账户控制(UAC)没有弹出那种蓝色盾牌提示。
为什么这么设计?核心原因是Windows的权限模型和Linux不一样。以管理员身份启动的进程会拿到一个高权限令牌,它创建的管道、socket、临时文件的访问控制列表(ACL)也是按高权限进程来算的。当普通权限的客户端(比如你的Companion、手机App、另一个终端窗口)去连接这个daemon的时候,会因为令牌级别不匹配被拒掉。简单类比:管理员启动的服务相当于把门锁换成了“只有管理员钥匙能开”,普通客户端拿着普通钥匙自然打不开。
我之前就是因为习惯了“装什么都要右键管理员运行”,结果daemon确实起来了,但Companion死活连不上,报错信息一直在提示和终端提权状态有关。后来把服务停掉,在普通终端里重新启动,问题立刻消失。所以请记住:启动Windows守护进程时,用普通终端,不要用管理员终端。
2.2 算力从哪来:本地Ollama和云端API可以都接
有个朋友问过我:“OpenClaw是不是只能用接入API的方式调用算力?”答案是否定的。它支持两类模型来源,完全可以混用:
| 模型来源 | 优点 | 需要注意的点 |
|---|---|---|
| 本地Ollama | 数据不出机器、无额外费用、离线可用 | 需要一定的显存/内存,模型越大越吃配置 |
| 各大厂商API | 模型能力强、无需本地硬件 | 按量计费、数据会出本机、需要API Key |
| OpenAI兼容网关(如各类本地推理框架) | 统一接口、可对接私有化部署 | 网关稳定性取决于你部署的服务本身 |
我实际使用中是把它们混着用的:日常对话和文档处理走本地Ollama,复杂代码生成、长上下文任务走云端API。OpenClaw的配置层面支持不同任务路由到不同模型,这个稍后会详细讲。所以“只能用API方式”的说法不准确,本地模型反而是它很推荐的场景。
2.3 系统与基础软件检查清单
以我实际安装的版本为例,建议按下面清单确认环境:
- Windows 10 22H2或Windows 11均可,64位系统;
- Windows Terminal加PowerShell 7或更高版本,原生的Windows PowerShell 5.1也能跑,但有些脚本语法兼容性差,不建议;
- 安装好Git,很多安装脚本和技能包都要从仓库拉取;
- 如果走源码安装,需要Node.js 18+或Python 3.10+,具体看官方推荐的安装方式;
- 如果要用本地模型,提前装好Ollama,并拉取至少一个模型,比如qwen2.5或llama3.1系列。
检查命令很简单,PowerShell里依次跑:
winget --version git --version node --version ollama --version哪个提示“不是内部或外部命令”,就先把它装上。安装OpenClaw之前先把这些基础软件搞定,能省掉后面90%的奇怪报错。
3. Windows安装实操:两条路径与安装验证
OpenClaw在Windows上的安装方式主要有两种,我建议先试一键脚本,不行再手动装。下面分别说。
3.1 路径一:官方安装脚本一键安装
官方推荐的Windows安装方式是通过命令行脚本。大致流程是打开普通权限的PowerShell,执行对应平台的安装命令,脚本会自动下载最新构建、解压到用户目录、写入PATH环境变量,并且在可选的情况下注册为当前用户的后台服务。
以我用过的版本为准,脚本装完以后二进制会放在类似%USERPROFILE%\.openclaw\bin的目录里,同时配置目录在%USERPROFILE%\.openclaw\下。这里有个细节:脚本默认不会自动创建开机自启任务,如果你希望每次开机daemon自动运行,需要额外手动添加计划任务或者把启动命令放进启动文件夹,后面会说到。
装完以后新开一个终端,输入:
openclaw --version如果能输出版本号,说明核心程序安装OK。如果提示找不到命令,检查一下用户PATH环境变量里有没有加%USERPROFILE%\.openclaw\bin,没加就手动加上。
3.2 路径二:手动下载或从源码构建
想自己掌控版本,或者脚本方式装不了,可以选择手动方式。去项目的GitHub Releases页面下载Windows对应的压缩包,解压到你想放的目录,比如D:\Tools\OpenClaw,然后把目录加入PATH即可。
从源码构建更麻烦,需要在Windows上准备完整的构建链,说实话对日常使用没必要,除非你要二次开发。我的建议是能用Release包就用Release包,省时省力。
3.3 装完怎么确认后台服务正常
安装完成后先不要急着配置模型,先确认daemon能正常起来。在普通权限的终端里执行:
openclaw daemon start注意我这里强调“普通权限”,原因前面已经说过。启动后执行:
openclaw daemon status看到类似“running”的输出就说明服务起来了。如果你机器上有防火墙软件或安全软件拦截,允许它监听本地回环地址就行。另外,daemon默认会监听一个本地端口,具体端口号在后续配置文件里能改。
我第一次装的时候卡在这步很久,daemon start提示成功但status却是“stopped”,最后发现是系统里另一个软件占用了默认端口。排查方法很简单,用:
netstat -ano | findstr "端口号"看哪个进程占着,换端口或者结束占用进程就行。
4. 初始化配置:告诉OpenClaw该用哪个模型
daemon跑起来之后,接下来要做的是初始化配置目录,然后把模型接进来。这一步做完,OpenClaw才算是“有脑子的”。
4.1 首次初始化与配置目录结构
执行:
openclaw init这个命令会自动创建配置目录和默认配置文件,还会生成一个基础的workspace工作目录,后续Agent执行任务、读写文件都在这个目录下进行,算是一个“安全沙盒”。这么做的好处是避免Agent乱翻你整个磁盘。
初始化之后打开%USERPROFILE%\.openclaw\config.yaml,你会看到一个带注释的模板。不同版本模板略有差异,但核心字段通常包括:模型提供方(providers)、默认模型(model)、监听端口、日志级别、技能包目录等。
4.2 配置模型Provider:YAML与环境变量两种方式
模型来源的配置有两种方式:一种是直接改YAML,另一种是通过环境变量。我更推荐环境变量来存敏感信息,比如API Key。
在配置文件里,Provider大致是这种结构(以我的实例为例,实际字段名以你版本为准):
providers: ollama: base_url: http://localhost:11434 default_model: qwen2.5:14b openai_compatible: base_url: https://api.example.com/v1 api_key_env: OPENCLAW_API_KEY default_model: gpt-4o然后到系统环境变量里加一个OPENCLAW_API_KEY,填入你的密钥。YAML里只引用环境变量名,不要把真实Key写进配置文件,这样即使配置文件被误分享也不会泄露密钥。
改完配置后重启daemon:
openclaw daemon restart4.3 本地Ollama接入实录
接本地Ollama是最常见的使用方式。先确认Ollama已经运行:
ollama list如果列表为空,先拉一个模型,比如:
ollama pull qwen2.5:14b模型大小建议根据你的内存和显存决定。我实测下来,7B级别的模型做简单问答和工具调用够用,但复杂任务容易出错;14B以上明显更稳定。如果你要跑严肃的自动化任务,至少上14B。
拉好模型后在OpenClaw配置里把默认模型指向qwen2.5:14b,重启daemon,然后可以做一个最简单的联通测试:
openclaw chat "你好,用一句话介绍你自己"能收到回复,说明模型链路已经通了。如果报连不上Ollama,先检查http://localhost:11434在浏览器里能不能打开,不能的话多半是Ollama服务没启动。
5. Windows Companion与共享客户端:让Agent真正操作电脑
模型接通后,OpenClaw还只是个“能聊天的终端”,真正让它值钱的是能操作Windows系统的能力,这部分要靠Companion来实现。
5.1 Companion是什么,解决什么问题
Companion可以理解为OpenClaw在Windows上的“执行代理”。它作为一个独立组件运行,拥有调用Windows原生功能的权限:启动和操作GUI程序、读写剪贴板、执行PowerShell命令、操作文件系统、截图等。
为什么要单独拆一个Companion出来而不是让daemon直接干这些事?这其实是安全设计。daemon负责通信和调度,权限相对受限;Companion才持有执行系统操作的高权限。两者分离后,你可以只允许特定客户端调用敏感操作,并且每个操作都能在日志里追踪。对安全敏感的用户来说,这个边界很重要。
5.2 配置Companion的完整过程
配置步骤大致如下:
- 安装Companion组件。通过OpenClaw命令安装,安装完成后它会注册为一个Windows服务或者以当前用户的进程方式运行。
- 生成配对令牌。首次启动Companion时会生成一个临时配对码或令牌文件,客户端需要用它完成认证。
- 在OpenClaw的配置里启用Windows自动化能力,把Companion地址和令牌填进去。
- 重启daemon,执行一个测试任务,比如让Agent创建一个测试文件,或者打开记事本。
我这里给一个实际测试示例,让Agent执行PowerShell指令:
openclaw task "在桌面上创建一个 hello.txt,内容是 testing companion"如果Companion配置正常,你会在桌面上看到生成的hello.txt。如果没有任何反应,先看daemon日志,大概率是令牌不匹配或者终端提权问题。
5.3 共享客户端模式说明
OpenClaw支持多个客户端同时连接同一个daemon,这个模式叫shared clients。比如你的电脑上跑着daemon,手机端、Companion、另一个终端窗口都能连上来,同时发起任务。
这引出了前面反复强调的“非管理员终端”要求。在shared clients模式下,多个客户端可能运行在不同权限级别下。如果daemon以管理员权限启动,那么普通权限客户端的连接会被Windows安全机制挡在外面,表现就是连不上、报错、任务无响应。我在网上也看到过类似的报错信息,例如“start the windows daemon from a non-elevated terminal”,其实就是这个原因。解决办法很简单:完全退出daemon,打开一个普通的、非管理员的PowerShell,重新openclaw daemon start。
6. 常用操作、技能包扩展与本地知识库
到这一步,OpenClaw已经能跑、能连模型、能操作Windows了。接下来讲讲日常怎么用它,以及怎么让它越来越“懂事”。
6.1 常用命令速查
以我的使用经验,日常最常用的命令就这几个:
| 命令 | 作用 |
|---|---|
openclaw chat "你的问题" | 直接对话 |
openclaw task "描述任务" | 让Agent执行多步任务 |
openclaw config get/set 键 值 | 查看/修改配置项 |
openclaw skill list | 查看已安装的技能包 |
openclaw skill install 仓库地址 | 安装社区技能包 |
openclaw daemon logs | 查看后台日志,排查问题首选 |
openclaw daemon restart | 改完配置后重启服务 |
新手最容易忽略的是openclaw daemon logs。遇到任何诡异问题,第一反应应该是看日志而不是瞎猜。日志里会明确告诉你哪一步失败、为什么失败。
6.2 给Agent装“技能”:Skills机制
Skills是OpenClaw最有特色的设计之一。简单说,每个技能是一组预定义好的提示词、脚本和权限描述,告诉Agent“遇到这类任务时,应该按照什么流程做,并且可以用哪些工具”。相当于给Agent发了一本操作手册。
技能包通常是一个个目录,包含描述文件(YAML格式,说明技能的适用场景)、提示词模板、以及可执行的脚本。安装一个技能包后,Agent在遇到对应场景时会自动调用。
举个例子,我装了一个“整理下载目录”的技能,它的描述大致是:扫描下载目录、按文件类型分类、移动到对应子文件夹、生成整理报告。装完之后,我只需要对OpenClaw说“整理一下我的下载文件夹”,它就会按照技能包的步骤执行,而不是自己凭空发挥。
这里有个经验:技能包的质量取决于脚本的健壮性,社区技能包装好后建议先在小范围试跑,确认没问题再放开给Agent用。尤其是涉及文件移动、删除的技能,一定要先看脚本内容,别盲目信任。
6.3 实际跑一遍:文档问答与本地知识库
很多用户装OpenClaw是想搭一个本地知识库问答。这个场景在Windows上完全可以实现。思路是:用Agent读取workspace或指定目录下的文档,调用本地模型做向量化和检索,再通过OpenClaw对话接口回答问题。
实际跑一轮大概是这个流程:
- 把文档放进workspace,或者为Agent指定一个可读目录;
- 通过对话告诉Agent“把
D:\docs下的文档都读一遍,之后内容相关问题都基于这些文档回答”; - Agent会执行读取、切片、建立索引;
- 之后你问任何问题,它都会先检索再回答,并标注信息来源。
我实测下来,本地模型做知识库问答的效果能接受,但检索质量很大程度取决于文档格式规整程度。PDF扫描件、复杂表格这些,本地小模型处理起来比较吃力,建议先用工具把PDF转成纯文本或Markdown再喂给它。这一步预处理比后面任何调参都重要。
7. 高频踩坑排查记录:Windows上翻车的几个典型场景
最后把我踩过的坑集中整理一遍。这些问题在Windows上特别典型,放到一起来说,方便你对号入座。
7.1 提权终端导致daemon与客户端连接失败
这是Windows用户最常遇到的问题,前面已经反复提过。完整的故障链路是这样的:你习惯性右键“以管理员身份运行”PowerShell,然后执行openclaw daemon start,daemon看似正常启动。接着你用普通终端运行客户端,或者启动Companion,发现连接被拒,日志或界面上出现和终端提权状态相关的报错。
排查思路:先看daemon日志,确认daemon是不是真的起来了;再用openclaw daemon stop彻底停止;最后打开一个非管理员终端,执行openclaw daemon start。我遇到的情况是,问题在重启后立刻消失,不需要改任何配置。
7.2 端口占用与启动失败
Windows上端口被占用是很常见的。如果openclaw daemon start后立刻退出,或者status一直是stopped,优先怀疑端口冲突。
排查命令:
netstat -ano | findstr "LISTENING" | findstr "端口号"findstr后面那串数字换成本机配置的端口。看到占用进程PID后,任务管理器里查一下是哪个程序。如果是无害的程序,直接结束进程;如果是系统服务,就修改OpenClaw配置里的监听端口再重启。
7.3 杀毒软件和Defender拦截
Windows Defender或第三方杀软对这类常驻后台、能执行系统操作的Agent工具通常很敏感。我第一次装完,Defender直接把Companion的可执行文件隔离了,表现是Companion服务起不来,日志里没有任何明确错误。
解决办法:把OpenClaw的安装目录和配置目录加入Defender的排除项,同时检查“受控文件夹访问”功能,别让它拦截Agent的写文件操作。如果你用的是第三方杀软,规则更严,必要时在安装和首次配置阶段临时关闭实时防护,配好后再打开。
7.4 卸载干净的正确姿势
想卸载OpenClaw,不能只删安装目录。按这个顺序做才能卸干净:
- 停止并删除daemon服务,执行
openclaw daemon stop,再找到服务管理里对应的条目删除; - 停止Companion进程;
- 删除安装目录(比如
%USERPROFILE%\.openclaw\bin); - 删除配置目录
%USERPROFILE%\.openclaw,里面包括日志、技能包和workspace数据,删了不可恢复,先确认没有你要保留的东西; - 清理PATH环境变量里OpenClaw相关条目;
- 如果装过计划任务自启项,一并删除。
按这个流程卸完,系统里基本不会有残留。
最后说点我个人的实操体会。前面提到端口占用的问题,我后来养成了一个习惯:所有常驻类工具装完第一件事,就是把监听端口和进程列表记到一个笔记里,排查问题的时候直接对照。另外,OpenClaw这类Agent工具的日志一定要养成习惯看,它不像普通软件那样报错弹窗,很多问题都沉默地发生在日志里。配好一个可复用的技能包之后记得备份,Windows重装系统后直接拷贝回去就能恢复,不用重新调一遍。