☰
OpenClaw 10个skills安装(Docker):把endpoint改到TaoToken
2026/10/7 14:17:36 网站建设 项目流程

1. 为什么要在 Docker 里装 OpenClaw skills,以及 endpoint 为什么要改

OpenClaw 是一个可以本地部署的智能体运行框架,你可以把它理解成一个「住在容器里的 AI 助手」,它本身只提供对话和任务调度的骨架,真正让它能干活的,是一个个独立的 skills(技能包)。比如联网搜索、GitHub 仓库管理、飞书文档读写、自动化工作流编排,这些都是靠 skill 挂载进去的。适合谁?适合想把 AI 助手跑在自己机器上、又不想污染本机环境的人,尤其是 Windows 用户——Docker 帮你把依赖、Node 版本、Python 环境全部隔离在一个容器里,删掉容器就等于卸载干净。

但这里有个新手最容易卡住的点:OpenClaw 默认的模型 endpoint 指向的是官方地址,国内直连经常超时或者返回 401。所以安装 skills 之前,先把 endpoint 改到 TaoToken 的 API 地址,让容器里的 OpenClaw 走一个稳定可达的模型入口。这一步不做,后面 skills 装得再全,调用模型时照样报错。

我试过在 Windows 上用 Docker Desktop 跑 OpenClaw,整个流程分两大块:一是容器本身的启动和 skills 目录挂载,二是把 endpoint 配置写进 settings 文件。下面按可复制的顺序拆开讲,命令都能直接粘贴。

先明确几个概念,避免后面混淆:

  • 镜像(image):OpenClaw 的程序本体,从镜像仓库拉下来。
  • 容器(container):镜像跑起来的实例,你的 skills 装在容器内部。
  • skills 目录:容器里存放技能包的路径,通常需要挂载到宿主机,方便备份和查看。
  • endpoint:模型 API 的请求地址,本篇指向 TaoToken。

Docker 环境下的 skills 安装和裸机安装最大的区别是:你不能直接在 PowerShell 里敲npx clawhub install xxx,因为 clawhub 这个命令装在容器里,宿主机上没有。正确姿势是用docker exec把命令「递」进容器执行。这个思路贯穿全文,记住它就不会迷路。

另外提醒一句,skills 安装依赖网络拉取资源,部分技能包(比如搜索类、社交平台类)在拉取阶段可能因为资源地址问题失败,这属于正常现象,后面第五节会专门讲怎么排查。

2. TaoToken 前置准备:拿到 Base URL、Key 和 Model ID

在动 Docker 之前,先把 TaoToken 这边的三件套准备好,否则容器起来了也没法调模型。所谓三件套就是:Base URL、API Key、Model ID。这三个东西在后面的 settings 配置里都要填,缺一不可。

第一步,注册并登录。打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,完成账号注册。这一步没什么技术含量,邮箱验证即可。

第二步,进控制台创建 API Key。登录后进入控制台页面 https://taotoken.net/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,找到 API Keys 管理入口 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,点新建,复制生成的 Key。这个 Key 只显示一次,建议先粘到记事本里。格式通常是一串以sk-开头的字符串。

第三步,确认 Base URL。TaoToken 的 API 基础地址是:

https://taotoken.net/api

注意这个地址后面不加UTM 参数,配置里就写这个干净的地址。有些工具要求填到/v1结尾,有些只填到/api,具体看 OpenClaw 的配置字段要求,本篇的 settings 片段会给出完整写法。

第四步,选一个 Model ID。在模型列表里挑一个你要用的模型,比如常见的对话模型或者代码模型,把它的 ID 记下来。Model ID 是区分大小写的,填错会直接报模型不存在。

三件套汇总成一张表,方便你对照:

配置项值获取位置
Base URLhttps://taotoken.net/api固定地址
API Keysk-xxxxxxxx控制台 API Keys 页
Model ID如claude-sonnet-4-5等模型列表页

如果你只是想先验证模型能不能通,不想折腾容器,可以直接用模型对话页面 https://taotoken.net/model-chat?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 发一条消息测试,能正常回复说明 Key 和模型都没问题,再往下走 Docker 流程心里就有底了。

对于长期要跑编码任务或者 Agent 自动化的场景,可以考虑 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,额度更划算。但本篇重点是 Docker 里的 skills 安装,先把基础连通性搞定。

拿到三件套后,别急着关页面,接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 建议开着,里面有针对不同客户端的配置示例,遇到字段不确定时可以对照。

3. 可复制配置:docker run / compose 与 settings 片段

这一节是全文的核心操作区,给出能直接复制的 Docker 启动命令、compose 文件,以及指向 TaoToken 的 settings 配置片段。路径和字段名尽量和 OpenClaw 官方保持一致,你照着改 Key 和 Model ID 就能用。

3.1 拉取镜像并启动容器

先拉镜像。打开 PowerShell(建议以管理员身份运行,避免挂载目录权限问题),执行:

docker pull openclaw/openclaw:latest

拉完后确认镜像在本地:

docker images | findstr openclaw

Windows 的 PowerShell 里findstr相当于 Linux 的grep。看到镜像列表里有 openclaw 就说明拉取成功。

接下来启动容器。这里用docker run给一个最小可用版本,重点是把 skills 目录挂载出来,并把配置目录也挂出来,方便改 settings:

docker run -d --name my-openclaw ^ -p 3000:3000 ^ -v D:\openclaw\skills:/app/skills ^ -v D:\openclaw\config:/app/config ^ -e TZ=Asia/Shanghai ^ openclaw/openclaw:latest

注意 Windows PowerShell 里换行符是^,不是 Linux 的\。如果你在 CMD 里跑,换行符又不一样,建议直接用一行写完,避免踩坑:

docker run -d --name my-openclaw -p 3000:3000 -v D:\openclaw\skills:/app/skills -v D:\openclaw\config:/app/config -e TZ=Asia/Shanghai openclaw/openclaw:latest

参数逐个解释:

  • -d:后台运行。
  • --name my-openclaw:容器名字,后面docker exec要用到,别写错。
  • -p 3000:3000:端口映射,宿主机 3000 对应容器 3000,网页控制台走这个端口。
  • -v D:\openclaw\skills:/app/skills:把宿主机的 skills 目录挂进容器,skills 装在这里,删容器不丢技能。
  • -v D:\openclaw\config:/app/config:配置目录挂载,settings 文件放这里。
  • -e TZ=Asia/Shanghai:时区,避免日志时间错乱。

启动后检查容器状态:

docker ps | findstr my-openclaw

状态显示Up就对了。如果显示Exited,用docker logs my-openclaw看日志排错。

3.2 用 docker compose 管理(推荐)

如果你不想每次敲一长串命令,用 compose 更清爽。在D:\openclaw下新建docker-compose.yml:

version: "3.8" services: openclaw: image: openclaw/openclaw:latest container_name: my-openclaw ports: - "3000:3000" volumes: - ./skills:/app/skills - ./config:/app/config environment: - TZ=Asia/Shanghai restart: unless-stopped

然后在同目录执行:

docker compose up -d

restart: unless-stopped保证机器重启后容器自动拉起,省心。

3.3 写入指向 TaoToken 的 settings 片段

配置文件放在挂载出来的D:\openclaw\config目录下,文件名通常是settings.json。如果容器里没有自动生成,就手动新建一个。内容如下:

{ "model": { "provider": "openai-compatible", "baseUrl": "https://taotoken.net/api", "apiKey": "sk-你的Key粘贴到这里", "modelId": "claude-sonnet-4-5", "timeout": 60000 }, "skills": { "dir": "/app/skills", "autoLoad": true }, "server": { "port": 3000 } }

几个关键字段说明:

  • provider填openai-compatible,因为 TaoToken 提供的是兼容 OpenAI 协议的接口。
  • baseUrl就是前面拿到的https://taotoken.net/api,不要加多余斜杠。
  • apiKey换成你自己的 Key。
  • modelId换成你要用的模型 ID。
  • skills.dir指向容器内的/app/skills,和挂载路径对应。
  • autoLoad: true让容器启动时自动加载 skills 目录下的技能。

改完 settings 后重启容器让配置生效:

docker restart my-openclaw

如果你用的是 Claude Code 这类客户端做润色或编码辅助,配置思路类似,Base URL、Key、Model ID 三件套填法一致,具体字段名参考接入文档。这里不展开,避免偏离 Docker skills 安装的主线。

4. 安装 10 个 skills 并验证加载结果

配置就绪后,进入 skills 安装环节。核心公式就一句话:在原始安装命令前加docker exec -it my-openclaw。因为 clawhub 命令在容器里,宿主机上没有,必须通过 exec 递进去。

4.1 万能安装公式

docker exec -it my-openclaw npx clawhub@latest install 技能名

把「技能名」替换成具体 skill 的标识即可。下面按 excerpt 里提到的 10 个技能逐个给出命令,并标注实测结果。

4.2 安全与自我管理类

skill-vetter(安全扫描专家)—— 安装任何技能前帮你排查恶意代码,强烈建议第一个装:

docker exec -it my-openclaw npx clawhub@latest install skill-vetter

实测结果:成功。终端会跑进度条,最后提示Installed。

find-skills(技能大管家)—— 不知道用什么工具时,让它自己搜索并安装:

docker exec -it my-openclaw npx clawhub@latest install find-skills

实测结果:成功。

4.3 大脑升级类

proactive-agent(主动性大脑)—— 记住历史习惯,减少重复输入:

docker exec -it my-openclaw npx clawhub@latest install proactive-agent

实测结果:成功。

self-improving-agent(自我学习与记忆)—— 长期交互越来越懂你:

docker exec -it my-openclaw npx clawhub@latest install self-improving-agent

实测结果:成功。

4.4 触角延伸类

tavily-search(联网搜索)—— AI 优化版搜索,实时查资讯:

docker exec -it my-openclaw npx clawhub@latest install tavily-search

实测结果:失败,找不到资源。这个技能依赖外部搜索服务的资源包,拉取阶段报错。后续可以尝试手动配置 Tavily 的 API Key 再重试。

github(仓库管理)—— 自动管理仓库、Issue、PR:

docker exec -it my-openclaw npx clawhub@latest install github

实测结果:成功。

gog(Google 全家桶)—— 打通 Gmail、日历、Drive:

docker exec -it my-openclaw npx clawhub@latest install gog

实测结果:成功。注意装完后需要在网页控制台填入 Google 的授权信息才能用。

bird(X/Twitter 集成)—— 自动发帖、搜热点:

docker exec -it my-openclaw npx clawhub@latest install bird

实测结果:失败,找不到资源。这个技能同样依赖外部平台资源,且要注意甄别恶意版本,别随便装来路不明的包。

feishu-doc(飞书文档集成)—— 集成飞书文档和云盘:

docker exec -it my-openclaw npx clawhub@latest install feishu-doc

实测结果:成功。

4.5 超级工作流类

automation-workflows(自动化编排)—— 把多个技能串联,执行「收邮件+查数据+写报告+发飞书」这类复杂任务:

docker exec -it my-openclaw npx clawhub@latest install automation-workflows

实测结果:成功。

4.6 验证 skills 是否加载成功

装完后,进容器里看一眼 skills 目录:

docker exec -it my-openclaw ls -la /app/skills

应该能看到各个技能对应的文件夹。再检查 OpenClaw 的加载日志:

docker logs my-openclaw | findstr skill

日志里会列出已加载的技能名。如果某个技能装了但没出现在日志里,说明加载失败,检查 settings 里的autoLoad是否为 true,以及技能目录权限。

最后打开网页控制台http://localhost:3000,在技能列表页应该能看到已安装的技能。成功安装的 8 个会显示为可用状态,失败的 2 个(tavily-search、bird)不会出现或显示异常。

5. 常见报错排查:401、local proxy failed、reading choices、OAuth

这一节把 Docker 环境下最容易撞上的几类报错集中处理,每个都给出真实报错特征和排查路径。

5.1 401 Unauthorized

报错特征:调用模型时返回401,日志里出现invalid api key或authentication failed。

原因:API Key 填错、过期,或者 settings 里的apiKey字段没生效。

排查步骤:

  1. 确认 Key 没有多余空格。复制时容易带上换行,粘到 JSON 里会破坏格式。
  2. 检查 settings.json 是否是合法 JSON。用在线 JSON 校验工具过一遍,少个逗号都会导致整个配置不生效。
  3. 确认容器重启过。改完 settings 必须docker restart my-openclaw。
  4. 用模型对话页面单独测一下 Key 是否有效,排除 Key 本身的问题。

5.2 local proxy failed

报错特征:容器日志出现local proxy failed或connection refused。

原因:容器内访问外部地址失败,通常是网络配置或 endpoint 地址写错。

排查步骤:

  1. 确认baseUrl写的是https://taotoken.net/api,没有多余路径。
  2. 进容器测试网络连通性:
docker exec -it my-openclaw curl -I https://taotoken.net/api

能返回 HTTP 状态码说明网络通。如果卡住或报错,检查 Docker Desktop 的网络设置。

  1. 确认没有在容器里配置额外的代理环境变量,代理配置冲突会导致请求发不出去。

5.3 reading choices 相关报错

报错特征:日志出现reading 'choices'或cannot read property of undefined。

原因:模型返回的响应结构不符合预期,通常是 endpoint 指向了错误的路径,或者模型 ID 填错导致返回了错误信息而非正常响应。

排查步骤:

  1. 确认modelId拼写正确,大小写敏感。
  2. 确认provider填的是openai-compatible。
  3. 用 curl 直接测一次接口,看返回结构:
curl https://taotoken.net/api/v1/chat/completions ^ -H "Authorization: Bearer sk-你的Key" ^ -H "Content-Type: application/json" ^ -d "{\"model\":\"你的模型ID\",\"messages\":[{\"role\":\"user\",\"content\":\"hi\"}]}"

返回里有choices字段说明接口正常,问题在 OpenClaw 的解析配置。

5.4 OAuth 授权失败

报错特征:安装 gog、feishu-doc 这类需要授权的技能后,调用时报OAuth failed或token expired。

原因:这类技能装完后需要在网页控制台完成 OAuth 授权,光装包不够。

排查步骤:

  1. 打开http://localhost:3000,进技能配置页。
  2. 找到对应技能,点授权按钮,按提示完成 OAuth 流程。
  3. 授权回调地址要填对,通常是http://localhost:3000/callback这类,具体看技能文档。
  4. 授权完成后重启容器。

5.5 技能安装时找不到资源

报错特征:npx clawhub install xxx报404或resource not found。

原因:该技能的资源包在仓库里不存在或已下架,比如本篇的 tavily-search 和 bird。

处理方式:这类问题不是配置错误,是资源本身缺失。可以关注技能仓库的更新,或者手动从其他渠道获取技能包放进/app/skills目录。别用来路不明的包,装之前先用 skill-vetter 扫一遍。

排查时养成看日志的习惯,docker logs my-openclaw --tail 100看最近 100 行,大部分问题日志里都有线索。

6. 后续怎么用:把 skills 跑起来并持续扩展

skills 装完只是开始,真正让它产生价值的是调用。打开网页控制台http://localhost:3000,在对话框里直接描述任务,OpenClaw 会根据任务自动匹配已加载的技能。比如你说「帮我搜一下最近的 AI 新闻」,如果 tavily-search 装成功了它会自动调用;如果没装成功,它会提示没有可用搜索技能。

对于自动化编排,automation-workflows 这个技能值得重点玩。你可以定义一条工作流:收到邮件 → 提取关键信息 → 查数据库 → 生成报告 → 发到飞书。这条链路里用到的 gog、feishu-doc、automation-workflows 三个技能都装成功了,理论上可以跑通。配置入口在控制台的 workflow 页面,按提示串联即可。

扩展新技能时,记住那个万能公式:docker exec -it my-openclaw npx clawhub@latest install 技能名。装之前先用 find-skills 搜一下有没有现成的,再用 skill-vetter 扫一遍安全性,这个习惯能帮你避开不少坑。

如果你要长期跑编码或 Agent 任务,模型调用量会上去,可以了解下 Coding Plan https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,额度更合适。遇到配置字段不确定的地方,接入文档 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 里有各客户端的完整示例,对照着改就行。需要新建或更换 Key 时,API Keys 页面 https://taotoken.net/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= 随时可以操作。

最后说个实用技巧:把D:\openclaw这个目录整个用 Git 管起来,skills 和 config 都在里面,换机器时 clone 下来重新docker compose up -d就能恢复整套环境,比重新装一遍省事得多。容器删了也不怕,技能和配置都在宿主机上留着。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询