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

486 lines
10 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.
# Halo CLI 命令参考
完整命令列表和详细用法。
## 认证相关(auth
```powershell
# 查看当前认证状态
halo auth current
# 列出所有配置
halo auth profile list
# 登录(Bearer Token
halo auth login --profile local --url http://192.168.5.8:8090 --auth-type bearer --token <token>
# 登录(Basic Auth
halo auth login --profile local --url http://192.168.5.8:8090 --auth-type basic --username admin --password <password>
# 移除配置
halo auth remove local
# 切换默认配置
halo auth default production
```
## 文章管理(post
### 列出文章
```powershell
# 基本列表
halo post list
# 分页
halo post list --page 1 --size 20
# JSON 格式(便于脚本处理)
halo post list --page 1 --size 20 --json
# 按状态筛选
halo post list --status published
halo post list --status draft
```
### 获取文章
```powershell
# 查看文章详情
halo post get 019dbabc-86b9-74a0-a926-c25529309007
# JSON 格式
halo post get 019dbabc-86b9-74a0-a926-c25529309007 --json
```
### 创建文章
```powershell
# 基本创建(草稿)
halo post create --title "我的第一篇文章" --content "# 标题\n\n内容..."
# 创建并发布
halo post create --title "我的第一篇文章" --content "# 标题" --publish true
# 使用 HTML 格式
halo post create --title "HTML 文章" --content "<h1>标题</h1><p>内容</p>" --raw-type html
# 指定分类
halo post create --title "文章" --content "内容" --category "技术"
# 指定标签
halo post create --title "文章" --content "内容" --tags "Python,教程"
```
### 更新文章
```powershell
# 更新标题
halo post update 019dbabc-86b9-74a0-a926-c25529309007 --title "新标题"
# 更新内容
halo post update 019dbabc-86b9-74a0-a926-c25529309007 --content "# 新内容"
# 同时更新标题和内容
halo post update 019dbabc-86b9-74a0-a926-c25529309007 --title "新标题" --content "新内容"
# 更新标签
halo post update 019dbabc-86b9-74a0-a926-c25529309007 --tags "新标签1,新标签2"
# 发布草稿
halo post update 019dbabc-86b9-74a0-a926-c25529309007 --publish true
# 取消发布
halo post update 019dbabc-86b9-74a0-a926-c25529309007 --unpublish
```
### 删除文章
```powershell
# 删除文章(会提示确认)
halo post delete 019dbabc-86b9-74a0-a926-c25529309007
# 强制删除(跳过确认)
halo post delete 019dbabc-86b9-74a0-a926-c25529309007 --force
```
### 导出文章
```powershell
# 导出为 JSON
halo post export-json 019dbabc-86b9-74a0-a926-c25529309007
# 导出到指定文件
halo post export-json 019dbabc-86b9-74a0-a926-c25529309007 --output ./backup/post.json
# 导出为 Markdown
halo post export-markdown 019dbabc-86b9-74a0-a926-c25529309007
# 导出到指定文件
halo post export-markdown 019dbabc-86b9-74a0-a926-c25529309007 --output ./backup/post.md
```
### 导入文章
```powershell
# 从 JSON 文件导入
halo post import-json --file ./backup/post.json
# 从 JSON 字符串导入
halo post import-json --raw '{"post": {...}, "content": "..."}'
# 从 Markdown 文件导入
halo post import-markdown --file ./backup/post.md
# 导入并发布
halo post import-markdown --file ./post.md --publish true
```
### 文章标签管理
```powershell
# 列出所有标签
halo post tag list
# 创建标签
halo post tag create --name "Python" --slug "python" --color "#3776AB"
# 更新标签名称
halo post tag update python --name "Python编程"
# 更新标签颜色
halo post tag update python --color "#3776AB"
# 删除标签
halo post tag delete python
# 查看标签下的文章数量
halo post tag list --verbose
```
### 文章分类管理
```powershell
# 列出所有分类
halo post category list
# 创建分类
halo post category create --name "技术" --slug "tech" --priority 10
# 更新分类
halo post category update tech --name "技术分享" --priority 5
# 删除分类
halo post category delete tech
# 设置分类优先级(数字越大排序越靠前)
halo post category update tech --priority 10
```
### 为文章设置标签和分类
```powershell
# 创建文章时设置标签
halo post create --title "标题" --content "内容" --tags "Python,教程"
# 创建文章时设置分类
halo post create --title "标题" --content "内容" --category "技术"
# 同时设置标签和分类
halo post create --title "标题" --content "内容" --tags "AI,教程" --category "技术"
# 更新文章的标签
halo post update <id> --tags "新标签1,新标签2"
# 更新文章的分类
halo post update <id> --category "技术分享"
# 清除文章的标签
halo post update <id> --tags ""
# 清除文章的分类
halo post update <id> --category ""
```
### 查询文章标签和分类
```powershell
# 查看某篇文章的标签(JSON 格式)
halo post get <id> --json | Select-String -Pattern "tags"
# 列出所有带有特定标签的文章
halo post list --page 1 --size 100 --json | ConvertFrom-Json | Where-Object {
$_.spec.tags -contains "AI智能体"
}
# 列出所有带有特定分类的文章
halo post list --page 1 --size 100 --json | ConvertFrom-Json | Where-Object {
$_.spec.categories -contains "技术深潜"
}
```
### 批量修改标签
```powershell
# 为所有无标签的文章添加标签
$posts = halo post list --page 1 --size 100 --json | ConvertFrom-Json
foreach ($post in $posts.items) {
if ($post.spec.tags.Count -eq 0) {
halo post update $post.name --tags "技术深潜"
Write-Host "已为 '$($post.spec.title)' 添加标签"
}
}
# 将所有文章从"旧标签"迁移到"新标签"
$posts = halo post list --page 1 --size 100 --json | ConvertFrom-Json
foreach ($post in $posts.items) {
if ($post.spec.tags -contains "旧标签") {
$newTags = $post.spec.tags -replace "旧标签", "新标签"
halo post update $post.name --tags ($newTags -join ",")
}
}
```
### 博客现有标签参考
| 显示名称 | 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 |
### 博客现有分类参考
| 显示名称 | Slug |
|---------|------|
| 行业望远镜 | xing-ye-wang-yuan-jing |
| 协会进行时 | xie-hui-jin-xing-shi |
| 校园AI日记 | xiao-yuan-airi-ji |
| 竞赛能量站 | jing-sai-neng-liang-zhan |
| 成长实验室 | cheng-chang-shi-yan-shi |
| 智能体前沿 | zhi-neng-ti-qian-yan |
| 默认分类 | default |
## 单页管理(single-page
```powershell
# 列出单页
halo single-page list
# 查看单页
halo single-page get <name>
# 创建单页
halo single-page create --title "关于我们" --content "公司介绍..."
# 更新单页
halo single-page update about --title "关于我们" --content "新内容"
# 删除单页
halo single-page delete about --force
# 导出/导入
halo single-page export-markdown <name> --output ./page.md
halo single-page import-markdown --file ./page.md
```
## 搜索内容(search
```powershell
# 搜索公开文章
halo search "Python 教程"
# 搜索并限制结果
halo search "教程" --limit 10
# 搜索并显示详细信息
halo search "教程" --json
```
## 插件管理(plugin
```powershell
# 列出插件
halo plugin list
# 获取插件详情
halo plugin get <plugin-name>
# 升级插件
halo plugin upgrade <plugin-name>
# 升级所有插件
halo plugin upgrade --all
# 启用/禁用插件
halo plugin enable <plugin-name>
halo plugin disable <plugin-name>
```
## 主题管理(theme
```powershell
# 列出主题
halo theme list
# 获取主题详情
halo theme get <theme-name>
# 升级主题
halo theme upgrade <theme-name>
# 切换主题
halo theme active <theme-name>
```
## 附件管理(attachment
```powershell
# 列出附件
halo attachment list
# 上传附件
halo attachment upload --file ./image.png
# 删除附件
halo attachment delete <attachment-id>
```
## 备份管理(backup
```powershell
# 列出备份
halo backup list
# 创建备份
halo backup create
# 下载备份
halo backup download <backup-id> --output ./backup.zip
# 删除备份
halo backup delete <backup-id>
```
## 动态管理(moment
```powershell
# 列出动态
halo moment list
# 创建动态
halo moment create --content "今天写了两篇博客!"
# 删除动态
halo moment delete <moment-id>
```
## 评论管理(comment
```powershell
# 列出评论
halo comment list
# 列出未审核评论
halo comment list --status pending
# 回复评论
halo comment reply <comment-id> --content "感谢您的评论!"
# 审核评论
halo comment approve <comment-id>
halo comment reject <comment-id>
# 删除评论
halo comment delete <comment-id>
```
## 通知管理(notification
```powershell
# 列出通知
halo notification list
# 标记已读
halo notification mark-read <notification-id>
# 全部标记已读
halo notification mark-all-read
# 删除通知
halo notification delete <notification-id>
```
## Shell 补全
```powershell
# bash
eval "$(halo completion bash)"
# zsh
eval "$(halo completion zsh)"
# PowerShell(自动添加到配置文件)
halo completion powershell >> $PROFILE
```
## 输出格式
### 普通输出
```powershell
# 表格格式(默认)
halo post list
# JSON 格式
halo post list --json
# YAML 格式
halo post list --yaml
```
### 颜色输出
```powershell
# 彩色输出(默认)
halo post list --color
# 禁用颜色
halo post list --no-color
```
## 超时和重试
```powershell
# 设置超时(秒)
halo post list --timeout 60
# 重试次数
halo post list --retry 3
```
## 调试
```powershell
# 显示调试信息
halo --debug post list
# 显示完整错误
halo post create --title "Test" --content "Content" --verbose
# 查看版本
halo --version
# 查看帮助
halo --help
halo post --help
```