说出来你可能不信,我是在一台普通得不能再普通的 Windows 办公本上,把 OpenClaw 跑起来的。没有 Mac mini,不懂代码,连命令行都用不利索。在此之前,我刷到的所有 AI 代理(Agent)教程几乎都有一个默认前提:你得有台 Mac。尤其是 OpenClaw 这种带网关、带 Skill、能操作文件系统的工具,讨论群里十个人有九个在用 Mac mini。剩下一个在用云服务器,还在报错。所以当我自己在 Win11 上把 OpenClaw 装好、启动、接通本地模型、让它帮我整理项目清单的那一刻,确实有点"逆袭"的快感。
这篇文章不是给极客看的,是给和我一样的普通用户看的。我会把完整过程写下来:为什么没有 Mac mini 也能装 OpenClaw,Windows 上到底需要准备什么,安装时会踩哪些坑、怎么排,以及装完之后怎么接入 Ollama 免费模型、接飞书、接 Obsidian。全程大白话,你可以直接照着操作。
1. 先搞清楚:OpenClaw 不是 Mac mini 的专属玩具
1.1 为什么全网教程都默认你有一台 Mac
我最初也以为 OpenClaw 只能在 macOS 上跑,因为在各个社区里刷到的开箱视频,清一色是 Mac mini 的桌面,旁边摆着扩展坞,屏幕上跑着终端。后来我才想明白,这个现象跟 OpenClaw 本身没关系,而是早期玩 AI Agent 的那批人恰好都是 Mac 用户。
Mac 的终端环境天生友好,Apple Silicon 芯片跑本地模型效率高,加上 Mac mini 相对便宜、静音、适合 24 小时挂机,所以它成了"AI 代理标配"。教程作者用 Mac 演示,观众自然以为只有 Mac 能玩。但 OpenClaw 底层是跨平台的运行时,官方也提供了 Windows 下的安装方式。只要你的 Windows 能跑 Docker,或者能跑 Node.js 环境,就有戏。
1.2 我的实际运行环境,真的很普通
先说清楚我的配置,免得你误以为我偷偷用了什么高端设备:
- 系统:Windows 11 专业版,64 位
- 电脑:一台 16GB 内存的办公本,没有独立显卡
- Docker:Docker Desktop,WSL2 后端
- 本地模型:Ollama,装的 qwen2.5:7b 这种小尺寸模型
- 目标:让 OpenClaw 在本地跑通,能连模型、能读写 Workspace 文件、能执行基本任务
整台机器最值钱的部分可能就是 16GB 内存,结果还被系统、Docker、Ollama、OpenClaw 四家分。所以你别怕配置低,关键是知道怎么省着用。
1.3 三条部署路线,我为什么选了 Docker
OpenClaw 在 Windows 上装,主要就三条路:
| 方案 | 适合人群 | 优点 | 缺点 |
|---|---|---|---|
| Docker 容器 | 愿意先花半小时装 Docker 的人 | 环境隔离干净、卸载方便、日志好查 | 需要理解容器概念,占磁盘空间 |
| PowerShell 脚本安装 | 想最快跑起来的人 | 一条命令搞定,原生进程 | PATH、权限问题多,卸载不干净 |
| 便携包/绿色版 | 不想装任何环境的人 | 解压即用 | 更新麻烦,网关和依赖容易缺 |
我自己先试了 PowerShell 安装,结果被 PATH 问题折磨了一晚上,第二天老老实实换回 Docker。Docker 最大好处是:所有依赖都打包在镜像里,不会把 Windows 系统搞得乱七八糟。而且 OpenClaw 的升级、回滚都方便,出问题直接把容器删了重建,五分钟恢复原样。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 安装之前最容易被忽略的三件事:WSL2、Docker 资源限制、数据目录
2.1 WSL2 不是可选项,是硬前提
如果你决定走 Docker 路线,那 WSL2 就是绕不开的一步。OpenClaw 的官方镜像是 Linux 容器,Docker Desktop 在 Windows 上有两种运行模式:Windows 容器模式和 WSL2 后端。默认推荐的是 WSL2 后端,因为性能好、兼容 Linux 镜像。
怎么确认你的电脑已经开启 WSL2?打开 PowerShell 输入:
powershell复制wsl --status
如果提示没有安装发行版,先执行:
powershell复制wsl --install
装完重启电脑。这里有个坑:wsl --install 之后,Docker Desktop 可能还识别不到,需要在 Docker Desktop 的 Settings -> Resources -> WSL Integration 里,把你要用的发行版(比如 Ubuntu)开关打开。我当时卡在这一步卡了半小时,一直以为 Docker 坏了,结果是 WSL 集成没开。
2.2 Docker Desktop 里提前设置内存和磁盘
这是教程里很少提到、但实际非常影响体验的一点。Docker Desktop 默认分配给虚拟机的内存是 2GB,这对 OpenClaw 来说不太够。
OpenClaw 启动之后,至少有三个东西在吃内存:
- OpenClaw 主程序(Node.js 进程)
- 网关服务(处理外部连接)
- 模型推理(如果你用 Ollama 本地模型)
三个挤在 2GB 里,结果就是打开 OpenClaw 面板时一直转圈,网关启动到一半进程被杀。我后来把 Docker 的内存上限调到了 5GB,磁盘镜像大小调到了 32GB,才稳定下来。
设置路径:Docker Desktop -> Settings -> Resources -> Advanced,把 Memory 拉高,Disk image size 也拉高。我这里提醒一句:别把全部内存都给 Docker,不然 Windows 本身卡成 PPT。
2.3 数据目录:.openclaw 和 workspace 到底在哪
OpenClaw 跑起来之后,会在你的用户目录下生成一个 .openclaw 文件夹,所有配置、日志、审批记录都放在里面。Workspace 则是它干活的工作区,默认路径类似:
code复制C:\Users\你的用户名\.openclaw\workspace
这个路径太长了,每次手动找都很痛苦。我的做法是把它映射成一个快捷方式放到桌面,或者在文件资源管理器里固定到快速访问。但这还不是重点,重点是:以后你所有要保留的数据,都在 .openclaw 这个文件夹里。备份、迁移、重装系统前,只需要把这个文件夹拷走就行。
另外我强烈建议,不要让 OpenClaw 的工作目录放在中文路径下,比如 C:\用户\张三\... 这种。Windows 用户名如果是中文,很多开源工具处理路径时会出莫名其妙的编码问题,OpenClaw 也不例外。如果用户名已经是中文,建议把 .openclaw 目录手动迁移到纯英文路径,并在配置里指定。
3. 安装实操:从 PowerShell 到"openclaw 命令找不到"的完整修复
3.1 官方推荐的 PowerShell 安装方式
我第二次尝试时,用的是官方提供的 PowerShell 一键安装脚本。大致原理就是先检查本机有没有 Node.js 环境,有的话直接通过包管理器把 OpenClaw 装到用户目录下;没有的话会顺便装依赖。
实际执行就是打开 PowerShell,粘贴官方给的那条 iwr ... | iex 命令,然后等着。这里注意一个细节:PowerShell 有执行策略限制,可能提示"禁止运行脚本"。需要先执行:
powershell复制Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
这个操作的意思是允许本机运行下载来的脚本,但要求脚本有签名。如果你不想改执行策略,也可以打开"Windows PowerShell (管理员)"再试,有些版本在管理员模式下能绕过。
3.2 经典报错:无法将"openclaw"项识别为 cmdlet
这是我遇到的第一道坎,也是搜索量最高的一个问题。安装脚本跑完,满怀期待地输入 openclaw,结果 PowerShell 回了一句:
code复制openclaw : 无法将“openclaw”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
翻译成人话就是:系统不知道 openclaw 这个命令在哪里。原因通常有两个:
- 安装完没有新开 PowerShell 窗口。PATH 环境变量的更新不会自动同步到已经打开的窗口,你需要关掉 PowerShell 再重新打开。
- 安装目录不在 PATH 里。OpenClaw 装完后,可执行文件一般放在用户目录下的某个 bin 文件夹里,比如
C:\Users\你的用户名\AppData\Roaming\npm或者类似位置,但这个目录没被加进系统 PATH。
解决办法是手动把目录加进去:
- 打开"设置 -> 系统 -> 关于 -> 高级系统设置 -> 环境变量"
- 在"用户变量"里找到
Path,双击编辑 - 新建一行,把 OpenClaw 可执行文件的目录填进去
- 确定保存,重开 PowerShell
怎么看它到底装在哪个目录?安装脚本运行完的日志里一般会显示。如果没注意看,去 C:\Users\你的用户名\AppData\ 下面找带 openclaw 字样的文件夹。
还有一个更省事的方法:既然已经决定用 Docker 了,那 PowerShell 本体的命令找不到也没关系,你只需要用 Docker 命令来操作 OpenClaw 容器就行。openclaw 命令只是为了在宿主机上直接控制它,不是必须的。
3.3 验证安装、查看版本与切换更新通道
折腾完 PATH 之后,记得验证一下装没装成功:
powershell复制openclaw --version
能输出版本号,说明本体没问题。接下来你会遇到一个选择:稳定版还是开发版。官方给你两个通道:
code复制openclaw update --channel dev
openclaw update --channel stable
我的建议是,非极客用户老老实实用 stable。我之前手痒切到 dev 通道,结果第二天打开就遇到网关启动卡死,后来切回 stable 才恢复。dev 通道是给开发者测试新功能用的,普通用户没必要陪着踩雷。
4. 启动阶段的两个大坑:网关卡在启动中和 exec-approvals.json 警告
4.1 openclaw 打开时一直卡在"网关启动中"
这个问题在搜索词里出现了不止一次,我估计很多人都被它卡过。现象是:你启动了 OpenClaw,界面或者日志里显示"网关启动中",然后这个状态持续十分钟都不变。
我根据自己排查的经历,整理了下面的链路,建议按顺序查:
- 检查 Docker 是否真的在运行。用 Docker Desktop 看一眼,如果 Docker 都没起来,OpenClaw 的网关当然起不来。在 PowerShell 里执行
docker ps,能列出容器说明 Docker 正常。 - 检查端口是否被占用。OpenClaw 的网关默认会监听一个本地端口,如果被其他程序占了,它会一直等。执行:
powershell复制看到 TIME_WAIT 或者被其他 PID 占用,就去任务管理器里结束那个进程。netstat -ano | findstr "端口号" - 看日志。如果用了 Docker 部署,执行:
bash复制
日志里会告诉你它到底卡在哪一步。我那次卡住,是因为首次启动时在拉取容器镜像,而国内网络拉 Docker Hub 镜像速度不理想,看起来就像卡死了,实际是在下载。这时候你只需要等,或者先配置好 Docker 的镜像加速源。docker logs 容器名 - 内存不足。如果你没按 2.2 节调内存,建议先去看 Docker Desktop 的资源占用。
4.2 legacy exec approvals exist at /root/.openclaw/exec-approvals.json,run openclaw...
这个提示我一开始完全看不懂,后来才明白是怎么回事。它大致长这样:
code复制legacy exec approvals exist at /root/.openclaw/exec-approvals.json. run openclaw ...
先解释一下 exec-approvals.json 是什么。OpenClaw 作为 AI 代理,有权限执行命令、读写文件,为了安全,它内置了一个审批机制:AI 想执行某个敏感命令前,需要得到你的允许,这个"允许记录"就存在 exec-approvals.json 里。你之前手动批准过的命令白名单都在里面。
这个提示出现,通常是因为你更新到了新版本,新版本改了审批记录的存储格式,旧的 JSON 文件和新的格式不兼容,所以它提醒你处理一下旧文件。按提示执行它建议的迁移命令即可,如果提示里的命令不完整,先跑 openclaw --help 看看有哪些子命令。
我的忠告是:不要一上来就删掉这个文件。虽然删了也能启动,但你之前批准过的所有命令记录都没了,以后 AI 每执行一个命令都会弹出审批,烦不胜烦。正确做法是先备份,再按新格式迁移,除非你确定里面没有任何有用的记录。
4.3 Windows 下怎么看 OpenClaw 进程是不是还活着
因为 OpenClaw 的界面有时会假死,你根本分不清它是"正在工作"还是"已经挂了"。在 Mac 或 Linux 上,大家习惯用 ps aux | grep -i openclaw 来查进程,Windows 上没有这个命令,但你有更简单的办法:
- 如果走 Docker 路线:执行
docker ps,看到容器状态是Up就说明活着;想看实时输出用docker logs -f 容器名。 - 如果走 PowerShell 原生进程:打开任务管理器,找 Node.js 进程,看 CPU 和内存是否在变化。如果一个 Node 进程 CPU 常年在 0%,可能已经卡死。
- 用 PowerShell 命令查也行:
powershell复制Get-Process | Where-Object { $_.ProcessName -like "*node*" }
我当时就是靠 docker logs -f 判断它到底是"正在思考"还是"彻底没反应"。看到日志还在滚动,就说明它在工作,只是比较慢而已。
5. 从"能启动"到"能用起来":接免费模型、Skill、Workspace 日常玩法
5.1 先接 Ollama 本地模型,不花一分钱
OpenClaw 本身只是一个"大脑的骨架",它需要连接一个大语言模型才能思考。你可以接云端收费 API,也可以接本地免费的模型。我的建议是:先不要急着花钱,用 Ollama 跑本地开源模型,把流程打通再说。
Ollama 是一个本地模型运行工具,支持很多开源模型。我装的是 qwen2.5:7b,7B 参数,16GB 内存勉强能跑。安装 Ollama 很简单,官网下载安装包,装完到命令行执行:
bash复制ollama pull qwen2.5:7b
然后把 OpenClaw 的模型提供方(provider)配置成 Ollama,让它走本地地址。配置项里一般需要填:
base_url:一般是http://localhost:11434,这是 Ollama 默认的 API 地址model:填你拉取的模型名,比如qwen2.5:7bapi_key:本地 Ollama 不需要真实的 key,随便填一个占位符就行
我之前看到有人在问"openclaw配置nvidia nim"怎么弄,NVIDIA NIM 是另一种推理服务,适合有 NVIDIA 显卡的用户,配置原理其实一样:在 OpenClaw 配置里加一个指向 NIM 服务地址的 provider,填上对应的模型名和 key。没有独显的话,先别折腾 NIM,Ollama 足够你熟悉整个流程了。
还有一点很重要:OpenClaw 在跑复杂任务时可能不止调用一个模型。它会用一个小模型做规划、一个模型执行工具调用、一个模型总结结果。如果你只有一个 7B 本地模型,任务太复杂时会明显变慢,这是正常的,说明该上云端大模型了。国内云厂商的模型服务一般都有免费额度,你可以注册一个,把 key 填进配置,按需切换。
5.2 Skill 是什么?为什么要装 Skill
我第一次看到"Skill"这个词以为是游戏技能,后来才明白它是指"给 AI 代理装技能包"。打个比方:OpenClaw 像一台刚出厂的手机,只有基础打电话发短信的功能,而 Skill 就像你安装的各种 App,装上翻译插件它就会翻译,装上项目管理插件它就能帮你管项目。
Skill 可以来自官方库,也可以来自社区。搜索词里出现过的 ClawHub,你可以把它理解成"应用商店",社区把各种 Skill 包集中放在那里,你一条命令就能安装。但我踩过一个坑:不要一次装太多 Skill。每个 Skill 在被调用时都会占用上下文窗口,装多了 AI 反而会变笨,因为它光记住"有哪些技能"就要消耗不少空间。建议先装两三个最常用的,比如文件整理、网页搜索、任务管理,跑通之后再加。
5.3 Workspace 的正确打开方式
Workspace 是 OpenClaw 的"工位",所有它创建的文件、中间产物、项目资料都在里面。你可以把一整份项目文档丢进去,让它基于这些材料帮你完成任务;也可以让它自己规划并生成文件。
我实际做过的一件事:让它帮我整理一个项目清单。我先在 Workspace 里放了一份很乱的会议记录,然后跟它说"把这份记录里的待办事项提取出来,按优先级排序,生成一份 markdown 文件"。它真的在 Workspace 里生成了一个 todo.md,格式还挺整齐。
这套流程之所以好用,是因为 AI 代理和普通聊天的区别就在这:普通聊天你问一句它答一句,转头就忘;OpenClaw 能读写文件、能执行命令,它可以把工作成果"落盘",你不满意还能让它反复改。对非极客来说,这已经很有生产力了。
6. 进阶:把 OpenClaw 接进飞书、Obsidian,以及让它 24 小时在线
6.1 飞书接入:不是只有聊天机器人
搜索词里有人问"openclaw接入飞书",我当时也想搞,因为飞书群消息可以直接变成任务指令,比在终端里敲命令方便太多。
接入飞书大致分几步:
- 去飞书开放平台创建一个企业自建应用,拿到 App ID 和 App Secret
- 给这个应用开通机器人能力,设置事件订阅
- 把飞书事件回调地址指向你 OpenClaw 网关节点的地址
- 在 OpenClaw 的配置里填上飞书应用的凭据
这里有一个很现实的问题:你的电脑如果在家里的内网,飞书服务器是访问不到的,需要一台有公网 IP 的服务器,或者用内网穿透工具把本机端口映射出去。最省事的做法是直接用云服务器部署 OpenClaw(见 6.3),这样公网地址天然具备,省去穿透的麻烦。
我自己后来没有把飞书接完,因为发现本地部署做内网穿透这件事,对非极客来说还是太折腾。如果你真的需要手机远程派任务,我更推荐走云服务器路线。
6.2 Obsidian 结合 OpenClaw 做项目管理
这算是我目前最喜欢的一种用法。Obsidian 是一个本地笔记软件,核心文件格式就是 Markdown,而 OpenClaw 的 Workspace 里生成的文件也默认是 Markdown——两者天然兼容。
我的操作很简单:
- 在 Obsidian 里建一个 vault,专门放项目文档
- 把这个 vault 的文件夹路径填到
.openclaw配置里,让 Workspace 指向那里,或者干脆把 Obsidian vault 建在 Workspace 目录下 - 每天让 OpenClaw 根据聊天记录或任务清单,生成一份
daily-plan.md - 打开 Obsidian 就能看到
这样做的最大好处是:所有内容都是本地纯文本,没有厂商锁定,想备份就复制,想加密就压缩。你甚至可以写个简单的定时任务,让 OpenClaw 每天早上自动把当天计划生成好,打开 Obsidian 就能看。对非极客来说,这已经非常有成就感了。
6.3 云端部署:没有 Mac mini,但可以让它 24 小时在线
搜索词里有不少人在问"如何在云端部署openclaw",我的建议是:等你在本地把流程跑通之后,再上云。云端部署的本质很简单:买一台 Linux 云服务器,装上 Docker,把 OpenClaw 容器跑起来,然后把 .openclaw 目录和 Workspace 目录挂载进去。
Linux 上的 Docker 部署比 Windows 还要顺畅,连 WSL2 都不用,直接:
bash复制docker run -d \
--name openclaw \
-v /root/.openclaw:/root/.openclaw \
-v /root/workspace:/root/.openclaw/workspace \
镜像名
具体镜像名和端口参数以你拿到的官方文档为准,核心就两件事:挂载目录、映射端口。挂载目录是为了让容器里的数据留在宿主机上,容器删了数据还在;映射端口是为了让外部能访问到 OpenClaw 的接口。
有人问"阿里云api怎么添加到飞牛openclaw",如果你是 NAS 或云主机部署,配置模型 API 的原理和本地一模一样,就是在配置里加一个 provider,填上阿里云百炼等服务的 API Key 和模型名。OpenClaw 不关心你的模型跑在哪里,它只看你给的接口地址能不能通。
云端部署还有一个额外好处:你的本地电脑可以彻底关掉,OpenClaw 在服务器上 24 小时待命,手机随时能给它派任务。缺点是要花一点点云服务器费用,以及你得稍微学一下 Linux 基本命令——但比起"拥有一台 Mac mini",这个成本已经低太多了。
最后再分享一点我的体会。整个折腾过程里,最让我崩溃的不是某个具体报错,而是"不知道问题出在哪一层":到底是 Docker 的问题?还是 OpenClaw 配置的问题?还是模型连不上?后来我学会了一个笨办法——每做一步,就验证一步。装完 Docker,先确认 docker ps 能跑;装完 OpenClaw,先确认 openclaw --version 有输出;接完 Ollama,先单独访问一下本地模型接口。每一步都验证通过再走下一步,问题范围就缩小了一大半。这套思路不只适用于 OpenClaw,你以后接触任何新工具都能用上。祝你在没有 Mac mini 的情况下,成功拥有自己的 AI 代理。
