2026年OpenClaw(原Clawdbot)安装并使用Skills保姆级教程:把settings改到TaoToken
1. 从零装好 OpenClaw 却卡在模型通道我踩过的三个坑OpenClaw原 Clawdbot是一个轻量级的 AI 任务自动化框架你可以把它理解成一个「本地跑得动、能挂 Skills、能接各种模型通道」的 Agent 运行时。它能做什么简单说就是你给它一个任务描述它自己拆步骤、调工具、跑 Skills最后把结果吐回来。适合谁适合想在自己机器或小服务器上跑自动化流程、又不想被某一家模型厂商绑死的开发者。我这次的目标很明确装好 OpenClaw把 Skills 目录跑通然后把settings里的模型通道从默认配置改到 TaoToken 的统一 Key/API 通道最后验证一次真实调用能返回正常结果。前两次尝试都翻车了。第一次是 Skills 列表死活加载不出来日志里只有一行skills directory not found第二次是模型通道改完请求直接报local proxy failed我一度以为是网络问题折腾半天才发现是settings里 base URL 和 model id 没对齐。第三次我把整个链路拆成「安装 → 配置 → 验证」三段逐段确认才跑通。这篇就按这个顺序写重点放在settings配置片段和 Skills 目录结构上每一步都给可复制的命令和配置。你跟着做基本能避开我踩的那几个坑。先说清楚整体链路OpenClaw 本体负责调度Skills 是它调用的能力单元放在固定目录里按约定格式声明模型通道则由settings文件里的 provider 配置决定。三者关系是——OpenClaw 启动时读settings拿到模型通道运行时按任务需要去 Skills 目录加载对应能力再通过模型通道发起请求。所以任何一环配置错了表现都是「启动没报错但调用失败」这也是最容易让人误判的地方。下面进入正题。我会先讲安装和目录准备再讲 TaoToken 通道的前置准备然后是核心的settings配置片段接着是逐项验证动作最后是常见报错排查。2. 安装 OpenClaw 与 Skills 目录准备settings 文件到底在哪安装 OpenClaw 本身不复杂关键是搞清楚它的目录结构尤其是settings文件和 Skills 目录的位置。很多人装完找不到配置文件就是因为不知道默认路径。我用的方式是源码安装这样目录结构最清晰也方便后面改settings。先确认基础环境Node.js 18 以上、npm 或 pnpm、git。我用的是 Node 20 pnpm。# 确认 Node 版本低于 18 先升级 node -v # 确认包管理器 pnpm -v # 拉取 OpenClaw 源码2026 稳定分支 git clone https://github.com/openclaw/openclaw.git cd openclaw # 安装依赖 pnpm install # 构建 pnpm build构建完成后目录里会出现几个关键路径我列一下你对照自己的实际情况openclaw/ ├── settings.json # 主配置文件模型通道在这里改 ├── skills/ # Skills 根目录 │ ├── example-skill/ │ │ ├── skill.json # Skill 声明文件 │ │ └── index.js # Skill 执行逻辑 │ └── ... ├── data/ # 运行时数据、日志 └── package.json如果你是用 npm 全局安装的settings.json一般在用户目录下比如~/.openclaw/settings.jsonSkills 目录则是~/.openclaw/skills/。两种方式都行我建议源码安装路径可控出问题好排查。Skills 目录的结构有约定不是随便放个 js 文件就能被识别。每个 Skill 是一个子目录里面必须有skill.json声明名称、版本、入口文件、参数 schema。举个最小可用的例子{ name: echo-skill, version: 1.0.0, description: 回显输入内容用于验证 Skills 加载链路, entry: index.js, parameters: { type: object, properties: { text: { type: string, description: 要回显的文本 } }, required: [text] } }对应的index.jsmodule.exports async function ({ text }) { return { echoed: text, timestamp: Date.now() }; };这个 echo-skill 后面验证环节会用到先建好。注意skill.json里的entry必须和实际文件名一致大小写敏感这是 Skills 列表加载失败最常见的原因之一。装完之后先别急着改模型通道先跑一次启动确认本体没问题# 启动 OpenClaw pnpm start # 正常输出类似 # [openclaw] server listening on :3000 # [openclaw] skills loaded: 1 # [openclaw] settings loaded from ./settings.json如果这里就报错先解决启动问题别往下走。启动无报错是后面所有验证的前提。我见过有人启动日志里其实有skills loaded: 0但没注意后面调用一直失败还以为是模型通道的问题。到这里安装和目录准备就完成了。下一步是准备 TaoToken 的通道信息也就是 Key 和 API 地址。3. 把 settings 改到 TaoToken 通道可复制的配置片段这一步是全文核心。OpenClaw 的模型通道由settings.json里的 provider 配置决定默认可能指向某个内置通道我们要把它改成 TaoToken 的统一 Key/API 通道。先说前置准备。你需要一个 TaoToken 的 API Key。获取入口在控制台的 API Keys 页面登录后创建即可。TaoToken 的 API 地址是https://taotoken.net/api这个地址在配置里会用到。如果你还没注册可以从官网入口进https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 注册后在控制台创建 Key。拿到 Key 之后打开settings.json。默认内容大概长这样不同版本略有差异{ server: { port: 3000 }, skills: { dir: ./skills }, model: { provider: default, baseUrl: https://some-default-endpoint/v1, apiKey: , modelId: default-model } }我们要改的是model这一段。改成 TaoToken 通道后{ server: { port: 3000 }, skills: { dir: ./skills }, model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: 你的TaoToken API Key, modelId: claude-sonnet-4-20250514, timeout: 60000, maxRetries: 2 } }几个关键点必须对齐错一个就会报错provider填openai-compatible因为 TaoToken 的 API 是 OpenAI 兼容格式OpenClaw 用这个 provider 类型去发请求。baseUrl填https://taotoken.net/api注意不要多加/v1OpenClaw 内部会自己拼路径。我第二次翻车就是这里多写了/v1结果请求打到https://taotoken.net/api/v1/chat/completions之外的路径直接 404。apiKey填你创建的那串 Key注意不要带多余空格。modelId填你要用的模型 ID比如claude-sonnet-4-20250514。这个 ID 要和 TaoToken 支持的模型列表一致填错了会报model not found。如果你用的是 TOML 格式的配置部分版本支持等价写法是[server] port 3000 [skills] dir ./skills [model] provider openai-compatible baseUrl https://taotoken.net/api apiKey 你的TaoToken API Key modelId claude-sonnet-4-20250514 timeout 60000 maxRetries 2改完保存重启 OpenClawpnpm start启动日志里应该能看到settings loaded和model provider: openai-compatible。如果日志里 provider 还是 default说明你的settings.json路径不对OpenClaw 读的是另一个文件。用pnpm start --verbose可以看到它实际加载的配置路径。这里补一句如果你同时用 Claude Code 或 Cline 这类工具它们的配置逻辑类似都是 Base URL Key Model ID 三件套。TaoToken 的接入文档里有各工具的配置示例可以对照着看入口在接入文档页。配置改完只是第一步能不能真正跑通得靠验证。下一节讲逐项验证动作。4. 逐项验证启动无报错、Skills 可加载、示例调用返回正常配置改完不能只看启动日志要逐项验证。我按三个层次来启动层、Skills 层、调用层。每一层都有明确的成功标志任何一层不过都别往下走。第一层启动无报错。重启后看日志pnpm start # 期望输出 # [openclaw] server listening on :3000 # [openclaw] settings loaded from ./settings.json # [openclaw] model provider: openai-compatible # [openclaw] skills loaded: 1四个关键行都要有。model provider必须是openai-compatibleskills loaded至少是 1我们建了 echo-skill。如果skills loaded: 0去检查settings.json里skills.dir指向的目录以及每个 Skill 子目录里有没有合法的skill.json。第二层Skills 列表可加载。OpenClaw 启动后有个 HTTP 接口可以查 Skills 列表curl http://localhost:3000/skills # 期望返回 # { # skills: [ # { name: echo-skill, version: 1.0.0, description: 回显输入内容... } # ] # }如果返回空数组说明 Skills 没被扫描到。常见原因是skill.json格式错误或者entry指向的文件不存在。用node -e require(./skills/echo-skill/skill.json)单独验证一下 JSON 是否合法。第三层示例调用返回正常。这是最关键的一步它同时验证了模型通道和 Skills 执行链路。OpenClaw 提供一个调用接口curl -X POST http://localhost:3000/invoke \ -H Content-Type: application/json \ -d { skill: echo-skill, parameters: { text: hello taotoken } } # 期望返回 # { # success: true, # result: { echoed: hello taotoken, timestamp: 1730000000000 } # }注意这个调用走的是 Skills 执行链路不一定经过模型通道。要验证模型通道得发一个需要模型推理的请求curl -X POST http://localhost:3000/chat \ -H Content-Type: application/json \ -d { messages: [ { role: user, content: 用一句话说明你正在通过哪个通道响应 } ] } # 期望返回一段正常的模型回复文本如果这一步返回了正常文本说明 TaoToken 通道打通了。如果报错看下一节的排查。我实测下来这三层验证做完基本能确认整条链路是通的。启动层确认配置被正确加载Skills 层确认能力单元可被发现调用层确认模型通道和 Skills 执行都正常。三层都过才算真正装好。5. 常见报错排查401、local proxy failed、reading choices、OAuth这一节列几个我实际遇到过的报错以及对应的排查方向。这些报错在 OpenClaw 接入 TaoToken 的过程中比较典型你大概率会碰到其中一个。报错一401 UnauthorizedError: request failed with status 401 {error:{message:invalid api key,type:authentication_error}}这是 Key 的问题。排查顺序先确认settings.json里apiKey没有多余空格或换行再确认这个 Key 在 TaoToken 控制台是启用状态最后确认 Key 没有过期。如果 Key 是从控制台复制的注意别把前后引号也复制进去。我见过有人把 Key 用引号包起来填进 JSON结果 Key 里带了引号字符直接 401。报错二local proxy failedError: local proxy failed: connect ECONNREFUSED 127.0.0.1:7890这个报错说明 OpenClaw 尝试走本地代理但代理没开。如果你机器上配了全局代理环境变量HTTP_PROXY/HTTPS_PROXYOpenClaw 会继承。解决办法是在启动前清掉这些变量unset HTTP_PROXY unset HTTPS_PROXY unset ALL_PROXY pnpm start或者在settings.json里显式声明不走代理。这个报错和 TaoToken 本身无关是本地网络环境的问题。报错三reading choicesTypeError: Cannot read properties of undefined (reading choices)这个报错说明请求发出去了但返回的 JSON 结构里没有choices字段。常见原因有两个一是baseUrl配错了请求打到了非 OpenAI 兼容的端点返回了错误结构二是modelId填错了服务端返回了错误信息而不是正常的 completion 结构。排查方法用 curl 直接打一次 TaoToken 的接口看返回结构curl https://taotoken.net/api/chat/completions \ -H Authorization: Bearer 你的Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{ role: user, content: hi }] }如果这个 curl 返回正常说明 Key 和模型 ID 没问题那就是 OpenClaw 的baseUrl配置问题。重点检查有没有多写/v1。报错四OAuth 相关错误Error: OAuth token exchange failed如果你在 OpenClaw 里配了 OAuth 类型的 provider但实际用的是 API Key 通道就会报这个。解决办法是把provider改成openai-compatible用 Key 认证不要走 OAuth 流程。TaoToken 的通道用 Key 认证即可不需要 OAuth。报错五Skills 加载失败但无明确报错[openclaw] skills loaded: 0没有报错但 Skills 数量是 0通常是skill.json里的entry字段和实际文件名不匹配或者parameters的 schema 格式不合法。用这个命令逐个验证for d in skills/*/; do echo checking $d node -e JSON.parse(require(fs).readFileSync($d/skill.json)) echo json ok done排查完这些基本能覆盖 90% 的接入问题。如果还有别的报错可以对照 TaoToken 的接入文档里面有更详细的错误码说明。6. 把通道固定下来后续维护与扩展建议跑通之后有几件事值得做能让这套配置更稳。第一把settings.json纳入版本管理但 Key 不要提交。可以用环境变量替换{ model: { provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, modelId: claude-sonnet-4-20250514 } }启动前export TAOTOKEN_API_KEY你的Key这样配置文件可以安全地提交到仓库。第二Skills 目录可以按业务拆分。比如skills/office/、skills/dev/只要settings.json里skills.dir指向根目录OpenClaw 会递归扫描。每个 Skill 保持独立目录和skill.json方便单独更新。第三如果你要长期跑 Agent 任务可以考虑用 Coding Plan 这类按量方案比单次调用更划算。入口在 Coding Plan 页面。日常调试模型响应用模型对话页面直接测更快。第四定期检查 OpenClaw 和 Skills 的版本。Skills 的skill.json里可以声明兼容的 OpenClaw 版本范围升级前先看 changelog避免 schema 变更导致加载失败。这套配置我跑了一段时间整体稳定。核心就是三件事settings里的 Base URL、Key、Model ID 对齐Skills 目录结构规范验证分三层做。把这三件事固定成流程后面换模型、加 Skill 都不会乱。

相关新闻

基于Python的AlexNet花卉分类识别系统:原理、实现与调优

基于Python的AlexNet花卉分类识别系统:原理、实现与调优

简介:基于AlexNet的花卉分类识别系统是一套完整的预训练模型应用项目,面向Python与深度学习入门者、进阶学习者以及正在筹备毕业设计或课程设计的同学,可快速用于图像分类实践或项目立项。系统能区分10种不同类别的花卉,训练数据来…

2026/10/13 12:48:10 阅读更多 →
ARIMA-SSA-LSTM组合模型:小样本时间序列预测实战指南

ARIMA-SSA-LSTM组合模型:小样本时间序列预测实战指南

简介:本资源面向计算机、电子信息工程、数学等专业的大学生及算法入门者,提供一套完整的ARIMA-SSA-LSTM时间序列预测实现方案,可用于课程设计、期末大作业或毕业设计。代码基于Python与TensorFlow编写,采用参数化编程思路&#xf…

2026/10/13 12:48:14 阅读更多 →
三维姿态表示实战决策图谱:旋转矩阵、四元数、旋转向量与变换矩阵的工程选型指南

三维姿态表示实战决策图谱:旋转矩阵、四元数、旋转向量与变换矩阵的工程选型指南

1. 这不是数学考试,是三维空间里“拧螺丝”的实操手册你有没有过这种时刻:在调试一个机械臂末端姿态时,明明欧拉角输入的是(30, 0, 45),结果仿真里连杆却歪向了完全相反的方向?或者在Unity里给一…

2026/10/13 12:48:18 阅读更多 →

最新新闻

微信小程序奶茶店毕设从0到1全流程指南

微信小程序奶茶店毕设从0到1全流程指南

十个计算机毕设选题里,大概有五个是“基于微信的奶茶店小程序”。这个题目乍一看很重复,但它能常年被列入选题清单是有原因的:业务模型清晰,用户能一眼看懂价值;涉及点单、支付、购物车、后台管理、数据统计这些经典模…

2026/10/13 23:59:41 阅读更多 →
微生物群落结构差异分析:从统计显著到生物学可解释

微生物群落结构差异分析:从统计显著到生物学可解释

1. 这不是“画个热图就完事”的统计游戏很多人第一次接触“微生物群落结构差异分析”&#xff0c;脑子里浮现的是一张带颜色的热图、几个堆叠柱状图&#xff0c;外加一句“两组间存在显著差异&#xff08;p<0.05&#xff09;”。我见过太多项目——某高校实验室的土壤样本测…

2026/10/13 23:59:41 阅读更多 →
智慧用能研究院Java一面:高频考点与模拟面试实战拆解

智慧用能研究院Java一面:高频考点与模拟面试实战拆解

一个模拟出来的“研究院一面”&#xff0c;为什么值得认真拆&#xff1f;很多同学一听说“模拟面试”就觉得是走过场——找个学长学姐或者培训机构老师&#xff0c;照着简历问一圈&#xff0c;然后给个“不错”“基础还行”的评价&#xff0c;就结束了。但我可以负责任地讲&…

2026/10/13 23:59:41 阅读更多 →
AnyPS5:基于语义桥接的PS5游戏跨平台运行技术解析

AnyPS5:基于语义桥接的PS5游戏跨平台运行技术解析

1. 项目概述&#xff1a;一个被误读的命名现象&#xff0c;背后是跨平台兼容性设计的现实困境“AnyPS5”这个词最近在多个技术社区和硬件讨论区频繁出现&#xff0c;但几乎没人能说清它到底指什么。它既不是索尼官方发布的型号&#xff0c;也不是某款已上市设备的代号&#xff…

2026/10/13 23:59:41 阅读更多 →
Manjaro GNOME配置包冲突:manjaro-gnome-settings与-18.0互斥解析

Manjaro GNOME配置包冲突:manjaro-gnome-settings与-18.0互斥解析

1. 问题本质&#xff1a;这不是系统坏了&#xff0c;是包管理器在“认真履职”刚看到这个报错——manjaro-gnome-settings 与 manjaro-gnome-settings-18.0 有冲突——很多刚从Ubuntu或Windows转来的用户第一反应是“系统崩了”“是不是升级把GNOME搞挂了”。其实恰恰相反&…

2026/10/13 23:59:41 阅读更多 →
MyBatis插件机制深度剖析:从动态代理到SQL改写与加解密实战

MyBatis插件机制深度剖析:从动态代理到SQL改写与加解密实战

1. 插件机制的本质&#xff1a;不是魔法&#xff0c;是接口的排列组合我最早接触Mybatis插件的时候&#xff0c;把文档翻来覆去看了好几遍&#xff0c;脑子里一直是糊的。原因很简单&#xff1a;网上大部分教程上来就丢一个拦截器的代码&#xff0c;然后告诉你“这样就能自动分…

2026/10/13 23:58:40 阅读更多 →

日新闻

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介&#xff1a;基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码&#xff0c;面向计算机相关专业课程设计与期末大作业学生&#xff0c;以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程&#xff0c;…

2026/10/13 2:54:56 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程&#xff1a;键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化&#xff0c;十个新手有八个栽在"往输入框里填东西"这件事上&#xff1a;要么填不进去&#xff0c;要么填了一半&#xff0c;要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程&#xff1a;阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀&#xff1a;什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面&#xff0c;跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/13 1:58:08 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →