Files
Obsidian/.trae/skills/halo-blog-writer/SKILL.md
T
Serendipity 8ccc32be0b feat(halo): 添加图片上传功能并完善发布流程
- 实现图片上传服务,支持检测并上传本地图片到 Halo
- 优化发布流程,添加详细日志和错误处理
- 更新任务清单和检查列表以反映完成状态
- 添加 Halo 博客写作技能文档
2026-04-26 16:47:41 +08:00

247 lines
6.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: halo-blog-writer
description: |
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.jsv22.14.0
- 系统:Windows (PowerShell)
### CLI 配置
当前激活的配置(profile)是 `local`,连接地址:
```
http://192.168.5.8:8090
```
认证方式:Bearer Token(已存储在系统 keyring 中)
### 基本命令
```powershell
# 列出文章(分页显示)
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:发布新文章
当用户提供文章内容时:
1. 接收文章内容(可能是文件路径或直接文本)
2. 提取标题和正文
3. 判断是否立即发布(publish)还是仅创建草稿
4. 执行 `halo post create` 命令
5. 确认创建成功
```powershell
# 发布新文章
halo post create --title "文章标题" --content "# 文章内容..." --publish true
# 仅创建草稿
halo post create --title "文章标题" --content "# 文章内容..."
```
### 场景 2:从 Markdown 文件发布
当用户提供 `.md` 文件时:
1. 读取文件内容
2. 从文件名或第一行提取标题
3. 执行导入命令
```powershell
halo post import-markdown --file d:\path\to\article.md
```
### 场景 3:更新已发布的文章
当用户要求修改某篇文章时:
1. 先用 `halo post list` 找到文章
2. 获取文章 ID 或 name
3. 执行更新命令
```powershell
# 先查看文章列表
halo post list --page 1 --size 20
# 获取文章详情
halo post get <article-id>
# 更新文章
halo post update <article-id> --title "新标题" --content "新内容"
```
### 场景 4:批量操作
处理多篇文章:
1. 获取文章列表
2. 逐个处理
3. 报告完成状态
```powershell
# 获取所有文章(分页)
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
### 错误处理
如果命令失败:
1. 检查网络连接
2. 确认 CLI 配置正确(`halo auth current`
3. 查看错误信息并重试
## 其他管理功能
```powershell
# 单页管理
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`