1. OpenClaw 到底是什么,能替你把哪些活干完
OpenClaw 是一个开源的 AI 智能体(Agent)项目,圈内人叫它“小龙虾”。它和普通聊天机器人最大的区别在于:聊天机器人是你说一句它回一句,而 OpenClaw 是你给它一个目标,它自己去拆步骤、调工具、执行任务,最后把结果交给你。适合谁?适合那些想让 AI 真正替自己动手干活、而不是只停留在对话框里的开发者和小团队。
我把它理解成一个“住在你电脑里的实习生”:你告诉它“把这份表格里重复的行去掉,按日期排序,导出成 CSV”,它会自己写脚本、跑命令、检查结果,而不是只给你一段代码让你自己复制粘贴。它的核心能力大致分几块:办公自动化(写邮件、整理文档、管理日历)、浏览器操控(抓数据、填表、提交)、IM 集成(接入微信/飞书/钉钉,发条消息就指挥电脑干活)、持久记忆(记住你的偏好和历史)、技能插件(ClawHub 上已有上万个技能包)、主动执行(上次没干完的任务它会接着干)。
这里要区分一个概念:OpenClaw 本身是“执行框架”,它需要一个大模型作为“大脑”来理解你的意图、规划步骤。所以你会看到两个东西——一个是 OpenClaw 本体,负责调度和执行;另一个是模型服务,负责推理和决策。很多人卡在配置阶段,就是因为没把这两层分清楚。我实测下来,最省事的做法是:OpenClaw 负责本地执行,模型走兼容 OpenAI 接口的云端服务,这样既不用本地跑大模型吃显存,又能随时切换不同模型。
那它到底能干什么?举几个我实际跑过的场景。第一个是批量文件处理:给它一个文件夹,让它把所有 Markdown 里的图片链接替换成图床地址,它会自己写正则、跑脚本、逐个文件改。第二个是网页数据抓取:告诉它“去某个页面把表格抓下来存成 Excel”,它会调浏览器、定位元素、导出文件。第三个是定时任务:让它每天早上把某个 API 的数据拉下来,整理成日报发到飞书。这些事单看都不难,但以前你得自己写脚本、调库、处理异常,现在你只需要描述目标。
关键点在于:OpenClaw 的能力边界取决于两件事——你给它接了什么工具(技能包),以及背后模型的理解能力。技能包决定了它能“动手”的范围,模型决定了它“想”得对不对。所以上手路径很清晰:先装好 OpenClaw,再配一个稳定的模型服务,然后按需装技能包。下面我就按这个顺序,把可复制的配置片段给你。
2. TaoToken 前置准备:给 OpenClaw 接上模型大脑
OpenClaw 自己不带模型,它需要一个能调用大模型的接口。你可以把它理解成:OpenClaw 是身体,模型是大脑,而 TaoToken 提供的是连接大脑的“神经接口”——一个兼容 OpenAI 规范的 API 服务。为什么推荐用它做前置?因为 OpenClaw 的配置里默认走 OpenAI 格式的接口,你只要把 Base URL 和 Key 填对,就能直接跑通,不用改源码。
先说清楚要准备什么。你需要三样东西:一个 API Key、一个 Base URL、一个模型 ID。这三样在 TaoToken 的控制台里都能拿到。API Key 在控制台的 API Keys 页面生成,Base URL 用https://taotoken.net/api,模型 ID 根据你选的模型填,比如claude-sonnet-4-20250514或者gpt-4o这类。注意 Base URL 后面不要多加/v1,OpenClaw 的配置里会自己拼路径,多加了反而会 404。
我试过在 OpenClaw 的配置文件里直接写死这些参数,也试过用环境变量注入。推荐用环境变量,因为这样切换模型或者换 Key 的时候不用改配置文件。具体做法是在你的 shell 配置文件里加几行:
export TAOTOKEN_API_KEY="sk-你的key" export TAOTOKEN_BASE_URL="https://taotoken.net/api" export TAOTOKEN_MODEL="claude-sonnet-4-20250514"然后source ~/.zshrc或者source ~/.bashrc让它生效。这样 OpenClaw 启动的时候就能读到这些变量。如果你用的是 Windows,就在系统环境变量里加,或者用.env文件配合 dotenv 加载。
这里有个坑要提前说:很多人以为配了 Key 就能直接用,结果 OpenClaw 报401 Unauthorized。原因通常是 Key 没生效,或者 Base URL 写错了。检查方法很简单,用 curl 直接测一下:
curl -s https://taotoken.net/api/chat/completions \ -H "Authorization: Bearer $TAOTOKEN_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "'"$TAOTOKEN_MODEL"'", "messages": [{"role": "user", "content": "ping"}], "max_tokens": 10 }'如果返回里有choices字段,说明 Key 和 Base URL 都没问题。如果返回401,就是 Key 错了;如果返回404,多半是 Base URL 多写了/v1。这一步先跑通,再去配 OpenClaw,能省掉后面一半的排障时间。
另外,TaoToken 的模型对话页面可以让你先在网页上试一下模型能不能正常回话,确认服务可用之后再往 OpenClaw 里接。这个顺序很重要:先验证接口,再配客户端,最后跑任务。很多人反过来,一上来就装 OpenClaw,结果报错分不清是 OpenClaw 的问题还是模型接口的问题。
3. 可复制配置:OpenClaw 接入模型与 ClawHub 技能
这一节给你可以直接抄的配置片段。OpenClaw 的配置通常放在项目根目录的config文件夹里,或者用.env加settings.json的组合。我按最常见的结构来写,你对照自己的目录调整路径。
先看模型接入部分。OpenClaw 的模型配置一般在一个 JSON 文件里,比如config/models.json或者settings.json的llm字段。核心是三个参数:base_url、api_key、model。写成这样:
{ "llm": { "provider": "openai-compatible", "base_url": "https://taotoken.net/api", "api_key": "${TAOTOKEN_API_KEY}", "model": "claude-sonnet-4-20250514", "max_tokens": 4096, "temperature": 0.3 } }注意api_key这里用了${TAOTOKEN_API_KEY}的写法,意思是从环境变量读取。如果你不想用环境变量,就直接把 Key 字符串填进去,但这样提交到 Git 的时候容易泄露,不推荐。temperature设成 0.3 是因为 Agent 任务需要稳定执行,太高的随机性会让它跑偏。
如果你用的是 TOML 格式的配置,比如config.toml,写法是这样:
[llm] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "${TAOTOKEN_API_KEY}" model = "claude-sonnet-4-20250514" max_tokens = 4096 temperature = 0.3两种格式选一种就行,看你的 OpenClaw 版本默认读哪个。配完之后,启动 OpenClaw 的时候它会加载这个配置。你可以用openclaw config check或者类似的命令验证配置有没有被正确读取。如果命令不存在,就直接启动,看日志里有没有打印出模型信息。
接下来是 ClawHub 技能接入。ClawHub 是 OpenClaw 的技能市场,里面有上万个技能包,装上就能扩展能力。接入方式一般是在配置文件里加一个skills数组,或者用命令行安装。我推荐用命令行,因为能自动处理依赖:
openclaw skill install web-scraper openclaw skill install file-organizer openclaw skill install email-sender装完之后,技能会出现在skills/目录下,每个技能有自己的manifest.json,里面定义了它能做什么、需要什么参数。你可以在 OpenClaw 的对话里直接说“用 web-scraper 抓取某个页面”,它会自动调用对应的技能。
如果你要手动配置技能,就在config/skills.json里写:
{ "skills": [ { "name": "web-scraper", "enabled": true, "config": { "headless": true, "timeout": 30000 } }, { "name": "file-organizer", "enabled": true, "config": { "watch_dir": "./downloads" } } ] }这里headless设成 true 是因为服务器上通常没有图形界面,浏览器要跑无头模式。timeout是抓取超时时间,单位毫秒。watch_dir是文件整理技能监控的目录,有新文件进来它会自动处理。
配置写完之后,重启 OpenClaw 让配置生效。重启命令一般是openclaw restart或者直接Ctrl+C再openclaw start。启动日志里会打印加载了哪些技能、用了哪个模型。如果看到skill loaded: web-scraper这样的字样,说明技能接入成功。
4. 验证请求:让 OpenClaw 真正执行一个任务
配置写完不算完,得让它真跑一个任务,才能确认整条链路是通的。我一般用一个最小任务来验证:让 OpenClaw 在本地创建一个文件,写入当前时间,然后读出来。这个任务足够简单,但能验证模型调用、工具执行、结果返回三个环节。
启动 OpenClaw 之后,在它的对话界面里输入:
在当前目录创建一个 test-openclaw.txt,写入当前时间,然后读取这个文件的内容并告诉我。如果一切正常,你会看到它分几步执行:先调用文件写入工具,再调用文件读取工具,最后把内容返回给你。日志里会显示它调用了哪个技能、传了什么参数、返回了什么结果。这个过程大概几秒钟,取决于模型响应速度。
如果它只回了一段文字但没有真的创建文件,说明模型没有正确调用工具。这时候检查两个地方:一是模型是否支持 function calling,二是 OpenClaw 的工具定义有没有正确传给模型。有些模型对工具调用的支持不完整,换一个模型试试,比如从gpt-4o换成claude-sonnet-4-20250514。
再跑一个稍微复杂点的任务,验证浏览器操控能力:
打开 https://example.com,把页面标题抓下来,存到 title.txt 里。这个任务会调用 web-scraper 技能,启动无头浏览器,访问页面,提取标题,写入文件。如果报错browser not found,说明没装浏览器依赖,跑一下openclaw skill setup web-scraper让它自动装。如果报错timeout,就把技能配置里的timeout调大,比如改成 60000。
验证成功的标志是:文件真的被创建了,内容正确,日志里没有 error。这时候你可以开始跑真实任务了。比如让它整理下载文件夹:
把 ~/Downloads 里所有的 PDF 文件移动到 ~/Documents/pdfs 目录,按修改日期重命名。这种任务能体现 OpenClaw 的价值:你描述目标,它自己拆步骤、处理边界情况(比如目录不存在就创建)、执行、汇报结果。跑完检查一下文件是不是真的移过去了,名字是不是按日期排的。
这里提醒一句:第一次跑真实任务的时候,先用一个测试目录,别直接对着重要文件操作。Agent 的执行能力越强,误操作的影响也越大。等确认它的行为符合预期了,再放开权限。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth
这一节列几个我踩过的坑,以及对应的排查方法。这些报错在 OpenClaw 接入模型的过程中很常见,按顺序检查基本都能解决。
401 Unauthorized:最常见。原因通常是 API Key 没生效、Key 写错了、或者环境变量没加载。排查步骤:先用 curl 直接测接口(参考第 2 节的命令),确认 Key 本身没问题。如果 curl 通了但 OpenClaw 报 401,就是 OpenClaw 没读到环境变量。检查方法是在启动 OpenClaw 的终端里执行echo $TAOTOKEN_API_KEY,看有没有输出。如果没有,说明环境变量没 export 成功,或者你启动 OpenClaw 的终端和配置环境变量的终端不是同一个。
local proxy failed:这个报错通常出现在 OpenClaw 尝试通过本地代理访问模型接口的时候。原因可能是你系统里设了 HTTP_PROXY 或 HTTPS_PROXY 环境变量,但代理服务没跑起来。解决方法:检查env | grep -i proxy,如果有代理设置但你没在用,就unset HTTP_PROXY HTTPS_PROXY去掉。如果你确实需要代理,确保代理服务正常运行。注意 OpenClaw 的配置里不要写代理地址,让它直连 TaoToken 的接口就行。
reading choices 报错:这个通常表现为cannot read property 'choices' of undefined或者类似的。原因是模型返回的 JSON 结构不符合预期,OpenClaw 去读choices字段的时候读不到。排查:先用 curl 看原始返回是什么。如果返回的是{"error": {...}},说明请求本身有问题,可能是模型 ID 写错了,或者参数不合法。如果返回正常但 OpenClaw 还是报这个错,检查 OpenClaw 的版本,有些老版本对 OpenAI 兼容接口的解析有 bug,升级到最新版通常能解决。
OAuth 相关报错:如果你在配置里看到了 OAuth 字样,比如OAuth token expired或者OAuth flow failed,说明你用的是需要 OAuth 认证的模型服务。TaoToken 的接口用的是 API Key 认证,不需要 OAuth。所以如果你遇到 OAuth 报错,检查一下配置里是不是混入了其他服务的认证方式。把provider改成openai-compatible,认证方式改成api_key,问题就解决了。
还有一个容易忽略的点:模型 ID 写错。比如把claude-sonnet-4-20250514写成claude-sonnet-4,有些服务会返回 404 或者 400。排查方法是在 TaoToken 的模型对话页面确认可用的模型 ID,然后原样复制到配置里。别自己猜名字。
如果以上都检查了还是不通,就去 TaoToken 的接入文档页面看最新的配置示例,或者直接在模型对话页面发一条消息,确认服务本身是活的。排障的核心思路是:先确认接口通,再确认客户端配置对,最后确认任务逻辑没问题。一层一层来,别跳步。
6. 把 OpenClaw 用起来的下一步
跑通基础任务之后,你可以按自己的场景扩展。如果你主要是做长期编码或者 Agent 自动化,建议把模型固定下来,用 Coding Plan 这类套餐控制成本,避免按量计费跑超。如果你还在试不同模型的效果,就先用模型对话页面快速对比,确认哪个模型在你的任务上表现最好,再写进 OpenClaw 配置。
接入文档里有完整的参数说明和示例,遇到配置问题先查文档,比在群里问快。API Keys 页面可以管理你的 Key,建议给 OpenClaw 单独生成一个 Key,方便追踪用量,也方便在泄露的时候单独吊销。
最后说一个实用技巧:OpenClaw 的任务日志会记录每次调用的模型、token 消耗、执行时间。定期看一下日志,能发现哪些任务耗 token 多、哪些技能经常失败。根据日志调整技能配置和模型选择,比盲目换模型有效得多。Agent 这东西,跑起来只是开始,调顺了才是真的省事。