夜雨聆风学习资料网

ARTICLE · 1211695

我用 OpenClaw 搭了套掘金自动化写作流水线:选题到发布全自动

我用 OpenClaw 搭了套掘金自动化写作流水线:选题到发布全自动
PYTHON 每日一文
我用 OpenClaw 搭了套掘金自动化写作流水线:选题到发布全自动
AI Agent 帮你收集选题、分析竞品、写稿自检、标签匹配、自动发布——把重复劳动交给机器,把创作决策留给自己

作为一个技术博主,每月在掘金发几篇文章,选题 → 写稿 → 排版 → 发布这一套流程至少花掉大半天;更糟的是热门活动话题经常错过——等想起来,活动都快结束了。作者用一个周末,基于 OpenClaw(AI Agent)把整条链路自动化了:从选题到发布全自动,但关键决策点(选哪个话题、文章核心观点、调性)仍保留人工确认——全自动,但不失控。

一、整体架构:一条流水线,五个环节

系统拆成五个串联模块,像工厂流水线一样首尾相接:

环节
做什么
自动化到哪
① 话题获取+选题
拉热门话题、按规则筛选
筛选后推飞书,人确认写哪个
② 竞品分析+差异化
抓同话题热门文、找空白角度
全自动,角度建议给人看
③ 文章创作+自检
大纲→分段写→查 AI 痕迹
生成+自检,人校准调性
④ 标签匹配+话题关联
算标签相关度、关联活动
全自动
⑤ 自动发布+归档
Playwright 发稿、记数据
全自动

原则很清晰:信息收集、格式排版、定时发布 这类重复劳动交给 AI;选题方向、核心观点、文章调性 这类创造性决策留给自己。

二、第一环:自动获取活动话题

掘金没有官方话题 API,但搜索接口能拿到热门话题列表。每天定时跑,按三条规则筛选——① 优先有抽奖(参与有奖励)、② 匹配技术方向(不写生活八卦)、③ 避开已参与过的。结果推到飞书,人扫一眼就决定写哪个:

def fetch_hot_topics():
    """获取掘金热门话题列表(搜索接口,无官方 API)"""
    url = "https://api.juejin.cn/tag_api/v1/theme/list_by_hot"
    response = requests.post(url, headers=headers, json={})
    topics = []
    for item in response.json()["data"]:
        theme = item["theme"]
        topics.append({
            "topic_id": theme["theme_id"],
            "name": theme["name"],
            "hot": theme["hot"],
            "is_lottery": theme.get("is_lottery", False),
            "user_cnt": theme["user_cnt"],
        })
    # 筛选策略:优先有抽奖 + 技术方向 + 未参与过
    return filter_and_rank(topics)

三、第二环:竞品分析与差异化定位

选定话题后,自动抓该话题下热门文章,算平均点赞、提炼常见角度、找出空白机会。作者举例:别人都在横向对比各家产品功能,他的差异化切入是「让它们一起跑马拉松」——用同一套任务测不同 Agent 的连续工作能力,这个角度一出来,数据明显好于平均:

def analyze_competitors(topic_keyword, limit=10):
    """分析话题下的竞品文章,找出差异化空白"""
    articles = search_articles(topic_keyword, limit)
    analysis = {
        "avg_digg": sum(a["digg_count"] for a in articles) / len(articles),
        "hot_titles": [a["title"] for a in articles[:3]],
        "common_angles": extract_content_angles(articles),
        "gap_opportunity": find_missing_angle(articles),   # 别人没写的角度
    }
    return analysis

四、第三环:AI 辅助创作 + 人工校准

分层创作:先生成大纲 → 按章节分段写(第一人称叙述、具体场景+代码示例、有情绪起伏)→ 写完后自动自检。自检重点查 AI 痕迹:过于规整的「首先/其次/最后」、套话「值得注意的是」、长句过多没口语短句。查出来自动标注,人工再调:

def self_check(article):
    """写完后自动过一遍:查 AI 痕迹、字数、代码块、链接"""
    checks = {
        "ai_trace": check_ai_patterns(article),   # 套话/规整结构检测
        "word_count": len(article) >= 2000,       # 字数达标
        "code_blocks": count_code_blocks(article),
        "links_valid": validate_links(article),
    }
    return checks   # 命中问题自动标注,人工再调

五、第四环:智能标签匹配

标签直接影响推荐流量,必须精准。匹配器加载掘金标签库,提取关键词算相关度,返回 top5。一篇讲 OpenClaw 自动化的文章会推荐:Agent / 程序员 / 微服务 / 自动化 / AI:

def match_tags(title, content, category="人工智能"):
    """基于内容匹配掘金热门标签,返回 top5"""
    tag_library = load_juejin_tags()                 # 加载标签库
    keywords = extract_keywords(title + " " + content)
    matches = []
    for tag in tag_library:
        score = calculate_relevance(tag, keywords, category)
        matches.append((tag, score))
    return sorted(matches, key=lambda x: x[1], reverse=True)[:5]
# 例:一篇 OpenClaw 自动化文章 -> Agent/程序员/微服务/自动化/AI

六、第五环:自动发布与数据归档

用 Playwright 模拟浏览器操作,自动完成登录→进发布页→填标题正文摘要→选分类标签→关联话题→点发布;发布后自动验证状态、更新飞书多维表、发通知:

def publish_article(title, content, brief, category, tags, topic_id):
    """用 Playwright 模拟浏览器自动发布到掘金"""
    page = browser.new_page()
    page.goto("https://juejin.cn/editor/drafts/new")
    page.fill("[placeholder='输入文章标题...']", title)
    page.fill(".editor-content", content)          # 填正文(Markdown)
    page.click(f"text={category}")                  # 选分类
    for tag in tags:                                # 逐个加标签
        page.fill("[placeholder='搜索标签...']", tag)
        page.click(f"text={tag}")
    page.click("text=参与话题")                       # 关联活动话题
    page.fill("[placeholder='搜索话题']", topic_id)
    page.click(f"[data-topic-id='{topic_id}']")
    page.click("text=发布文章")                      # 发布 + 自动归档

七、踩过的坑与真实效果

三个坑都填了:① Cookie 过期导致发布失败 → 加有效期检查、快过期自动提醒;② AI 痕迹太重被限流 → 加强自检、提高人工调整比例;③ 话题关联接口偶发报错 → 加重试机制。跑了一个多月,效果是实打实的:

指标
改造前
改造后
累计发布
—
8 篇
平均创作时间
4 小时
1.5 小时
活动话题参与率
常错过
100%
平均阅读量
基线
约 +40%

最爽的是「不再错过活动话题」。以前活动结束才想起来,现在系统每天自动检查,有合适的就推给你。

💡 小结

1. 本质:把重复劳动交给 AI,把创造性决策留给自己。

2. 五环:话题获取→竞品分析→AI 写稿自检→标签匹配→自动发布,关键决策留人工。

3. 选题:无官方 API 就打搜索接口,按「抽奖+技术方向+未参与」三规则筛选。

4. 抗限流:自检重点查 AI 痕迹(套话/规整结构),人工校准调性不可省。

5. 发布:Playwright 模拟浏览器填表发布;Cookie 过期、接口报错都要加重试与提醒。

点在看 + 转发,让更多朋友看见 👑
关注 Py库半功倍,每天一篇干货不迷路 ✨

相关学习资料