OpenClaw Windows 安装全攻略:从环境准备到 Companion 实战
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 KeyOpenAI兼容网关如各类本地推理框架统一接口、可对接私有化部署网关稳定性取决于你部署的服务本身我实际使用中是把它们混着用的日常对话和文档处理走本地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 配置模型ProviderYAML与环境变量两种方式模型来源的配置有两种方式一种是直接改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写进配置文件这样即使配置文件被误分享也不会泄露密钥。改完配置后重启daemonopenclaw 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 startdaemon看似正常启动。接着你用普通终端运行客户端或者启动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重装系统后直接拷贝回去就能恢复不用重新调一遍。