1. 为什么要在本地跑 OpenClaw 这类 AI 智能体
OpenClaw 是一个可以本地运行的 AI 智能体工具,核心能力是把自然语言指令翻译成对电脑的实际操作:整理文件、批量重命名、抓取网页数据、生成表格、模拟键鼠点击。它适合三类人:每天被重复文件操作拖住的办公用户、想给内部流程加自动化的开发者、以及希望数据不出本机、对隐私敏感的技术团队。
我最初接触它的动机很直接:手头有一批按项目散落在不同文件夹的截图和文档,手动归类要花掉整个下午。用 OpenClaw 描述一句「把 D 盘下载文件夹里的图片按拍摄日期分到子文件夹」,它就能自己遍历、读取 EXIF、建目录、移动文件。整个过程不需要我写 Python,也不需要我记住任何 API 参数。
但真正决定把它长期留在机器上的,是本地部署带来的两个确定性。第一,文件读写、键鼠模拟这些高权限动作全部发生在自己电脑上,任务中间产物不会上传到第三方服务器。第二,模型通道可以自己指定,我可以用统一的 Key 和 Base URL 把请求打到 TaoToken 的 API 通道上,既能调用 Claude、GPT 这类主流模型,又不用在多个平台之间反复切换账号和密钥。
这里要先把一个概念说清楚:OpenClaw 本身是「执行器」,它负责理解你的自然语言、规划步骤、调用系统能力;而「大脑」是背后的大模型。执行器和大模型之间通过一个兼容 OpenAI 协议的接口通信。所以部署 OpenClaw 实际上分两件事——装好执行器,配好模型通道。很多人卡在第二步,因为默认配置里填的是官方地址,网络和额度都不一定顺手。把 Base URL 换成 TaoToken 的https://taotoken.net/api,再用一个 Key 统一管理,后面换模型只改一个 Model ID 就行。
这篇文章按「装执行器 → 配通道 → 跑任务 → 排错」的顺序走,每一步都给可复制的命令和配置。安装包部分我会说明获取方式,配置部分给出完整的 JSON 片段,验证部分给出预期输出。你跟着做,最后应该能在一个自然语言输入框里,让电脑自己完成一批文件操作。
需要提前说明的是,OpenClaw 具备系统控制和文件读写能力,部分安全软件会把它判定为风险程序,这是它的能力决定的,不是安装包本身有问题。处理方式是安装阶段临时退出实时防护,装完再把 OpenClaw 的安装目录加入白名单。这个顺序很重要,反过来做会导致解压出来的可执行文件被直接隔离。
2. 前置准备:安装包获取与 TaoToken 通道配置
先说安装包。OpenClaw 2.7.9 提供多系统版本,Windows 包体积约 45.8MB。下载时建议用稳定的下载工具,避免压缩包在传输中损坏,损坏的包解压后会出现「一键启动.exe 缺失」的情况。解压不要用 Windows 自带的解压工具,它对大文件和带权限的目录处理不好,推荐 7-Zip 或 WinRAR,右键选择「解压到当前文件夹」,等 1 到 2 分钟,得到Openclaw-win文件夹,里面能看到红色龙虾图标的Openclaw Windows一键启动.exe就说明完整。
安装路径有一条硬性要求:必须是纯英文字符,不能有中文、空格、特殊符号。D:\OpenClaw是推荐写法,D:\软件\OpenClaw、D:\Open Claw都会在依赖安装阶段报路径错误。磁盘至少留 1.6GB,因为安装过程会临时下载 Git、Node.js、Python 的便携版并构建项目文件。
接下来是模型通道。OpenClaw 的模型配置集中在一个.env文件里,安装完成后位于安装目录根部。默认它可能指向官方地址,我们要把它改成 TaoToken 的统一通道。先到控制台创建一个 API Key,路径是https://taotoken.net/console,在 API Keys 页面新建一个,复制出来。这个 Key 同时适用于对话模型和编码类模型,不用为不同模型建不同 Key。
然后编辑.env,把下面这几项填进去。注意 Base URL 用https://taotoken.net/api,不要带任何多余路径:
# OpenClaw 模型通道配置 OPENAI_API_KEY=sk-你的TaoToken密钥 OPENAI_BASE_URL=https://taotoken.net/api OPENAI_MODEL=claude-sonnet-4-5如果你更习惯用 JSON 管理配置,OpenClaw 也支持在config/model.json里写结构化配置,效果等价:
{ "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "model": "claude-sonnet-4-5", "timeout": 60000, "maxRetries": 2 }这里有个容易踩的坑:baseUrl结尾不要加/v1。OpenClaw 内部会自己拼接/v1/chat/completions,如果你写成https://taotoken.net/api/v1,最终请求会变成/api/v1/v1/chat/completions,直接 404。我试过在这个地方多花半小时,最后发现是路径重复。
Model ID 的写法要和通道支持的名称一致。Claude 系列常用claude-sonnet-4-5,GPT 系列用gpt-4o这类。如果你不确定当前通道支持哪些模型,可以打开模型对话页面https://taotoken.net/models看列表,或者直接在对话里问一句「你是什么模型」来确认通道是否通。
配置改完要重启 OpenClaw 服务,让.env重新加载。主界面右上角有「服务重启」按钮,点一下,等 Gateway 状态从「初始化中」变成「在线」。这一步没做的话,后面发指令会一直转圈或者报连接失败。
3. 可复制配置:把 OpenClaw 接到统一 Key 通道
这一节把配置拆细,因为大部分「连不上模型」的问题都出在这里。OpenClaw 的配置分三层:环境变量层、模型配置文件层、运行时覆盖层。优先级从低到高,也就是说运行时在界面里填的参数会覆盖文件里的值。建议统一在文件里配好,界面里不要重复填,避免两处不一致。
先确认安装目录结构。装完之后你应该能看到这些关键文件:
D:\OpenClaw\ ├── Openclaw Windows一键启动.exe ├── .env ├── config\ │ └── model.json ├── logs\ │ └── gateway.log └── skills\.env负责基础连接,config/model.json负责模型参数。两者都改,保持一致。下面是一个完整的.env示例,包含超时和重试,这两个参数在批量任务里很关键,因为一次任务可能连续发几十个请求,网络抖动时没有重试会直接中断:
# 基础通道 OPENAI_API_KEY=sk-你的TaoToken密钥 OPENAI_BASE_URL=https://taotoken.net/api OPENAI_MODEL=claude-sonnet-4-5 # 稳定性参数 OPENAI_TIMEOUT=60000 OPENAI_MAX_RETRIES=3 OPENCLAW_LOG_LEVEL=info对应的config/model.json:
{ "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的TaoToken密钥", "model": "claude-sonnet-4-5", "temperature": 0.2, "timeout": 60000, "maxRetries": 3, "stream": true }temperature设 0.2 是有意的。文件整理、批量操作这类任务需要确定性,模型不应该「发挥创意」决定把文件放哪。低温度让它的输出更稳定,同样的指令每次规划出的步骤基本一致。stream打开后,界面里能看到模型逐字输出,长任务时不会以为卡死。
如果你用的是 Claude Code 或 Cline 这类编码工具,想把 OpenClaw 和它们共用同一个 Key,配置方式是一样的,都是填 Base URL、Key、Model ID 三件套。区别只是字段名。比如 Cline 的 MCP 配置里写的是baseUrl和apiKey,Codex 的auth.json里写的是OPENAI_BASE_URL和OPENAI_API_KEY。核心就这三项,记住这个就不会乱。
配置完成后,用一条命令验证通道是否通。OpenClaw 自带一个诊断入口,在安装目录下执行:
cd /d D:\OpenClaw .\openclaw.cmd doctor --check-model预期输出会打印当前使用的 Base URL、Model ID,并发一个最小请求测试连通性。如果看到model check: ok和返回的模型名称,说明通道没问题。如果报 401,说明 Key 不对或没生效;报连接超时,说明 Base URL 写错或网络层有问题。这两种错误的处理方式在第五节展开。
还有一点:.env文件不要用记事本存成带 BOM 的 UTF-8,某些解析器会把 BOM 当成 Key 的一部分,导致 401。用 VS Code 或 Notepad++ 保存为「UTF-8 无 BOM」。这个细节很小,但确实有人栽在上面。
4. 验证请求与成功结果:跑通第一个自然语言任务
配置通了之后,先别急着上复杂任务。用一个最小可验证的指令确认整条链路:自然语言 → 模型规划 → 本地执行 → 结果反馈。我建议的第一个任务是「在桌面创建一个测试文件夹并写入一个文本文件」,因为它不涉及删除和移动,风险最低,出问题也好回滚。
在 OpenClaw 主界面底部的输入框里输入:
在桌面创建一个名为 openclaw_test 的文件夹,在里面新建一个 hello.txt,内容写「通道验证成功」按 Enter 发送。你会看到界面依次出现几个阶段:模型思考中、规划步骤、执行动作、完成。执行完成后,去桌面看,应该有一个openclaw_test文件夹,里面有hello.txt。打开确认内容正确,说明从模型通道到本地文件系统整条链路是通的。
这一步的日志值得看一眼。打开logs/gateway.log,能看到类似这样的记录:
[INFO] model request -> baseUrl=https://taotoken.net/api model=claude-sonnet-4-5 [INFO] plan: 1) create dir ~/Desktop/openclaw_test 2) write file hello.txt [INFO] exec: mkdir ok [INFO] exec: write file ok [INFO] task finished in 3.2s日志里能看到实际请求打到了哪个 Base URL,这是排查配置是否生效最直接的证据。如果这里显示的地址和你配的不一样,说明有更高优先级的配置覆盖了它,去界面设置里检查有没有重复填写。
第一个任务通过后,再上文件整理这类真实场景。指令可以写得具体一点,把路径、分类规则、目标位置都说清楚:
遍历 D:\Downloads 下的所有 jpg 和 png 文件,读取拍摄日期,按「年-月」创建子文件夹并移动进去,没有拍摄日期的放到 unknown 文件夹发送后观察执行过程。OpenClaw 会先列出它识别到的文件数量,然后逐个处理。批量任务耗时取决于文件数,几百张图大概几十秒。完成后去D:\Downloads看,应该出现2024-01、2024-02这样的目录,图片按日期归位。
这里有个实用技巧:第一次跑批量任务时,先让它「只列出计划,不执行」。在指令末尾加一句「先输出计划,等我确认后再执行」。OpenClaw 会进入确认模式,把要做的操作列出来,你检查没问题再点执行。这个习惯能避免误删和误移动,尤其是涉及rm或覆盖写的时候。
验证成功的标准有三个:界面显示任务完成、日志里没有 error 级别记录、文件系统里的结果符合预期。三个都满足才算真正跑通。只满足前两个但结果不对,通常是模型对路径的理解有偏差,把指令写得更明确即可。
5. 本篇常见错误排查:401、连接失败与模型无响应
这一节按真实报错来。下面这几个是我和身边人实际遇到过的,每个都给现象、原因、处理方式。
401 Unauthorized。现象是发指令后立刻失败,日志里写401或invalid api key。原因通常是三种:Key 复制时带了空格或换行、.env存成了带 BOM 的格式、或者 Key 已经被删除。处理方式是重新到https://taotoken.net/api-keys复制一次,粘贴时注意首尾不要有空白,保存文件用无 BOM 的 UTF-8。改完重启服务再试。
local proxy failed / connection refused。现象是请求发不出去,日志里出现dial tcp或connection refused。这通常是 Base URL 写错,比如多写了/v1,或者把https写成了http。检查.env里的OPENAI_BASE_URL是否严格等于https://taotoken.net/api。另外确认本机没有其他程序占用同名环境变量,有时候系统级的环境变量会覆盖文件里的值。
reading choices: unexpected end of JSON input。现象是模型返回了内容但解析失败,日志里出现reading choices或unexpected end of JSON。这多半是stream模式和某些中间层不兼容,或者超时设得太短,响应被截断。处理方式是把stream改成false,把timeout从 60000 提到 120000,再试一次。如果还不行,检查 Model ID 是否拼写正确,错误的模型名有时会返回非标准格式的错误体。
OAuth 相关报错。如果你之前用过 Claude Code 的 OAuth 登录,可能会在环境里残留ANTHROPIC_API_KEY之类的变量,和 OpenClaw 的配置冲突。现象是明明配了 TaoToken 的 Key,请求却打到了别的地方。处理方式是检查系统环境变量,把冲突的项清掉,或者在 OpenClaw 启动脚本里显式覆盖。
Gateway 一直离线。现象是主界面右上角一直显示「初始化中」或「离线」。先确认安装路径是纯英文,中文路径会导致依赖启动失败。再看logs/gateway.log最后几行有没有端口占用错误。OpenClaw 默认用一个本地端口做网关,如果被其他程序占了,换个端口或关掉占用程序。最后确认安全软件没有拦截本地回环通信。
任务执行到一半卡住。现象是界面停在某个步骤不动。先看日志,如果是模型请求超时,说明网络抖动,重试参数没生效。如果是本地操作卡住,可能是文件被其他程序占用,比如正在被 Excel 打开。关掉占用程序,重新发指令。
排查的通用顺序是:看日志定位错误类型 → 对照上面几类判断原因 → 改配置 → 重启服务 → 重跑最小验证任务。不要一上来就重装,大部分问题都在配置层,重装解决不了。
6. 把 OpenClaw 用成日常工具:通道、模型与任务的分工
跑通之后,真正决定它好不好用的是任务设计,而不是工具本身。我的经验是把任务分成三类,分别用不同的模型和参数。
第一类是确定性文件操作,比如按规则整理、批量重命名、格式转换。这类任务用低温度、快模型就行,指令要写得像给新同事交代工作:路径明确、规则明确、异常情况明确。比如「没有日期的放 unknown」这种兜底规则一定要写,否则模型遇到不符合条件的文件可能自己发挥。
第二类是信息提取和汇总,比如遍历文档提取标题、抓网页整理成表格。这类任务对模型的理解能力要求高,适合用 Claude 这类长上下文模型。指令里要指定输出格式,比如「生成 CSV,列名为标题、作者、日期」,否则每次输出结构都不一样,后续没法用。
第三类是浏览器自动化和跨应用操作,比如打开网页搜索、发消息。这类任务风险最高,因为涉及外部系统。建议先在测试账号上跑,确认流程稳定再上真实账号。指令里加上「每步操作后截图保存」这类要求,方便出问题时回溯。
模型通道方面,用 TaoToken 统一 Key 的好处在这里体现出来:换模型只改OPENAI_MODEL一个字段,不用重新申请 Key、不用改 Base URL。今天用 Claude 做文档理解,明天想试 GPT 做代码生成,改一行配置重启即可。长期跑编码和 Agent 类任务的话,Coding Plan 这类套餐在额度上更划算,适合把 OpenClaw 当成常驻工具的人。
最后给一个我自己的配置习惯:把常用的任务指令存成文本片段,放在skills目录下,需要时直接粘贴。OpenClaw 支持从文件读取指令模板,这样重复任务不用每次重新描述。模板里把路径和规则参数化,用的时候替换一下就行。这个做法让我的文件整理任务从「每次想怎么说」变成「改两个参数回车」,实际使用频率高了很多。
工具的价值在于被用起来。装好、配通、跑顺第一个任务之后,剩下的就是把你每天重复的那些操作,一条条翻译成自然语言指令。