前两天我又帮人装了一次OpenClaw。
整个过程花了快一个小时。对方是个电脑小白,全程坐在我旁边看我敲命令,一边看一边问:
"这个是什么?" "为什么要输这个?" "为什么报错?" "你刚才那个是什么意思?"
说实话,装完之后我自己都疲惫了。
回来路上我就想,有没有一种办法,能让一个完全不懂技术的人,也能在三分钟内用上OpenClaw?
答案是:有。
01 怎么让"安装"这件事消失?
OpenClaw为什么装起来麻烦?
说白了就三个原因:
Node.js要单独装 npm依赖动不动报错 GitHub访问不稳定
这三个问题但凡碰到一个,小白就卡住了。
我的思路是:不解决这三个问题,而是让用户根本接触不到这三个问题。
怎么做?把整个OpenClaw打包进U盘。
用户不需要装Node.js,不需要跑npm,不需要访问GitHub。他只需要做一件事:
插上U盘,双击运行。
就像当年用Ghost装机盘重装系统,不需要懂BIOS,不需要懂分区,点几下下一步,系统就装好了。
好的工具,应该让人感受不到门槛。
02 先想清楚架构再动手
动手之前,我花了点时间想清楚这个U盘版应该长什么样。
核心需求就三条:
1. 可移植 换一台电脑,插上U盘,配置还在,不用重新装。
2. 零安装 双击就能跑,不需要管理员权限,不改本机环境。
3. 好更新 新版本出来,只需要替换一个目录,用户的配置不丢失。
基于这三条,我定了这个结构:
U-Claw/├── Windows-Start.bat # Windows免安装运行├── Windows-Install.bat # Windows安装到本机├── Mac-Start.command # Mac免安装运行├── Mac-Install.command # Mac安装到本机├── Config.html # 首次配置页面├── setup.sh # 补齐依赖(开发者用)├── app/ # 大依赖(Node.js + OpenClaw本体)│ ├── core/ # OpenClaw核心 + 渠道插件│ └── runtime/ # 各平台Node.js运行时└── data/ # 用户数据(配置/记忆/备份) ├── .openclaw/ # 配置文件 ├── memory/ # AI记忆 └── backups/ # 配置备份关键设计点:用户数据单独放data目录,升级时只替换app目录,data不动,配置和记忆全保留。
03 走通最难的一步:制作setup.sh
这个脚本是整个项目的核心。它的任务只有一个:
把GitHub上的仓库,变成一个能直接在U盘运行的完整包。
说起来简单,做起来有坑。
首先,OpenClaw的依赖里有大文件(主要是Node.js运行时),如果每次都从GitHub拉,速度很慢,用户体验很差。
我的处理方式是:分离大小文件。
小文件(代码、配置、脚本)正常放GitHub仓库,用户git clone拉下来。
大文件(Node.js、node_modules)不传GitHub,而是用setup.sh脚本在本地下载,下载源走国内镜像。
这样一来,仓库本身只有几百KB,任何人拉取都是秒速。大依赖在国内镜像站下载,速度有保障。
具体到这个脚本,核心逻辑就三步:
第一步:检测系统,下载对应平台的Node.js运行时
# 识别系统if [[ "$OSTYPE" == "darwin"* ]]; thenif [[ $(uname -m) == "arm64" ]]; then NODE_DIR="node-mac-arm64"else NODE_DIR="node-mac-x64"fielse NODE_DIR="node-win-x64"fi# 下载(走国内镜像)curl -L "https://npmmirror.com/mirrors/node/v20.10.0/${NODE_DIR}.zip" -o runtime.zip第二步:解压Node.js到app/runtime/目录
unzip -q runtime.zip -d app/runtime/第三步:用npm安装OpenClaw核心和渠道插件
cd app/corenpm installnpm install openclawnpm install openclaw-plugin-qqnpm install openclaw-plugin-feishu# ……其他渠道插件整个脚本在正常网速下,大概一分钟跑完。跑完之后,portable目录就是完整的U盘内容。
04 第一个坑:Windows路径问题
脚本写完,在Mac上测试没问题,一拿到Windows上跑,报错。
问题是路径里有空格。
Windows默认把程序装在 C:\Program Files\ 下,路径里有空格,Node.js的某些脚本执行会出问题。
解法有两个:
方案一: 强制要求用户把U盘插到没有空格的路径下(比如 D:\U-Claw)
方案二: 所有涉及路径的地方,用引号包起来
我选了方案二,因为更用户友好。
另一个Windows坑是批处理文件的编码。
Windows的bat文件默认用GBK编码,Mac写出来是UTF-8。在Windows上跑中文注释会乱码。
解法:所有bat文件统一用UTF-8 BOM格式保存,Windows CMD能正确识别。
05 第二个坑:数据目录的优先级
OpenClaw默认会把配置存在用户目录 ~/.openclaw/。
问题来了:U盘模式下,用户没有管理员权限,~/.openclaw/会写到系统盘去。换一台电脑,配置就读不到了。
我需要让OpenClaw在U盘模式下,优先读U盘上的data目录,而不是去读系统盘。
查了一下OpenClaw的配置方式,发现它支持通过环境变量指定数据目录:
OPENCLAW_DATA_DIR="D:/U-Claw/data"所以在Windows-Start.bat里,我加了这样一行:
set OPENCLAW_DATA_DIR=%~dp0dataset PATH=%~dp0app\runtime\node-win-x64;%PATH%start "" "%~dp0app\runtime\node-win-x64\node.exe" "%~dp0app\core\openclaw"%~dp0是Windows批处理里获取当前脚本所在目录的方法。这样无论U盘插到哪个盘符,数据目录都指向U盘本身。
06 做配置中心:让人人都会配置
光有运行脚本还不够。配置AI模型、填聊天渠道的ID和Secret,这些操作对小白来说还是有门槛。
我写了一个 Config.html,双击它会打开浏览器,进入本地配置页面。
页面里预置了常用平台的配置模板:
硅基流动:BaseURL和模型名都填好了,用户只需要填一个Key OpenAI:同理,填Key就行 自定义:高级用户可以自己填BaseURL、模型ID和Key
聊天渠道那边也做了简化。每个渠道下面都写了当前平台ID/Secret怎么获取的步骤指引,点开就能看到。
这一步花了比较多的时间,但效果很好。配置页面出来后,我自己测试了一遍,从拿到U盘到跑起来聊天,全程不超过三分钟。
07 让人直接用,不需要理解原理
到这里,U盘版的核心功能就跑通了。
最后一步,也是最重要的一步:测试。
我找了三个不同背景的人来试:
同事A:日常只用Word和Excel,完全不懂命令行 朋友B:程序员,用Mac,偶尔折腾Docker 邻居C:30多岁,用电脑主要是看视频和炒股
三个人里,前两个人测完反馈都挺好。邻居C遇到了一点问题——他电脑的USB口供电不足,U盘里的程序跑不起来。
后来我加了说明,建议用USB 3.0的口,或者用带外接供电的USB Hub。
这也提醒我:工具做出来不难,难的是想到所有用户的实际使用场景。
用U盘装OpenClaw,只需三步:
第一步:在GitHub下载最新版的U-Claw压缩包
第二步:解压后拷贝到U盘根目录
第三步:双击 Windows-Start.bat(Mac点 Mac-Start.command),等浏览器自动打开配置页面,填入AI模型的Key
就这么简单。
项目地址:https://github.com/dongsheng123132/u-claw
官网地址:https://www.u-claw.org
夜雨聆风