8ccc32be0b
- 实现图片上传服务,支持检测并上传本地图片到 Halo - 优化发布流程,添加详细日志和错误处理 - 更新任务清单和检查列表以反映完成状态 - 添加 Halo 博客写作技能文档
6.2 KiB
6.2 KiB
name, description
| name | description |
|---|---|
| halo-blog-writer | Halo 博客写作和管理助手。当用户需要: (1) 发布博客文章 (2) 管理博客内容 (3) 更新/修改已发布的文章 (4) 导出/导入博客内容 (5) 查看博客状态 (6) 使用自然语言操作 Halo 博客时触发此技能 |
Halo 博客写作助手
本技能帮助 AI Agent 通过 Halo CLI 管理用户的 Halo 博客(http://192.168.5.8:8090)。
快速开始
已配置的环境
用户已通过 npm 全局安装 Halo CLI:
- 版本:1.3.0
- Node.js:v22.14.0
- 系统:Windows (PowerShell)
CLI 配置
当前激活的配置(profile)是 local,连接地址:
http://192.168.5.8:8090
认证方式:Bearer Token(已存储在系统 keyring 中)
基本命令
# 列出文章(分页显示)
halo post list --page 1 --size 20
# 查看单个文章详情
halo post get <name-or-id>
# 创建文章
halo post create --title "标题" --content "# 内容" --publish true
# 更新文章
halo post update <name-or-id> --title "新标题" --content "新内容"
# 导出文章为 Markdown
halo post export-markdown <name-or-id> --output ./post.md
# 导入 Markdown 文件创建文章
halo post import-markdown --file ./post.md
写作工作流
场景 1:发布新文章
当用户提供文章内容时:
- 接收文章内容(可能是文件路径或直接文本)
- 提取标题和正文
- 判断是否立即发布(publish)还是仅创建草稿
- 执行
halo post create命令 - 确认创建成功
# 发布新文章
halo post create --title "文章标题" --content "# 文章内容..." --publish true
# 仅创建草稿
halo post create --title "文章标题" --content "# 文章内容..."
场景 2:从 Markdown 文件发布
当用户提供 .md 文件时:
- 读取文件内容
- 从文件名或第一行提取标题
- 执行导入命令
halo post import-markdown --file d:\path\to\article.md
场景 3:更新已发布的文章
当用户要求修改某篇文章时:
- 先用
halo post list找到文章 - 获取文章 ID 或 name
- 执行更新命令
# 先查看文章列表
halo post list --page 1 --size 20
# 获取文章详情
halo post get <article-id>
# 更新文章
halo post update <article-id> --title "新标题" --content "新内容"
场景 4:批量操作
处理多篇文章:
- 获取文章列表
- 逐个处理
- 报告完成状态
# 获取所有文章(分页)
halo post list --page 1 --size 100
# 或者导出为 JSON 格式便于处理
halo post list --page 1 --size 100 --json
文件路径约定
用户的博客文章通常保存在:
d:\Code\OpenClaw\文件\博客\
常见文件格式:
.md- Markdown 文件.txt- 纯文本文件
注意事项
内容格式
- Halo 支持 Markdown 和 HTML 格式
- 默认使用 Markdown(
--raw-type markdown) - 也支持
--raw-type html
发布状态
published- 已发布draft- 草稿- 可以在创建时指定
--publish true立即发布
文章标识
文章可以用以下方式标识:
- Name/Slug:文章的唯一标识符(如
019dbabc-86b9-74a0-a926-c25529309007) - ID:文章内部 ID
错误处理
如果命令失败:
- 检查网络连接
- 确认 CLI 配置正确(
halo auth current) - 查看错误信息并重试
其他管理功能
# 单页管理
halo single-page list
halo single-page create --title "标题" --content "内容"
# 插件管理
halo plugin list
# 主题管理
halo theme list
# 备份
halo backup list
halo backup create
# 评论管理
halo comment list
halo comment reply <comment-id> --content "回复内容"
安全提醒
- Bearer Token 已安全存储在系统 keyring 中
- 不要在命令输出中显示敏感信息
- 谨慎执行删除操作(
halo post delete)
常用命令速查
| 操作 | 命令 |
|---|---|
| 查看文章列表 | halo post list --page 1 --size 20 |
| 查看文章详情 | halo post get <id> |
| 创建文章 | halo post create --title "标题" --content "内容" |
| 发布文章 | halo post create --title "标题" --content "内容" --publish true |
| 更新文章 | halo post update <id> --title "标题" --content "内容" |
| 删除文章 | halo post delete <id> --force |
| 导出为 Markdown | halo post export-markdown <id> --output ./post.md |
| 从文件导入 | halo post import-markdown --file ./post.md |
博客标签和分类
现有标签(共 11 个)
| 显示名称 | Slug | 颜色 |
|---|---|---|
| 协会动态 | xie-hui-dong-tai | 🟢 #B8E986 |
| 5分钟速览 | 5fen-zhong-su-lan | 🔵 #50E3C2 |
| 技术深潜 | ji-shu-shen-qian | 🔷 #4A90E2 |
| 校园AI | xiao-yuan-ai | 🟣 #9013FE |
| 竞赛指南 | jing-sai-zhi-nan | 🟪 #BD10E0 |
| 项目实战 | xiang-mu-shi-zhan | 🟢 #417505 |
| 零基础入门 | ling-ji-chu-ru-men | 🟢 #7ED321 |
| 开源框架 | kai-yuan-kuang-jia | 🟤 #8B572A |
| 模型轻量化 | mo-xing-qing-liang-hua | 🟡 #F8E71C |
| 隐私计算 | yin-si-ji-suan | 🟠 #F5A623 |
| AI智能体 | aizhi-neng-ti | 🔴 #D0021B |
标签使用建议
| 文章类型 | 推荐标签 |
|---|---|
| 技术教程 / 开发工具 | 技术深潜 |
| 团队协作 / 开源项目 | 项目实战 |
| AI/LLM/模型相关 | 技术深潜, AI智能体 |
| 编程入门教程 | 技术深潜, 零基础入门 |
| 比赛通知 / 大赛解读 | 竞赛指南 |
| 协会通知 / 动态 | 协会动态 |
| AI 科普 / 入门 | 零基础入门, AI智能体 |
常用命令速查
| 操作 | 命令 |
|---|---|
| 查看所有标签 | halo post tag list |
| 查看所有分类 | halo post category list |
| 为文章添加标签 | halo post update <id> --tags "标签1,标签2" |
| 更新文章分类 | halo post update <id> --category "分类名" |
| 查看文章标签 | halo post get <id> --json |
详细命令参见 references/command-reference.md
参考文档
- CLI 完整帮助:
halo --help、halo post --help - 配置信息:
halo auth profile list - 高级用法:参见
references/advanced-usage.md - 标签和分类命令:参见
references/command-reference.md