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

47
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](https://www.lxware.cn?code=lhDream)   │
│  Markdown    │     │  确认内容     │     │  草稿 / 发布     │
└─────────────┘     └──────────────┘     └─────────────────┘

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

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

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


实战:用 OpenClaw 生成博客

方式一:直接对话生成

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

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

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

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

方式二:先搜索再写作

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

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

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

方式三:子代理批量生成

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

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

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` | 文章标题 |
| `--content` | Markdown 内容 |
| `--publish` | `false` 存草稿 / `true` 直接发布 |
| `--categories` | 分类(逗号分隔) |
| `--tags` | 标签(逗号分隔) |

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

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

在 OpenClaw 中一句话搞定

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

草稿模式:

把刚才那篇文章推送到 [Halo](https://www.lxware.cn?code=lhDream) 草稿箱,分类"技术",标签加 OpenClaw 和 Halo

发布模式:

直接发布到 [Halo](https://www.lxware.cn?code=lhDream),分类"技术",标签 OpenClaw、Halo、AI

全流程一条龙:

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

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


进阶:定时生成

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

# 每天早上 9 点生成 AI 行业日报(草稿模式)
openclaw cron create \
  --schedule "0 9 * * *" \
  --task "搜索今天的 AI 新闻,写一篇 1000 字的行业日报,推送到 [Halo](https://www.lxware.cn?code=lhDream) 草稿箱" \
  --deliver

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

# 每周一早上生成并发布一周技术总结
openclaw cron create \
  --schedule "0 9 * * 1" \
  --task "搜索本周技术动态,写一篇 1500 字的周报,直接发布到 [Halo](https://www.lxware.cn?code=lhDream),分类'技术',标签 技术、周报" \
  --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](https://www.lxware.cn?code=lhDream) 草稿箱,分类"技术",标签 OpenClaw、Halo、AI

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


总结

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

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

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

两种模式按需选择:

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

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