记录生活
分享美好

【OpenClaw 技能周刊 #02】打造全自动“赛博编辑部”:让 Agent 自动嗅探科技资讯并发布到 WordPress

站长心海前言: 欢迎来到【OpenClaw 技能周刊】第二期! 很多朋友开了博客,但最大的痛点往往是“没时间更新”。每天去外网看最新的 AI 论文、Github 趋势,然后再翻译、排版发到自己的网站上,一套流程下来起码得半个小时。 今天,心海教你给 OpenClaw 装备一套极其硬核的自动化内容技能,让你的 Agent 化身“无情”的赛博编辑,24小时为你自动充实博客的“AI 实验室”板块!


🧐 本期技能组合的核心逻辑

我们要实现的全自动流水线如下:

  1. 嗅探 (RSS-Sniper): Agent 定时去指定的海外极客网站抓取最新的 RSS 订阅流,提取最新文章的标题和链接。
  2. 消化 (LLM 翻译/摘要): 将抓取到的外文内容喂给大模型(如 ChatGPT 或 Claude),让其翻译成流畅的中文,并提取出核心摘要。
  3. 发布 (WP-REST-Publisher): 通过 WordPress REST API,自动配好排版,直接推送到你的博客后台(存为草稿)。

为了让大家少走弯路,心海直接把这套自动化流水线的核心 Python 脚本开源出来。只要你有一台运行着 Linux(比如 Debian)的服务器,稍微改改配置就能直接跑起来!


🛠️ 核心准备工作

在运行脚本之前,你需要做两件事:

  1. 安装 Python 依赖库: 我们需要用到 requests 来发送 API 请求,以及 feedparser 来解析 RSS 源。Bashpip install requests feedparser
  2. 生成 WordPress 应用程序密码:
    • 登录你的 WordPress 后台,进入 用户 -> 个人资料
    • 拉到最下方,生成一个专属的“应用程序密码”(比如命名为 OpenClaw-Bot)。请注意:绝对不要把你的网站主密码写在脚本里!

💻 粉丝专属福利:全自动流水线整合源码

下面这段代码,完美整合了 RSS 信息嗅探WordPress 自动推送。代码中预留了 AI 翻译的接口位置,你可以根据自己的需求接入相应的 API。

创建一个名为 cyber_editor.py 的文件,粘贴以下代码:

Python

import requests
from requests.auth import HTTPBasicAuth
import feedparser
import json
import time

# ==========================================
# ⚙️ 基础配置区 (请替换为你自己的信息)
# ==========================================
WP_URL = "https://www.lanxh.com/wp-json/wp/v2/posts" # 你的博客 REST API 地址
WP_USERNAME = "your_admin_username"                  # WordPress 登录用户名
WP_APP_PASSWORD = "your_application_password_here"   # 刚刚生成的应用程序密码

TARGET_RSS_URL = "https://hnrss.org/frontpage"       # 目标 RSS 源 (这里以 Hacker News 为例)
FETCH_LIMIT = 2                                      # 每次执行抓取的文章数量

# ==========================================
# 🛠️ 技能一:RSS-Sniper (信息嗅探器)
# ==========================================
def fetch_latest_news(rss_url, limit):
    print(f"📡 [嗅探器] 正在锁定并抓取 RSS 源: {rss_url}")
    feed = feedparser.parse(rss_url)
    articles = []

    for entry in feed.entries[:limit]:
        articles.append({
            "title": entry.title,
            "link": entry.link,
            "summary": entry.get("summary", entry.get("description", "无摘要"))
        })
        print(f"  -> 发现新情报: {entry.title}")

    return articles

# ==========================================
# 🧠 技能二:LLM 处理 (留给大模型发挥的空间)
# ==========================================
def process_content_with_ai(article):
    print(f"🤖 [AI 大脑] 正在翻译并重写文章: {article['title']}")
    # ⚠️ 这里你可以接入 OpenAI、DeepSeek 等 API 进行真实的翻译和重写
    # 为了演示,我们在这里直接生成一段带有古腾堡区块格式的伪原创内容

    translated_title = f"[AI 发现] {article['title']}"

    # 使用 WordPress 原生区块格式输出,排版更美观
    formatted_content = f"""
    <blockquote class="wp-block-quote"><p><strong>原文链接:</strong><a href="{article['link']}">{article['link']}</a></p></blockquote>
    <h2>内容摘要</h2>
    <p>{article['summary']}</p>
    <p><em>(注:本文由 OpenClaw Agent 自动嗅探并发布,正在等待站长心海的最终审核。)</em></p>
    """

    return translated_title, formatted_content

# ==========================================
# 🛠️ 技能三:WP-REST-Publisher (自动发布机)
# ==========================================
def publish_to_wordpress(title, content):
    post_data = {
        "title": title,
        "content": content,
        "status": "draft", # 🛡️ 安全底线:强烈建议默认保持 draft (草稿),由人工审核后再发布
        # "categories": [2], # 如果知道你的“AI 实验室”分类 ID,可以填入
    }

    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json"
    }

    print(f"🚀 [发布机] 正在将内容推送到博客后台草稿箱...")

    response = requests.post(
        WP_URL,
        data=json.dumps(post_data),
        headers=headers,
        auth=HTTPBasicAuth(WP_USERNAME, WP_APP_PASSWORD)
    )

    if response.status_code == 201:
        print(f"✅ 成功!文章《{title}》已存入草稿箱。")
        print(f"🔗 预览链接: {response.json().get('link')}\n")
    else:
        print(f"❌ 推送失败!状态码: {response.status_code}")
        print(f"错误信息: {response.text}\n")

# ==========================================
# ⚙️ 启动流水线
# ==========================================
if __name__ == "__main__":
    print("=== OpenClaw 赛博编辑部启动 ===")

    # 1. 嗅探新闻
    latest_articles = fetch_latest_news(TARGET_RSS_URL, FETCH_LIMIT)

    # 2. 遍历处理并发布
    for article in latest_articles:
        # 模拟 AI 处理时间
        time.sleep(1) 

        # 处理内容
        final_title, final_content = process_content_with_ai(article)

        # 推送至 WordPress
        publish_to_wordpress(final_title, final_content)

    print("=== 所有任务执行完毕,请前往博客后台审核草稿! ===")

💡 站长进阶玩法

如果你把这段脚本放在你的 Debian 服务器上,只需要使用 crontab -e 添加一条定时任务: 0 8 * * * /usr/bin/python3 /path/to/cyber_editor.py

这样,每天早上 8 点,你的 Agent 就会准时去海外极客圈帮你“进货”,并把翻译排版好的科技头条工工整整地放在你的 WordPress 草稿箱里!

重要提醒: 自动化虽然爽,但心海强烈建议保持 status="draft"。大模型偶尔会有“机翻味”或出现幻觉,由你最后人工润色一下再点击“发布”,才是对博客质量最负责任的做法!

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《【OpenClaw 技能周刊 #02】打造全自动“赛博编辑部”:让 Agent 自动嗅探科技资讯并发布到 WordPress》
文章链接:https://www.lanxh.com/3386.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。部分内容来源于网络如有版权问题请联系删除:admin@lanxh.com

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册