1. 项目概述与核心价值
如果你是一名开发者,或者对AI自动化工具感兴趣,最近可能被一个叫OpenClaw的项目刷屏了。简单来说,它是一个开源的AI智能体(Agent)框架,能让你用自然语言指挥AI去完成一系列复杂的任务,比如自动写代码、分析数据、管理文件,甚至操作浏览器。听起来很酷,但当你兴冲冲地打开官方文档准备安装时,可能会立刻被劝退:不同系统的安装步骤分散、初始化选项让人困惑、接入Claude或GPT等大模型的过程更是需要自己摸索配置。这正是我当初遇到的困境,也是我花时间整理这份详尽安装指南的原因。
这份指南的核心目标,就是帮你绕过所有坑,在10分钟内,从零完成OpenClaw的安装,并成功接入像PipeLLM这样的中转服务,让你能流畅使用Claude、GPT、Gemini等主流模型。它不仅仅是一份命令的罗列,更融合了我实际部署过程中的所有决策逻辑、避坑经验和配置细节。无论你是用macOS、Linux还是Windows,都能在这里找到清晰的路径。我们解决的问题很直接:把官方抽象、分散的流程,变成一份可复制、可粘贴、一次成功的“保姆级”操作手册。
2. 环境准备与系统选择考量
在开始敲命令之前,花几分钟理解你的系统环境是至关重要的。OpenClaw作为一个需要常驻后台运行的服务,对不同操作系统的兼容性和资源消耗有不同表现。我的建议是,优先在你的主力开发机上部署,因为后续的调试和技能(Skills)开发会频繁进行。
2.1 操作系统详细要求与资源评估
- macOS (推荐版本: 12 Monterey 或更高): 这是体验最丝滑的平台。OpenClaw的底层依赖与macOS的集成度很好。你需要确保有至少8GB的可用内存,因为AI网关和技能运行时本身会占用一定资源。另外,请打开“系统设置”->“隐私与安全性”->“开发者工具”,确保终端(Terminal)或你使用的iTerm2等应用有完全磁盘访问权限,否则在安装Skills(技能包)时可能会遇到文件写入错误。
- Linux (推荐发行版: Ubuntu 22.04 LTS / Debian 11+ / CentOS Stream 9): 这是最可控、最适合生产部署的环境。你需要的是一个干净的、带有
curl和sudo权限的用户环境。对于云服务器,请确保开放了必要的出站端口(用于拉取模型和技能包),虽然OpenClaw网关默认监听本地端口,但网络连通性是关键。内存建议同样在8GB以上。 - Windows (Windows 10/11 64位): 这是兼容性挑战最大的平台,但通过PowerShell也能顺利运行。最重要的一点:你必须使用Windows PowerShell(最好以管理员身份运行),而不是传统的CMD命令提示符。因为安装脚本严重依赖PowerShell的模块和脚本执行策略。同时,请确保你的Windows系统已安装最新的.NET运行时环境。
2.2 网络环境预检:成功的一半
无论哪个系统,网络是安装过程中最大的变数。由于需要从GitHub、npm registry以及后续的模型API端点拉取资源,一个稳定、低延迟的网络连接是必须的。如果你身处网络访问受限的环境,提前配置好可靠的HTTP/HTTPS代理是明智之举。你可以在终端或PowerShell中临时设置代理环境变量(如export HTTPS_PROXY=http://your-proxy:port),但更建议在系统网络设置中全局配置,避免后续步骤因网络超时失败。
注意:很多安装失败案例都卡在下载阶段。如果你多次遇到
curl下载中断或npm install超时,请首先排查网络问题,这是最高效的排错起点。
3. 分步安装与初始化实战
理解了环境,我们就可以动手了。下面的步骤我会结合推荐选项,并解释每一个选择背后的原因。
3.1 macOS 与 Linux 安装流程详解
打开你的终端(Terminal),执行以下命令。这条命令会从OpenClaw官方服务器下载安装脚本并自动执行。
curl -fsSL https://openclaw.ai/install.sh | bash-f: 让curl在服务器错误时静默失败。-s: 静默模式,不显示进度条或错误信息(与-f配合,由脚本控制输出)。-S: 当与-s一起使用时,如果失败则显示错误信息。-L: 如果服务器返回重定向,则自动跟随重定向地址。
脚本执行后,它会自动检测你的系统,安装必要的依赖(如Node.js、Docker Desktop等),并设置OpenClaw的核心命令行工具。这个过程通常需要2-5分钟,取决于你的网速。
安装完成后,最关键的一步来了:运行初始化向导。
openclaw onboard --install-daemononboard: 初始化命令,会引导你完成一系列配置。--install-daemon: 这个参数强烈建议加上。它会在你的系统上安装一个守护进程(daemon),让OpenClaw网关在后台自动运行,开机自启。没有它,你每次都需要手动启动网关,非常不便。
接下来,你会进入一个交互式命令行界面。以下是我的推荐选项及理由:
- 风险提示 (Risk notice): 选择
yes。- 理由:这是一个确认步骤,表明你理解OpenClaw会访问本地文件和执行命令。直接同意即可。
- 安装模式 (Installation mode): 选择
快速安装 (Quick install)。- 理由:对于绝大多数初次使用者,“快速安装”已经包含了所有必要的核心组件和默认配置。除非你有特殊需求(如指定安装路径、使用特定版本的组件),否则没必要选择“自定义安装”,那会引入不必要的复杂度。
- 模型配置 (Model configuration): 选择
跳过 (Skip)。- 理由:这是本教程的核心技巧。官方向导会尝试引导你直接配置OpenClaw官方支持的模型,但过程可能繁琐。我们选择跳过,稍后通过更清晰、统一的中转站(PipeLLM)方式来配置,这样更容易管理多个模型。
- Provider 筛选 (Provider filter): 可以先选
Google或直接按回车跳过。- 理由:这个筛选影响不大,它只是决定在后续技能商店里优先显示哪些技能的提供商。先选一个或跳过都行。
- 机器人配置 (Bot configuration): 选择
跳过 (Skip)。- 理由:机器人(如Telegram Bot)是接入渠道,我们可以在核心服务(网关和模型)配置成功后再单独配置,避免初始化过程信息过载。
- 安装 skills 包 (Install skills packages?): 选择
yes。- 理由:Skills是OpenClaw的灵魂,是AI能执行的具体能力(如读写文件、运行代码、搜索网页)。安装默认的技能包是必须的。
- Skills 安装方式 (Skills installation method): 选择
pnpm。- 理由:
pnpm是比npm更高效、磁盘空间占用更少的Node.js包管理器。OpenClaw社区也推荐使用它来管理技能依赖。
- 理由:
- 为 skills 配置模型 API Key: 对所有的提示都选择
No。- 理由:同上,我们计划统一通过PipeLLM中转站来管理模型密钥,所以这里不需要为每个技能单独配置。先全部跳过,保持配置的集中和整洁。
至此,OpenClaw的核心服务就已经安装并运行在你的系统后台了。
3.2 Windows 安装流程详解 (PowerShell)
以管理员身份打开Windows PowerShell。执行以下命令:
iwr -useb https://openclaw.ai/install.ps1 | iexiwr: 是Invoke-WebRequest的别名,用于从网络下载内容。-useb: 参数组合,-UseBasicParsing是兼容性模式,-b是-Body的简写?这里可能脚本有特定用法,通常安装脚本会这样写以确保下载执行。iex: 是Invoke-Expression的别名,用于执行下载下来的脚本内容。
Windows的安装脚本同样会自动处理依赖。完成后,运行初始化:
openclaw onboard注意,Windows版本的命令可能不需要或无法使用--install-daemon参数,因为后台服务的管理方式不同。初始化过程中的选项推荐与macOS/Linux部分完全一致。
4. 核心策略:为何及如何通过中转站接入模型
这是本教程最具价值的部分。为什么我不推荐直接使用OpenAI、Anthropic等官方API,而是建议通过PipeLLM这样的中转服务?这绝不仅仅是为了“省事”。
4.1 使用中转站(Relay/Proxy)的深层原因
- 网络可用性与稳定性:这是最现实的考量。对于许多地区的用户,直连海外AI服务提供商的API端点可能面临连接超时、速度缓慢甚至完全无法访问的问题。中转服务通常拥有优化过的国际线路和多个接入点,能显著提升API调用的成功率与响应速度。
- 统一的接入抽象层:不同的AI提供商,其API接口、认证方式(Bearer Token vs API Key)、请求格式、错误码规范都不尽相同。中转站为你提供了一个统一的接口。你只需要关心中转站的地址和你的密钥,无需为每个模型记忆不同的API端点。这在OpenClaw的配置中体现为,你只需配置一个
pipellm的provider,就能在其下调用Claude、GPT、Gemini等多种模型。 - 极高的切换与运维效率:
- 模型切换:当你觉得Claude Opus太贵想换Gemini Pro试试,或者GPT-4 Turbo挂了想切到Claude 3.5 Sonnet时,如果直连,你可能需要修改代码或配置中的API Base URL、认证头等多个地方。而通过中转站,你通常只需要在请求体中修改一个
model参数名(例如从claude-3-opus-20240229改为gemini-1.5-pro),其他一切不变。 - 问题排查:当AI调用失败时,如果直连,你需要判断是网络问题、密钥问题、账户问题还是提供商服务问题。中转站通常提供更清晰的错误信息、调用日志和监控面板,能帮你快速定位问题是出在“你->中转站”这一段,还是“中转站->厂商”那一段。
- 模型切换:当你觉得Claude Opus太贵想换Gemini Pro试试,或者GPT-4 Turbo挂了想切到Claude 3.5 Sonnet时,如果直连,你可能需要修改代码或配置中的API Base URL、认证头等多个地方。而通过中转站,你通常只需要在请求体中修改一个
- 成本与密钥管理:一些中转站提供API Key的用量统计、额度告警、多Key轮询等功能,比直接管理多个厂商的密钥更方便。当然,你需要仔细评估其加价比例。
4.2 必须清醒认识的风险与代价
没有完美的方案,使用第三方中转站,你必须接受以下事实:
- 数据与隐私边界:你的所有提示词(Prompt)和AI的回复,都会流经中转服务商的服务器。你必须仔细阅读并认可其隐私政策,确认他们是否记录、存储、分析你的数据,存储多久,以及如何删除。对于处理敏感信息的场景,这一点需要慎之又慎。
- 供应商锁定与单点故障:你的AI服务可用性绑定了该中转站。如果它宕机、被攻击或停止服务,你的所有AI能力将中断,除非你有备用的直连配置或其他中转站可以快速切换。
- 额外的成本与限流:中转站不是慈善机构,其收费通常会在官方API价格上加成。同时,它们可能会有自己的速率限制(Rate Limit),这可能比官方更严格。
4.3 何时应该坚持直连?
在以下情况,你应该考虑绕过中转站,直接配置官方API:
- 合规性要求:你所在的组织或项目有严格的数据主权和合规要求,明确禁止数据经由第三方服务器。
- 极致稳定与可控:你拥有稳定、低延迟直连官方API的网络环境,且愿意承担多供应商对接的复杂性和运维成本。
- 成本敏感:项目对API调用成本极其敏感,无法接受任何额外的加价。
4.4 选中转站时的安全检查清单
在决定使用某个中转服务前,请务必核实以下几点:
- [ ]隐私条款明确:是否清晰说明了数据(特别是提示词和回复)的处理、存储、加密和删除策略?
- [ ]密钥管理功能:是否支持创建多个API Key,并设置不同的权限和额度?
- [ ]可观察性:是否提供调用日志、错误统计、实时用量监控面板?
- [ ]服务等级协议(SLA)与状态页:是否有公开的服务可用性承诺和实时状态页面?
- [ ]逃生方案:你的系统架构是否允许在配置中快速切换回直连模式或其他备用中转站?
5. 配置 PipeLLM Provider 实操详解
假设你已经评估并决定使用PipeLLM,并成功注册获取了API Key。接下来就是将这个Provider配置到OpenClaw中。
5.1 定位与理解配置文件
OpenClaw的所有核心配置都存储在一个名为openclaw.json的JSON文件中。
- macOS/Linux:
~/.openclaw/openclaw.json(~代表你的用户主目录) - Windows:
C:\Users\<你的用户名>\.openclaw\openclaw.json
在修改前,我强烈建议你先备份这个文件:
# macOS/Linux cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup # Windows (PowerShell) Copy-Item -Path $env:USERPROFILE\.openclaw\openclaw.json -Destination $env:USERPROFILE\.openclaw\openclaw.json.backup5.2 合并配置内容
本教程提供的config/pipellm.models.json文件是一个配置模板。你不需要完全替换你的openclaw.json,而是要将这个模板中的providers配置,合并到你本地配置文件的models.providers节点下。
让我们看看关键部分:
{ "models": { "providers": { // ... 这里可能已有其他provider配置,如 openai, anthropic 等 "pipellm": { "api": "https://api.pipellm.ai/v1", "apiKey": "换成你的key", "models": [ { "id": "pipellm-claude/claude-3-5-sonnet-20241022", "name": "Claude 3.5 Sonnet", "context": 200000, "capabilities": ["chat", "vision"] }, // ... 更多模型定义 ] } } } }操作步骤:
- 打开你本地的
~/.openclaw/openclaw.json。 - 找到
"models"->"providers"这个对象。 - 将
pipellm.models.json中"pipellm": { ... }这个完整的对象,添加到"providers"对象里。 - 至关重要:将
"apiKey"字段的值"换成你的key",替换为你从PipeLLM后台获取的真实API Key。
实操心得:编辑JSON文件时,一个格式错误(如缺少逗号、引号不匹配)就会导致整个OpenClaw服务无法读取配置。建议使用VS Code、Sublime Text等有JSON语法高亮和校验功能的编辑器。修改后,可以使用
python -m json.tool openclaw.json(需安装Python)或在线的JSON校验工具检查格式是否正确。
5.3 配置项深度解析
api: 这是PipeLLM服务的入口地址。除非服务商特别说明,否则不要改动。apiKey: 你的身份凭证。保管好它,不要在代码仓库中提交。models: 这是一个数组,定义了在此Provider下可用的具体模型。每个模型对象包含:id:这是调用时使用的唯一标识符,格式通常是provider-name/model-name。后文的验证命令会用到它。name: 模型的显示名称,用于在网关UI中展示。context: 模型的上下文窗口长度(token数),用于让OpenClaw了解模型的处理能力。capabilities: 模型支持的能力,如chat(对话)、vision(视觉)等。
6. 服务重启与功能验证
配置修改后,必须重启OpenClaw网关服务才能使新配置生效。
6.1 重启网关服务
macOS/Linux:
openclaw gateway restart这个命令会优雅地重启后台守护进程。
Windows:
openclaw gateway在Windows上,运行此命令通常会启动网关进程。如果它已经在运行,你可能需要先在任务管理器中结束相关进程,再重新执行此命令。
6.2 多维度验证配置成功
重启后,我们需要验证PipeLLM Provider和其中的模型是否已正确加载并可用。
方法一:通过网关内置聊天界面验证(最直观)
- 打开浏览器,访问
http://localhost:3000(默认端口,具体请查看启动日志)。 - 你应该能看到OpenClaw的网关管理界面。
- 找到聊天输入框或相关的测试界面。
- 输入以下命令进行验证:
这条命令会列出所有已配置可用的Provider。你应该能在列表中看到/modelspipellm。
这条命令会列出/models pipellm-claudepipellm-claude这个分类下的所有具体模型。
这条命令会指定使用/model pipellm-claude/claude-3-5-sonnet-20241022 你好,请简单介绍一下你自己。claude-3-5-sonnet-20241022这个模型来回复“你好...”。如果配置正确,你会很快收到Claude的自我介绍。
方法二:通过命令行验证(适合无UI环境)你可以使用curl命令直接向本地网关的API发送请求来测试:
curl -X POST http://localhost:3000/api/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer your-openclaw-internal-token" \ # 通常可在网关配置中找到或默认为空 -d '{ "model": "pipellm-claude/claude-3-5-sonnet-20241022", "messages": [{"role": "user", "content": "Hello"}] }'替换正确的端口和认证信息。如果返回包含AI回复的JSON,则成功。
7. 进阶配置:Telegram机器人接入指南
将OpenClaw接入Telegram,意味着你可以通过手机上的Telegram App随时随地与你的AI助手对话,非常适合执行一些快速查询或任务。
7.1 创建Telegram Bot并获取Token
- 在Telegram中搜索
@BotFather并开始对话。 - 发送
/newbot指令。 - 按照提示,依次为你的Bot设置一个显示名称(如
My OpenClaw Assistant)和一个唯一的用户名(必须以bot结尾,如my_openclaw_bot)。 - 创建成功后,
BotFather会给你一串如1234567890:ABCdefGhIJKlmNoPQRsTUVwxyZ的令牌(Token)。妥善保存,它相当于Bot的密码。
7.2 在OpenClaw网关中配置Bot
- 访问你的OpenClaw网关管理界面 (
http://localhost:3000)。 - 导航到
Config->Channels或类似的设置页面。 - 找到
Telegram Bot Token字段,填入你刚刚获取的Token。 - 配置本地代理(如果需要):如果你的网络环境需要代理才能访问Telegram API,在相应的代理设置字段填入你的代理地址,例如
http://127.0.0.1:7890。这是很多用户连接失败的关键原因。 - 保存配置。
7.3 配对与连接
- 保存Token后,网关会尝试与Telegram Bot建立连接,并生成一个配对码(Pairing code)。这个码会显示在网关界面上,通常是一串6-8位的数字字母组合。
- 在你的终端(不是Telegram)中,执行以下命令:
例如:openclaw pairing approve telegram 你的配对码openclaw pairing approve telegram a1b2c3d4 - 命令执行成功后,回到Telegram,找到你创建的Bot(通过其用户名搜索),发送任意消息(如
/start或“你好”)。 - 如果一切顺利,你应该能收到Bot的回复。这意味着你的OpenClaw已经成功通过Telegram频道对外提供服务了。
8. 常见问题与深度排查手册
即使按照教程操作,你也可能会遇到一些问题。下面是我在多次部署中总结的常见故障及其解决方案。
8.1 基础问题排查
| 问题现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
执行安装脚本后openclaw命令未找到 | 1. 脚本安装失败。 2. Shell环境变量未更新。 | 1. 检查终端是否有错误输出。 2. 尝试重启终端。 3. 手动将OpenClaw的安装目录(通常为 ~/.openclaw/bin或C:\Users\<用户>\.openclaw\bin)添加到系统的PATH环境变量中。 |
openclaw onboard初始化过程卡住或报错 | 1. 网络问题,拉取依赖包或Docker镜像超时。 2. 系统权限不足。 3. 端口冲突(如3000端口已被占用)。 | 1.首先检查网络和代理。这是最常见原因。 2. 在macOS/Linux上尝试用 sudo运行(但需注意脚本可能不建议)。3. 查看详细日志: openclaw logs或检查~/.openclaw/logs目录下的文件。 |
修改openclaw.json后网关无法启动 | JSON配置文件语法错误。 | 1. 使用JSON校验工具检查配置文件。 2. 用备份文件恢复,然后重新小心地合并配置。 3. 检查是否有重复的键(Key)或遗漏的逗号。 |
8.2 PipeLLM模型接入专项排查
| 问题现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
/models命令看不到pipellmProvider | 1.openclaw.json配置未正确合并或格式错误。2. 网关服务未重启。 3. 配置文件路径错误。 | 1.确认重启了网关(openclaw gateway restart)。2. 使用 openclaw config show命令查看当前加载的配置,确认你的pipellm配置是否在其中。3. 仔细核对配置文件的路径和JSON结构,确保 providers节点下存在pipellm对象。 |
能看到pipellmProvider,但调用模型时失败,提示“Invalid API Key”或“Provider not available” | 1. API Key未替换或错误。 2. 网络问题,网关无法连接到PipeLLM的API端点。 3. PipeLLM账户额度已用尽或Key被禁用。 | 1.双重检查apiKey字段,确保已替换为真实Key,且没有多余的空格或换行。2. 在终端用 curl或ping测试到api.pipellm.ai的网络连通性。3. 登录PipeLLM仪表板,确认Key有效且有余量。 |
| 模型调用超时或无响应 | 1. 网络延迟或丢包严重。 2. 中转服务或目标模型服务临时故障。 3. 提示词过长,触发了模型的长上下文处理延迟。 | 1. 尝试更换网络环境或使用代理。 2. 访问PipeLLM的状态页(如果有)或社区,查看是否有服务公告。 3. 先用一个非常简短的提示词(如“Hi”)测试,排除提示词复杂度的影响。 |
| 返回内容乱码或格式异常 | 1. 网关或中转服务的响应编码问题。 2. 模型输出本身包含特殊格式。 | 1. 检查网关的日志,看原始响应是什么。 2. 尝试在PipeLLM的后台或使用其原生API测试同一个请求,对比结果,以确定问题是出在PipeLLM还是OpenClaw的解析环节。 |
8.3 Telegram Bot 连接问题
| 问题现象 | 可能原因 | 排查步骤与解决方案 |
|---|---|---|
| 在Telegram中发送消息给Bot,无任何回复。 | 1. Bot Token填写错误。 2. 本地网络无法访问Telegram Bot API(常见)。 3. 配对(Pairing)未完成或失败。 | 1. 核对Token,确保没有复制到空格。 2.在网关配置中正确设置代理。这是国内用户最常遇到的问题。确保代理地址和端口正确且有效。 3. 重新执行 openclaw pairing approve telegram <配对码>命令,并确保配对码正确且在有效期内。 |
| Bot回复“服务不可用”或类似错误。 | OpenClaw网关内部服务异常,或模型配置有问题,导致Bot收到消息后无法调用AI处理。 | 1. 首先在OpenClaw网关的Web界面直接测试模型调用,确保AI核心功能正常。 2. 检查网关日志 ( openclaw logs),查看Bot接收到消息后的处理流程在哪里报错。 |
8.4 性能与优化提示
- 网关启动慢:首次启动或安装大量Skills后,网关需要加载和初始化所有组件,可能会比较慢。耐心等待几分钟,观察日志输出直至出现“Gateway started”类似信息。
- 模型响应慢:除了网络原因,也可能是你选择的模型本身较慢(如Claude Opus),或当前时间段使用该中转服务的人数较多导致排队。可以尝试切换同一Provider下的其他轻量级模型(如Claude Haiku)进行对比测试。
- 资源占用高:OpenClaw的Skills和模型调用会消耗CPU和内存。如果感觉系统变卡,可以通过网关UI或配置限制并发请求数,或者关闭一些不常用的Skills。
整个安装和配置过程,本质上是在搭建一个连接你的指令与强大AI能力的自动化管道。从系统准备、核心安装,到通过中转站配置模型,再到接入外部应用如Telegram,每一步都环环相扣。我最深刻的体会是,耐心和仔细阅读日志是解决所有问题的万能钥匙。九成以上的失败都源于某个小细节的疏忽——一个写错的Key、一个没配置的代理、一个JSON格式错误。当你按照这份指南走通全流程后,你获得的不仅是一个可用的AI助手,更是一套理解和排查复杂AI工具链的方法论。接下来,你就可以探索OpenClaw丰富的技能库,让AI帮你写代码、分析日志、整理知识库,真正释放生产力了。如果在实践中遇到本指南未覆盖的新问题,最好的方法是去查看OpenClaw和PipeLLM的官方文档或社区,通常你遇到的问题,别人已经遇到并解决了。