用 OpenClaw + Halo CLI 实现 AI 自动生成博客

6
0

让 AI 帮你写博客,自动推送到博客系统——从生成内容到发布上线,全程只需要几句自然语言指令。这不是科幻,而是一条已经跑通的实际工作流。

这篇文章记录了我如何用 OpenClaw(开源 AI Agent 平台)+ Halo(开源博客系统)+ Halo CLI(官方命令行工具)搭建一条完整的 AI 博客自动化流水线。


前言

写博客这件事,最难的不是"写",而是"开始写"。有了灵感之后,打开编辑器、组织结构、填充内容、排版、发布……这一系列操作足以让大多数灵感在到达键盘之前就消散了。

如果身边有一个 AI Agent,能不能让它把这些机械性的工作全部接过去?

答案是肯定的。我用到的技术栈:

  • OpenClaw:开源的本地 AI Agent 平台,连接大模型和各种工具
  • Halo:优秀的开源 Java 博客系统
  • Halo CLI:Halo 官方提供的命令行工具(@halo-dev/cli

核心思路:用 OpenClaw 驱动 AI 生成 Markdown 内容,通过 Halo CLI 推送到博客。保守一点可以存为草稿人工审核,信任 AI 的话可以全流程直接发布——两种模式按需切换。


环境准备

1. Halo 博客系统

假设你已经有一个运行中的 Halo 实例。没有的话,Halo 官方文档提供了详细的部署指南,Docker 一键部署即可。

要求:Halo 版本 2.x 及以上(Halo CLI 基于 2.x API)。

2. 安装 Halo CLI

npm install -g @halo-dev/cli

安装包源码:https://github.com/halo-dev/cli

验证安装:

halo --version
# halo/1.2.1 linux-x64 node-v22.22.1

3. 配置认证

Halo CLI 使用 Bearer Token 认证:

halo auth login

按提示输入博客地址和管理员 Personal Access Token(PAT),Token 在 Halo 后台「个人设置 → 令牌」中生成。

验证登录状态:

halo auth current
FIELD        VALUE
name         my-blog
baseUrl      https://your-blog.example.com
auth.type    bearer

4. 安装 OpenClaw

npm install -g openclaw

开源仓库:https://github.com/openclaw/openclaw,文档:https://docs.openclaw.ai

运行初始化向导,按提示配置模型提供商(OpenAI、智谱等)和消息通道(微信、Telegram、Discord 等)。


工作流设计

整条流水线分三个阶段:

┌─────────────┐     ┌──────────────┐     ┌─────────────────┐
│  1. AI 生成  │ ──→ │ 2. 对话调整   │ ──→ │ 3. 推送至 Halo   │
│  Markdown    │     │  确认内容     │     │  草稿 / 发布     │
└─────────────┘     └──────────────┘     └─────────────────┘

草稿模式(默认):AI 生成内容后存为草稿,人工在 Halo 后台审核后发布。适合大多数场景,质量可控。

发布模式:从生成到发布一气呵成,无需人工介入。适合对时效性要求高的内容,或者经过多次迭代、已经验证过输出质量的场景。

两种模式在 Halo CLI 中只是一个参数的区别(--publish false vs --publish true),在 OpenClaw 中也只需要在指令里多说一句。


实战:用 OpenClaw 生成博客

方式一:直接对话生成

最简单的方式——告诉 OpenClaw 你想写什么:

帮我写一篇关于 Claude Code 源码泄露事件的技术分析博客,
要求:
- 2000 字左右
- 包含事件背景、技术分析、安全影响
- 使用中文,Markdown 格式
- 不要写 H1 标题(Halo 会自动生成)

生成后可以继续对话调整:

第三段加一些代码示例
最后加一个总结
语气再技术一点

方式二:先搜索再写作

对于需要时效性信息的文章,让 OpenClaw 先检索再动笔:

搜索一下最近 OpenClaw 的更新和新功能,
然后写一篇介绍文章,面向开发者

OpenClaw 通过 Tavily 等搜索工具获取最新信息,结合大模型的写作能力生成内容。

方式三:子代理批量生成

需要一次生成多篇文章时,用 OpenClaw 的子代理(Sub-Agent)并行处理:

帮我生成 5 篇 AI 工具相关的博客:
1. Claude Code 使用指南
2. Cursor vs Windsurf 对比
3. MCP 协议入门
4. AI Agent 开发框架对比
5. 本地部署大模型方案
每篇都推送到 Halo 草稿箱

OpenClaw 会为每篇文章启动独立子代理,并行执行,效率远高于逐篇手动操作。


推送到 Halo

命令行操作

内容确认后,用 Halo CLI 创建文章:

# 存为草稿
halo post create \
  --title "文章标题" \
  --content "$(cat article.md)" \
  --publish false \
  --categories 技术 \
  --tags OpenClaw,Halo,AI

# 直接发布
halo post create \
  --title "文章标题" \
  --content "$(cat article.md)" \
  --publish true \
  --categories 技术 \
  --tags OpenClaw,Halo,AI

参数说明:

参数说明
--title文章标题
--contentMarkdown 内容
--publishfalse 存草稿 / true 直接发布
--categories分类(逗号分隔)
--tags标签(逗号分隔)

也可以用 Markdown 文件导入,frontmatter 里写元数据:

halo post import-markdown --file article.md --force
---
title: 文章标题
slug: article-slug
categories:
  - 技术
tags:
  - OpenClaw
  - Halo
---
文章内容从这里开始...

在 OpenClaw 中一句话搞定

当然,实际使用时你不需要自己敲命令。让 OpenClaw 代劳:

草稿模式:

把刚才那篇文章推送到 Halo 草稿箱,分类"技术",标签加 OpenClaw 和 Halo

发布模式:

直接发布到 Halo,分类"技术",标签 OpenClaw、Halo、AI

全流程一条龙:

帮我从搜索到写文章到发布一条龙完成,主题是"2025年 AI 编程工具盘点",
分类"技术",标签 AI、编程工具

OpenClaw 会依次执行搜索、写作、推送并发布,全程无人值守。


进阶:定时生成

OpenClaw 支持定时任务,可以实现定时自动生成博客

# 每天早上 9 点生成 AI 行业日报(草稿模式)
openclaw cron create \
  --schedule "0 9 * * *" \
  --task "搜索今天的 AI 新闻,写一篇 1000 字的行业日报,推送到 Halo 草稿箱" \
  --deliver

如果你对输出质量有信心,也可以定时直接发布:

# 每周一早上生成并发布一周技术总结
openclaw cron create \
  --schedule "0 9 * * 1" \
  --task "搜索本周技术动态,写一篇 1500 字的周报,直接发布到 Halo,分类'技术',标签 技术、周报" \
  --deliver

任务管理:

openclaw cron list      # 查看所有定时任务
openclaw cron delete <task-id>  # 删除任务

注意事项

文章格式

Halo 会自动为文章标题生成 H1 标签,所以 Markdown 内容中不要重复写 # 一级标题,从 ## 二级标题开始即可。否则页面会出现两个 H1,影响 SEO。

提升内容质量

AI 输出的质量很大程度上取决于你给的指令:

  • 明确目标读者:告诉 AI 写给谁看
  • 指定字数范围:避免过短或过长
  • 提供参考素材:让 AI 基于具体信息写作,而非纯编造
  • 分步迭代:先生成大纲确认,再填充内容
  • 多轮打磨:不满意就继续对话调整

安全建议

  • 默认用草稿模式,确认质量后再发布
  • 切换到发布模式前,建议先用草稿模式多跑几轮
  • Halo CLI 的 Token 存储在系统密钥环中,不要明文写在配置文件里
  • 定时任务建议配置通知渠道,及时了解执行情况

完整示例

从零开始的一篇博客,实际操作只需要三步:

第一步:生成内容

帮我写一篇关于 OpenClaw 自动化工作流的博客,
面向有基本 Linux 经验的开发者,
1500-2000 字,包含环境搭建和实战示例,
Markdown 格式,从 ## 二级标题开始

第二步:调整细节

代码示例加上注释
最后加一个总结段落

第三步:推送到 Halo

推送到 Halo 草稿箱,分类"技术",标签 OpenClaw、Halo、AI

或者,如果你已经满意,直接说一句"发布到 Halo"就够了。


总结

这条工作流的核心价值在于降低写作的启动成本

  • 不需要打开编辑器
  • 不需要手动排版
  • 不需要复制粘贴
  • 不需要记 Halo 的 API

用自然语言描述想法,AI 帮你完成剩下的一切。

两种模式按需选择:

  • 草稿模式(默认):AI 是写作助手,生成内容存草稿,人工审核后发布。适合大多数场景。
  • 发布模式:从生成到发布全流程无人值守。适合经过验证的定时任务,或对时效性要求极高的内容。

如果你已经在用 OpenClaw 和 Halo,不妨试试这条工作流。写博客这件事,可以变得很轻松。