Typecho Blog Publish
by @jiliangseason-arch
通过 XML-RPC 自动发布文章到 Typecho 博客。支持文件读取、草稿模式、标签管理、智能配图。
clawhub install typecho-blog-publish📖 About This Skill
name: typecho-blog-publish description: 通过 XML-RPC 自动发布文章到 Typecho 博客。支持文件读取、草稿模式、标签管理、智能配图。 metadata: openclaw: emoji: 📝 requires: bins: ["python3"] primaryEnv: "BLOG_PASSWORD" optionalEnv: ["BLOG_URL", "BLOG_USERNAME", "BLOG_XMLRPC"]
Typecho 博客发布技能
使用此技能来自动发布文章到你的 Typecho 博客。
⚠️ 发布流程规范(铁律!)
重要提示:发布完成≠工作完成!必须像真实用户一样检查实际效果!
发布前检查清单(必须逐条核对!)
1. 配图要求 ✅ 必需(血泪教训!)
http://yuanblog.tk:9980/usr/uploads/2026/03/xxx.png)/upload/2026/03/xxx.png 会失败!)upload_image.py 上传后,复制返回的完整 URL # 1. 上传图片,获取完整 URL
python3 scripts/upload_image.py /path/to/screenshot.png
# 返回:http://yuanblog.tk:9980/usr/uploads/2026/03/2512184318.png
# 2. 在文章中使用完整 URL
# !描述
# 智能搜索配图(基于主题关键词)
python3 scripts/smart_image.py "ADB Android 技术"
2. YAML 头部格式 ✅ 必需
--- 包裹头部信息title(标题)字段categories(分类)字段tags(标签)字段 ---
title: 文章标题
categories: 技术
tags: 标签 1, 标签 2
---
3. 发布命令 ✅ 必需
--file 参数从文件发布(保留 YAML 头部) python3 scripts/publish_post.py --file article.md
4. 验证步骤 ✅ 必需(发布后必须检查!铁律!)
验证命令:
# 检查文章中的图片路径
curl -s "文章 URL" | grep -o 'img src="[^"]*"'
应该显示完整 URL,如 http://yuanblog.tk:9980/usr/uploads/...
如果显示 /upload/... 说明路径错误!
铁律:不检查就汇报=找死!
血的教训(2026-03-31):
配置
在 .env 文件中配置以下环境变量:
| 变量 | 说明 | 默认值 |
|------|------|--------|
| BLOG_URL | 博客地址 | http://yuanblog.tk:9980 |
| BLOG_USERNAME | 博客用户名 | admin |
| BLOG_PASSWORD | 博客密码(必需) | - |
| BLOG_XMLRPC | XML-RPC 路径 | /index.php/action/xmlrpc |
使用方法
1. 发布文章(推荐方式)
# 从文件发布(保留 YAML 头部)
python3 {baseDir}/scripts/publish_post.py --file article.md保存为草稿
python3 {baseDir}/scripts/publish_post.py --file article.md --draft
2. 智能配图与上传
# 智能搜索配图(基于主题关键词)
python3 {baseDir}/scripts/smart_image.py "AI 技术 未来"上传图片到博客媒体库
python3 {baseDir}/scripts/upload_image.py image.jpg从 URL 下载并上传图片
python3 {baseDir}/scripts/upload_image.py --url "https://example.com/image.jpg"
3. 批量发布
# 批量发布草稿箱文章
python3 {baseDir}/scripts/batch_publish.py管理文章(查看、删除)
python3 {baseDir}/scripts/manage.py
完整发布流程
步骤 1: 准备文章内容
创建 Markdown 文件,包含 YAML 头部:
---
title: 文章标题
categories: 技术
tags: 标签 1, 标签 2
这里是正文内容...
步骤 2: 智能配图
python3 scripts/smart_image.py "文章主题关键词"
或在文章中使用图片语法:
!描述
步骤 3: 发布文章
python3 scripts/publish_post.py --file article.md
步骤 4: 验证发布结果
1. 访问返回的文章链接 2. 检查标题、配图、标签是否正确 3. 如有问题,删除文章并重新发布
错误处理
常见问题
问题 1: 标题显示为文件名
--- 包裹问题 2: 没有配图或图片不显示
/upload/xxx.png)http://yuanblog.tk:9980/usr/uploads/xxx.png)问题 3: 链接 404
http://blog/index.php/archives/ID/血泪教训(2026-03-31 实战总结)
教训:配图路径错误导致图片不显示
!描述!描述相关文件
publish_post.py - 主要发布脚本smart_image.py - 智能配图脚本upload_image.py - 图片上传脚本batch_publish.py - 批量发布工具manage.py - 文章管理工具最佳实践
1. 始终使用 YAML 头部 - 确保标题、分类、标签正确解析 2. 必分配图 - 文章开头插入相关图片 3. 使用 --file 参数 - 保留完整的元数据 4. 发布后立即验证 - 检查标题、配图、标签 5. 及时清理错误文章 - 发现问题立即删除重发
*维护者:团子 🌟* *版本:1.1.0* *更新时间:2026-03-31*
📋 Tips & Best Practices
问题 1: 标题显示为文件名
--- 包裹问题 2: 没有配图或图片不显示
/upload/xxx.png)http://yuanblog.tk:9980/usr/uploads/xxx.png)问题 3: 链接 404
http://blog/index.php/archives/ID/血泪教训(2026-03-31 实战总结)
教训:配图路径错误导致图片不显示
!描述!描述