之前通过 hexo-blog-publisher skill 实现了让 OpenClaw 代写博客,现在再让它自己搞定配图。
本文将介绍如何将 cfbed-upload-skill 这个图床上传 skill 接入 OpenClaw 工作流,实现写作、配图、发布的自动化闭环。
前置条件
在开始之前,你需要先在 Cloudflare 平台部署 CloudFlare-ImgBed 图床应用。这是一个基于 Cloudflare Workers 和 R2/KV 存储的免费图床解决方案,支持多种存储后端(Telegram、R2、S3、Discord、HuggingFace 等)。
部署完成后,你将获得:
- 图床访问地址(如
https://your-cfbed.pages.dev) - API Token(在后台「系统设置 → 安全设置 → API Token 管理」中生成)
有了这两个关键信息,就可以开始接入 skill 了。
1. 安装 Skill
首先将 skill 克隆到 OpenClaw 的工作目录:
cd ~/.openclaw/workspacemkdir -p skillsgit clone https://github.com/MarSeventh/cfbed-upload-skill.git skills/cfbed-upload-skill安装完成后,核心文件结构如下:
skills/cfbed-upload-skill/├── SKILL.md # skill 定义文件,OpenClaw 通过它识别和调用├── scripts/│ └── upload.sh # 实际执行上传的脚本├── .env.example # 环境变量模板└── README.md2. 配置环境变量
skill 通过 .env 文件读取配置信息。复制模板并填入你的实际配置:
cd skills/cfbed-upload-skillcp .env.example .envvim .env # 或使用你喜欢的编辑器配置示例:
CFBED_URL=https://your-cfbed.pages.devCFBED_TOKEN=your_api_token_hereUPLOAD_CHANNEL=telegramCHANNEL_NAME=UPLOAD_FOLDER=配置字段说明
| 字段 | 必填 | 说明 |
|---|---|---|
CFBED_URL | ✓ | 你的 CFBed 图床实例地址,部署后获得 |
CFBED_TOKEN | ✓ | API Token,在图床后台「系统设置 → 安全设置 → API Token 管理」中生成 |
UPLOAD_CHANNEL | ✓ | 存储后端类型:telegram / cfr2 / s3 / discord / huggingface |
CHANNEL_NAME | - | 多通道场景下指定通道名,单通道留空即可 |
UPLOAD_FOLDER | - | 服务端文件夹归档路径,不需要分类管理可留空 |
注意事项:
UPLOAD_CHANNEL必须与你在 CFBed 后台配置的存储后端一致- Token 具有时效性,如果上传失败先检查 Token 是否过期
.env文件包含敏感信息,不要提交到 Git 仓库
3. 验证上传链路
配置完成后,先手动测试一次上传流程,确保链路畅通:
cd ~/.openclaw/workspace
# 创建测试目录和文件mkdir -p exportsecho "CFBed upload test" > exports/test.txt
# 执行上传bash skills/cfbed-upload-skill/scripts/upload.sh exports/test.txt如果配置正确,脚本会返回类似这样的公开 URL:
https://your-cfbed.pages.dev/file/test.txt验证文件可访问性
使用 curl 检查文件是否可以公开访问:
curl -I https://your-cfbed.pages.dev/file/test.txt预期输出应包含 HTTP/1.1 200 OK,表示文件已成功上传并可访问。
测试图片上传
对于图片文件,可以进一步测试:
# 假设你有一张测试图片bash skills/cfbed-upload-skill/scripts/upload.sh /path/to/test-image.png
# 将返回的 URL 在浏览器中打开,确认图片正常显示4. 接入 Hexo 写作流
验证通过后,就可以在 Hexo 写作流程中使用了。OpenClaw 在生成博客文章时,可以自动调用这个 skill 上传图片并获取 URL。
在文章中引用图片
上传后的图片可以直接在 Markdown 文章中引用:
在 Front Matter 中使用
Hexo 主题通常支持在 Front Matter 中配置封面图和顶部图:
---title: "文章标题"cover: "https://your-cfbed.pages.dev/file/cover.png"top_img: "https://your-cfbed.pages.dev/file/top.png"---自动化工作流示例
结合 OpenClaw 的能力,你可以实现这样的自动化流程:
- 让 OpenClaw 生成博客文章内容
- OpenClaw 自动调用 cfbed-upload-skill 上传配图
- 将图片 URL 插入到文章的合适位置
- 通过 hexo-blog-publisher skill 发布文章
整个过程无需手动干预,真正实现”一键发布”。
5. 常见问题排查
如果上传失败,按以下顺序逐项排查:
5.1 检查配置文件
cd ~/.openclaw/workspace/skills/cfbed-upload-skillcat .env确认:
.env文件是否存在CFBED_URL和CFBED_TOKEN是否填写完整- URL 末尾不要有多余的斜杠
/
5.2 验证 Token 有效性
Token 可能过期或权限不足,可以通过 API 测试:
curl -H "Authorization: Bearer YOUR_TOKEN" \ https://your-cfbed.pages.dev/api/v1/auth/verify如果返回错误,需要在图床后台重新生成 Token。
5.3 检查存储后端配置
确认 .env 中的 UPLOAD_CHANNEL 与图床后台配置的存储后端一致:
- 如果使用 Telegram,确保已配置 Bot Token 和 Channel ID
- 如果使用 R2,确保已绑定 R2 存储桶
- 如果配置了多个通道,需要在
CHANNEL_NAME中指定具体通道名
5.4 测试文件访问
即使上传成功返回了 URL,也要用 curl 或浏览器实际访问一次:
curl -I https://your-cfbed.pages.dev/file/your-file.png如果返回 404,可能是:
- 文件路径配置问题(检查
UPLOAD_FOLDER) - CDN 缓存未生效(等待几分钟后重试)
- 存储后端权限问题(检查 Cloudflare 后台配置)
5.5 查看详细日志
在上传脚本中添加 -v 参数查看详细输出:
bash -x skills/cfbed-upload-skill/scripts/upload.sh exports/test.txt这会显示每一步的执行细节,帮助定位问题。
6. 接入后的实际收益
完成接入后,整个写作流程发生了质的变化:
效率提升
- 上传-引用一条链路:不再需要手动上传图片、复制链接、粘贴到文章
- 自动化程度更高:OpenClaw 可以一次性完成”写作 → 配图 → 发布”全流程
- 减少上下文切换:无需在编辑器、图床网页、文件管理器之间反复切换
资产管理
- 链接统一管理:所有图片都存储在同一个图床,避免链接散落各处
- 历史资产可复用:已上传的图片可以在多篇文章中重复引用
- 迁移成本降低:如果需要更换图床,只需修改
.env配置即可
稳定性保障
- 基于 Cloudflare:依托 Cloudflare 的全球 CDN,访问速度快且稳定
- 免费额度充足:对于个人博客来说,Cloudflare 的免费额度完全够用
- 多存储后端支持:可以根据需求灵活选择 Telegram、R2、S3 等不同后端
总结
如果你也在使用 OpenClaw + Hexo 的写作组合,强烈推荐接入这个 skill。它的价值不仅仅在于”能上传文件”,而在于把写作、配图、发布这三个环节连成了一个可复用的自动化闭环。
一旦搭建完成,你只需要专注于内容创作本身,剩下的技术细节都可以交给 OpenClaw 处理。这才是 AI 辅助写作的理想状态。
相关资源: