2026-09-19 · 原文发布日
每周五自动搜索并生成带引用的AI周报草稿
每周五早上运行:从一个配置步骤生成两条搜索词和一周时间窗,调SerpAPI各搜一次,按URL去重后编号成引用材料,交给Gemini严格只用这些来源写周报,返回标题、摘要、正文、标签等结构化字段;强制标题摘要字数、正文为空则让运行失败,Markdown转HTML后在WordPress创建草稿而非直接发布,方便人工核对引用是否准确。
原文要点
原模板每周五07:00由定时触发器运行:一个配置步骤生成两条不同搜索词和一周时间窗,调SerpAPI的Google Search接口各搜一次;结果按URL合并去重并编号成引用材料,交给Google Gemini并严格要求只引用提供的URL,返回标题、摘要、正文、标签等结构化字段;流程强制标题与摘要字数限制,正文为空则让本次运行失败,并归一化标签;最后把Markdown正文转HTML,在WordPress创建草稿而非直接发布。需配置SerpAPI、Google AI与WordPress Basic Auth三类凭据。
这次做成什么
搭一条「每周五自动搜资料→AI只用搜到的来源写周报→转成HTML→在WordPress存草稿」的流程,并用本站设计的合成搜索结果先手动验证引用约束与失败分支,再开定时。
准备什么
- 一个可登录的n8n实例
- SerpAPI账号及API密钥
- Google Gemini(Google AI)API密钥
- 一个WordPress站点及可创建文章的账号,用于Basic Auth凭据
- 明确周报主题方向(如AI行业动态),用于改写Config步骤
具体怎么做
准备三类凭据
在n8n的Credentials里分别新建SerpAPI密钥、Google AI(Gemini)密钥和WordPress Basic Auth(用户名加应用密码)。确认WordPress账号有创建文章的权限。
导入模板并改写Config步骤
通过原模板页面(n8n.io/workflows/19736)导入工作流,找到Config配置节点,把两条搜索词改成你的周报主题(示例见下方材料),确认它生成一周的新鲜度时间窗,并按需调整标题、摘要字数上限。
绑定凭据到各节点
把SerpAPI凭据赋给两个搜索请求节点,把Gemini凭据赋给写作节点,把WordPress凭据赋给建稿节点,并填入你的站点地址。
用合成数据先验证写作节点
暂时在搜索节点后插入一条Pin住的测试数据(用下方合成JSON),手动执行,检查Gemini是否只在给出的编号URL范围内引用,且输出含title、excerpt、body、tags四个字段。
验证校验与失败分支
故意把测试数据清空再跑一次,确认正文为空时运行按预期失败而不是发出空文章;再恢复数据确认标题超长会被限制逻辑拦截或截断(具体行为以模板节点配置为准)。
确认草稿生成后启用定时
手动跑通后到WordPress后台「文章→草稿」确认出现新草稿、正文为HTML、引用链接可点开。核对无误后启用工作流,每周五07:00自动运行。
可直接复制的材料
Config步骤搜索词示例(本站独立编写)
本站设计的Config参考值,需在原模板Config节点里按其字段结构填写;wordpress_status为草稿是原模板行为。
{
"query_a": "generative AI industry news this week",
"query_b": "new LLM model releases and benchmarks",
"freshness_window_days": 7,
"title_max_chars": 60,
"excerpt_max_chars": 160,
"audience": "关注AI产品动态的中文读者",
"wordpress_status": "draft"
}Gemini周报写作提示词(本站独立编写)
本站独立编写的替代提示词,{{numbered_findings}}与字数上限在n8n中用表达式引用上游字段;原模板自带提示词以模板为准。
你是一名科技周报编辑。下面是一份编号来源清单,这是你唯一允许引用的事实来源。
【来源清单】
{{numbered_findings}}
请撰写本周AI周报,严格遵守:
1. 只使用来源清单中的信息,正文每一处事实性陈述后标注来源编号,格式如[1]、[2]。
2. 不得引入清单之外的任何事实、数据或链接;清单没有的内容宁可不写。
3. 只输出一个JSON对象,含四个字段:title(不超过{{title_max_chars}}字)、excerpt(不超过{{excerpt_max_chars}}字)、body(Markdown格式正文,不少于三个小节,含本周要点、值得关注的发布、一句话点评)、tags(3至5个字符串数组,全小写,不含空格)。
4. 不要输出JSON以外的任何文字或代码块标记。搜索节点测试数据(合成JSON)
全部为虚构域名与内容,仅用于在不消耗SerpAPI额度的情况下测试写作节点;真实运行时由两个搜索请求的结果按URL去重后自动生成编号清单。
{
"numbered_findings": "[1] https://example.com/news/weekly-model-roundup — 虚构演示:某开源模型发布新版本\n[2] https://example.org/blog/agent-tooling-survey — 虚构演示:Agent工具链调查报告\n[3] https://example.net/lab/pricing-change — 虚构演示:某API价格调整公告",
"expected_fields": ["title", "excerpt", "body", "tags"]
}输入与输出示例
本站虚构演示输出,字段与输入的三条编号来源一一对应,非实际调用结果;真实输出取决于当周搜索结果。
输入
编号清单含3条虚构来源:[1]某开源模型新版本发布、[2]Agent工具链调查报告、[3]某API价格调整公告;字数上限title 60字、excerpt 160字对应输出
{"title":"本周AI动态:开源模型更新与Agent工具链","excerpt":"本周值得关注:一款开源模型发布新版本[1],一份Agent工具链调查出炉[2],另有API价格调整[3]。","body":"## 本周要点\n开源模型迎来新版本发布[1]。\n\n## 值得关注的发布\nAgent工具链调查报告总结了当前主流编排方式[2]。\n\n## 一句话点评\n价格调整可能改变小团队的选型[3]。","tags":["ai","llm","agents","weekly"]}做完检查这些
- 两个搜索节点各成功返回结果,合并后同一URL只出现一次且编号连续
- Gemini输出为合法JSON且title、excerpt、body、tags四字段齐全,正文中的引用编号不超出清单范围
- 正文body为空字符串时本次运行失败、不产生任何WordPress文章
- WordPress后台出现的是草稿而非已发布文章,正文为HTML且引用链接可点开
容易卡住的地方
- WordPress需开启应用密码(Application Passwords)才能用Basic Auth,部分安全插件会禁用该接口
- SerpAPI按次计费,两次搜索各消耗一次额度,调试阶段建议先用Pin住的测试数据
- Gemini可能违反约束编造来源之外的链接,需要靠正文为空即失败这类校验和人工核对草稿兜底
- 标题与摘要的字数限制逻辑在原模板节点中实现,改写Config时不要删掉对应校验步骤
- 定时为每周五07:00,注意n8n实例的时区设置,避免比你预期早或晚一天触发
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Draft a weekly AI digest with SerpAPI, Gemini Flash, and WordPress
- 原作者
- Shivam Gupta
- 原始发布日期
- 2026-09-19T12:50:07.161Z
- 来源
- https://n8n.io/workflows/19736