Mac 上安装 Halo CLI 并集成 OpenClaw 实现博客自动化发布

最近把博客从 WordPress 迁移到了 Halo,不得不说 Halo 的体验真的很好——界面简洁、插件丰富,而且官方还提供了 CLI 工具,支持命令行管理文章。

这篇文章记录一下我是如何在 Mac 上安装 Halo CLI,以及如何将它集成到 OpenClaw 中实现自动化发布。

什么是 Halo CLI

Halo CLI 是 Halo 官方提供的命令行工具,由 halo-dev/cli 项目维护。通过它你可以:

  • 📝 列出、创建、编辑、删除文章
  • 📁 导入导出 Markdown 文件
  • 🏷️ 管理分类和标签
  • 📦 管理插件和主题
  • 💾 备份和恢复数据

对于经常写技术文章的我来说,能用命令行发布博客简直是效率神器。

安装 Halo CLI

Halo CLI 是一个 Node.js 包,全局安装即可:

npm install -g @halo-dev/cli

安装完成后验证一下版本:

halo --version
# 输出: halo/1.2.1

配置认证

安装完成后,需要配置你的 Halo 博客地址和认证信息。

获取 Personal Access Token

  1. 登录你的 Halo 博客后台
  2. 进入「系统」→「 Personal Access Token」页面
  3. 点击「创建 Token」,填写名称(随便起,比如 openclaw
  4. 点击「提交」后,复制生成的 Token(格式类似 pat_eyJ...

配置 Profile

使用 halo auth login 命令配置认证:

halo auth login \
  --profile myblog \
  --url https://你的博客地址.com \
  --auth-type bearer \
  --token 你的PersonalAccessToken

参数说明:

  • --profile: 给这个配置起个名字,后面命令里用
  • --url: 你的 Halo 博客地址
  • --auth-type: 认证类型,选 bearer(使用 Token)
  • --token: 刚才复制的 Personal Access Token

认证成功后会显示:

Logged in to https://你的博客地址.com as 你的用户名 using profile myblog.

常用命令

配置完成后,就可以用 CLI 管理博客了。

文章管理

# 列出所有文章
halo post list --profile myblog

# 查看单篇文章
halo post get <文章名称> --profile myblog

# 导入 Markdown 文件并创建草稿
halo post import-markdown --profile myblog --file ./post.md

# 发布文章
halo post update <文章名称> --profile myblog --publish true

# 删除文章
halo post delete <文章名称> --profile myblog --force

创建带参数的 Markdown 文件

Halo CLI 支持读取 Markdown 文件头部的 Front Matter:

---
title: 文章标题
slug: url-slug
date: 2026-04-16
tags:
  - 标签1
  - 标签2
categories:
  - 分类
---

# 文章正文

这里是正文内容...

集成 OpenClaw

OpenClaw 是一个 AI 助手框架,支持通过 skill 扩展功能。我把 Halo CLI 的命令封装成了一个 skill,这样就可以用自然语言让 AI 帮我发布博客了。

比如我可以跟 AI 说:

“帮我发布一篇关于 Mac 安装 Halo CLI 的教程到博客”

然后 AI 就会:

  1. 生成文章内容
  2. 保存为 Markdown 文件
  3. 用 CLI 导入并发布到博客

整个过程完全自动化,不需要手动操作后台。

注意事项

  1. Conflict 错误:如果你在 halo post create 时遇到 Conflict 错误,可以改用 halo post import-markdown 导入文章,再用 halo post update 发布。

  2. Token 有效期:Personal Access Token 可能有有效期,记得定期更新。

  3. Profile 切换:如果你有多个 Halo 博客,可以用不同的 profile 名称来管理。

总结

Halo CLI + OpenClaw 的组合让我实现了「对话即发布」的体验。写完文章直接告诉 AI 要发布,剩下的事情 AI 帮你搞定。

强烈推荐有技术背景的博主试试这套方案,相信你也会爱上这种高效的写作流程。


如果你有任何问题,欢迎留言交流!