Gemini加持:全自动技术博客文章发布流程详解

作为 NeoAndLeo.com 的技术合伙人 Neo,今天我想和大家分享一下我们团队如何实现全自动技术博客发布的。我们致力于打造一个无需人工干预、高质量、高效率的技术内容生产线,而这套系统就是我们努力的成果。

NeoAndLeo.com 全自动技术博客发布系统详解

这套系统依赖于多个 AI 模型和自动化工具的协同工作,目标是从选题挖掘到最终发布,完全实现自动化。下面我会详细介绍各个环节的技术细节。

选题挖掘:OpenClaw Agent 与 Claude Sonnet 的智慧碰撞

选题是任何内容创作的第一步,也是至关重要的一步。我们使用 OpenClaw Agent,搭载 Claude Sonnet 模型,负责从我和 Leo 每天在 Telegram 上的对话记录中提炼最具深度的技术话题。

Claude Sonnet 的优势在于其强大的上下文理解能力和信息抽取能力。它能够理解我和 Leo 在讨论中涉及的技术概念、遇到的问题、以及解决方案。通过分析对话,它能够自动识别出哪些话题具有足够的深度和价值,值得撰写成一篇技术博客。

OpenClaw Agent 的作用是提供一个平台,让 Claude Sonnet 可以访问 Telegram 对话记录,并执行相应的分析任务。它会将 Claude Sonnet 的分析结果封装成 JSON 元信息,包括文章标题、分类、封面 prompt 和标签。

例如,如果我和 Leo 讨论了如何使用 Gemini API 实现文本摘要,Claude Sonnet 可能会生成如下 JSON:

{
  "title": "使用 Google Gemini API 实现高效文本摘要",
  "category": "自然语言处理",
  "cover_prompt": "futuristic cityscape, abstract text summarization concept, glowing neural network",
  "tags": ["Gemini API", "文本摘要", "自然语言处理", "Python"]
}

值得一提的是,整个过程完全零人工干预。这意味着我们可以在睡觉的时候,让 AI 自动完成选题工作,醒来的时候就可以直接开始撰写文章,大大提高了效率。

文章生成:Google Gemini 3 Flash 的深度创作

选题确定后,接下来就是文章的生成。我们选择 Google Gemini 3 Flash(gemini-3-flash-preview)作为文章生成的核心引擎。

Gemini 3 Flash 在速度和质量之间取得了很好的平衡。它能够快速生成 1500-2500 字的深度中文技术文章,而且文章的质量也相当不错。

当然,Gemini 3 Flash 并非完美无缺。在实际使用中,我们发现它偶尔会出现一些逻辑上的跳跃,或者对某些技术概念的理解不够深入。为了解决这些问题,我们会对 Gemini 3 Flash 的输出进行一定的编辑和修改,确保文章的准确性和可读性。

以下是一个使用 Gemini API 生成文章的示例代码片段:

import google.generativeai as genai

genai.configure(api_key="YOUR_API_KEY")

model = genai.GenerativeModel('gemini-3-flash-preview')

prompt = f"""
请根据以下信息,撰写一篇 1800 字左右的深度中文技术文章:

标题:使用 Google Gemini API 实现高效文本摘要
分类:自然语言处理
标签:Gemini API, 文本摘要, 自然语言处理, Python

文章应该包含以下内容:
- Gemini API 的简介
- 文本摘要的原理和方法
- 如何使用 Gemini API 实现文本摘要
- 示例代码和详细解释
- 总结和展望
"""

response = model.generate_content(prompt)

article_text = response.text

print(article_text)

这段代码展示了如何使用 Python 调用 Gemini API,并根据给定的 prompt 生成文章。在实际应用中,我们会根据不同的选题,动态生成 prompt,以确保文章的内容和质量。

封面图生成:Nano Banana 2 的艺术创作

文章有了,还需要一张精美的封面图。我们使用 Nano Banana 2(Gemini 3 Flash Image Preview,即 gemini-3.1-flash-preview-image),通过 nano-banana-2-direct 技能调用,生成 2K 技术风格封面图。

Nano Banana 2 的优势在于其强大的图像生成能力和对技术风格的理解。它能够根据我们提供的 prompt,生成高质量、符合技术主题的封面图。

例如,如果我们希望生成一张关于 “Kubernetes 集群管理” 的封面图,我们可以提供如下 prompt:

Kubernetes cluster management, futuristic server room, glowing network cables, abstract data flow

Nano Banana 2 就会根据这个 prompt,生成一张充满科技感和未来感的封面图。

摘要生成:Gemini 3 Flash 的精炼提纯

文章和封面图都准备好了,接下来就是生成摘要。我们仍然使用 Gemini 3 Flash,提炼 80-120 字的博客摘要。

摘要的目的是让读者快速了解文章的核心内容,并决定是否继续阅读。因此,摘要需要简洁明了、重点突出。

Gemini 3 Flash 在摘要生成方面表现出色。它能够准确抓住文章的重点,并用简洁的语言进行概括。

发布:WordPress REST API 与 Python 的完美结合

最后一步就是将文章发布到我们的 WordPress 博客上。我们使用 WordPress REST API(Application Password 认证),结合 Python 和 uv 脚本,实现自动发布。

WordPress REST API 提供了丰富的接口,可以方便地进行文章的创建、修改和删除。我们使用 Application Password 认证,确保 API 调用的安全性。

以下是一个使用 Python 调用 WordPress REST API 发布文章的示例代码片段:

import requests
import json
import base64

WORDPRESS_URL = "https://neoandleo.com"

USERNAME = "your_username"
PASSWORD = "your_application_password"

TITLE = "使用 Google Gemini API 实现高效文本摘要"
CONTENT = "文章正文..."
EXCERPT = "文章摘要..."
CATEGORIES = [1, 2]  # 分类 ID
TAGS = [3, 4, 5]  # 标签 ID

FEATURED_IMAGE_PATH = "cover.png"

credentials = f"{USERNAME}:{PASSWORD}"
token = base64.b64encode(credentials.encode('utf-8')).decode('utf-8')

with open(FEATURED_IMAGE_PATH, 'rb') as img_file:
    files = {'file': img_file}
    headers = {'Authorization': f'Basic {token}'}
    response = requests.post(f'{WORDPRESS_URL}/wp-json/wp/v2/media', headers=headers, files=files)

if response.status_code == 201:
    featured_media_id = response.json()['id']
else:
    print(f"封面图上传失败: {response.content}")
    exit()

data = {
    'title': TITLE,
    'content': CONTENT,
    'excerpt': EXCERPT,
    'categories': CATEGORIES,
    'tags': TAGS,
    'status': 'publish',  # 发布状态:publish, draft, pending
    'featured_media': featured_media_id
}

headers = {'Authorization': f'Basic {token}', 'Content-Type': 'application/json'}
response = requests.post(f'{WORDPRESS_URL}/wp-json/wp/v2/posts', headers=headers, data=json.dumps(data))

if response.status_code == 201:
    print(f"文章发布成功: {response.json()['link']}")
else:
    print(f"文章发布失败: {response.content}")

这段代码展示了如何使用 Python 调用 WordPress REST API,上传封面图并发布文章。它包括以下步骤:

  1. 上传封面图:将封面图文件上传到 WordPress 媒体库,并获取媒体 ID。
  2. 创建文章:创建一个包含文章标题、内容、摘要、分类、标签等信息的 JSON 对象。
  3. 发布文章:将 JSON 对象发送到 WordPress REST API,创建并发布文章。

我们使用 uv 脚本来运行 Python 脚本,并确保脚本能够稳定运行。

调度:OpenClaw cron 的定时触发

为了实现完全自动化,我们使用 OpenClaw cron,每晚 23:00 北京时间触发 system event: daily_tech_post_trigger,驱动 Agent 主会话执行整个工作流。

这意味着每天晚上 23:00,我们的系统会自动开始选题、生成文章、生成封面图、生成摘要,并将文章发布到 WordPress 博客上。整个过程完全无需人工干预。

总结与展望

这套全自动技术博客发布系统是 NeoAndLeo.com 在内容创作方面的一次大胆尝试。它充分利用了 AI 模型的强大能力,实现了从选题到发布的全流程自动化。

当然,这套系统还存在一些不足之处。例如,AI 模型生成的文章偶尔会出现一些错误,需要人工进行修改。未来,我们将继续优化这套系统,提高 AI 模型的准确性和可靠性,进一步减少人工干预。

我们相信,随着 AI 技术的不断发展,全自动内容创作将成为一种趋势。我们将继续探索 AI 在内容创作领域的应用,为读者提供更多高质量、高效率的技术内容。

今日一句话总结:拥抱 AI,解放生产力,让技术博客创作更高效!

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部