AI PLAY玩法更新持续收录
← 回到更新流

2026-09-08 · 原文发布日

每天8点自动给Slack发AI行业高管简报

每天定时从NewsAPI按AI和创业关键词取最新英文文章,按AI相关词过滤后逐条交给OpenAI生成结构化分析(摘要、分类、情绪、重要性评分、趋势关键词),用PostgreSQL按URL去重入库,再把当天条目聚合成趋势交给OpenAI写成高管风格简报发到Slack频道,附处理篇数和趋势榜。

原文要点

原模板由WeblineIndia发布(免费模板)。流程:Schedule Trigger每天08:00触发→NewsAPI按AI与创业关键词取最近5篇英文文章→按描述中的AI相关词过滤→每篇交给OpenAI(原文写明gpt-4o-mini)产出结构化JSON:摘要、分类、情绪、重要性评分、趋势关键词、why it matters→合并原文字段后查PostgreSQL按article_url去重,仅新条目插入public.ai_news表→聚合当天条目取top趋势关键词→OpenAI严格基于该payload写高管简报→发Slack频道并附处理篇数与趋势榜。建表列:article_url、headline、summary、category、importance_score、sentiment、trend_keywords、why_it_matters、source、image_url、published_at、content。原文故障表提醒:JSON解析错要强制严格JSON输出,重复插入要检查IF节点条件。

这次做成什么

搭一条每天早8点自动运行的「AI行业高管简报」流水线:抓新闻→逐条AI结构化分析→数据库去重→生成简报→推Slack,并用合成新闻数据先跑通去重与简报生成逻辑。

准备什么

  • n8n实例(云端或自托管),可启用Schedule Trigger定时执行
  • NewsAPI的API Key(免费档有请求限制,自行确认额度)
  • OpenAI API Key,且账号可用gpt-4o-mini模型
  • 一个PostgreSQL数据库(原文示例为Supabase Postgres)及建表权限
  • Slack工作区及可发消息到目标频道的n8n凭据

具体怎么做

  1. 建ai_news表

    在PostgreSQL执行下方材料中的建表SQL(列名按原文列出的12列,article_url加唯一约束从数据库层兜底去重)。 Supabase用户在SQL Editor里执行即可。执行后插入一条合成测试行并查询确认。

  2. 配置定时触发与新闻拉取

    加Schedule Trigger,cron设为每天08:00(0 8 * * *)。接HTTP Request节点GET https://newsapi.org/v2/everything,query参数:q=artificial intelligence OR AI startup、language=en、pageSize=5、sortBy=publishedAt、apiKey=你的key。先手动执行一次确认articles数组非空。

  3. 过滤并逐条分析

    加Split In Batches或内置循环遍历articles。循环内先放IF节点:description包含任一关键词(AI、artificial intelligence、machine learning、LLM、OpenAI、startup)才继续,否则丢弃。通过的文章进OpenAI节点(模型选gpt-4o-mini),system提示词用材料「单篇分析提示词」,user传标题+描述+内容前2000字符。后面Code节点JSON.parse,解析失败记错误日志并跳过该条。

  4. URL去重入库

    循环内加Postgres节点执行查询:SELECT 1 FROM ai_news WHERE article_url = $1,参数绑当前文章URL。接IF节点:查询结果为空才走Insert分支,把12列逐一映射(trend_keywords数组转逗号分隔文本或直接存jsonb,按你建表类型来)。已存在则直接跳过。这样即使定时任务重跑也不会重复。

  5. 聚合趋势并生成简报

    循环结束后,用Postgres节点查当天published_at的条目(或聚合本次新插入的),在Code节点统计trend_keywords词频取前5。把当日条目数组+趋势榜作为payload传给第二个OpenAI节点,system用材料「高管简报提示词」,强调只能基于payload撰写。

  6. 发Slack并联调

    Slack节点选Post Message,选目标频道,消息体=简报正文+「今日处理N篇|趋势:词1、词2…」。先手动执行全链路确认,再激活定时。第二天08:00后在Executions里检查运行记录。

可直接复制的材料

建表SQL(按原文12列)

按原文列出的列名编写;id与created_at为本站补充的便利列,可删

CREATE TABLE IF NOT EXISTS public.ai_news (
  id BIGSERIAL PRIMARY KEY,
  article_url TEXT UNIQUE NOT NULL,
  headline TEXT,
  summary TEXT,
  category TEXT,
  importance_score INTEGER,
  sentiment TEXT,
  trend_keywords TEXT,
  why_it_matters TEXT,
  source TEXT,
  image_url TEXT,
  published_at TIMESTAMPTZ,
  content TEXT,
  created_at TIMESTAMPTZ DEFAULT now()
);

-- 去重查询(n8n中绑定参数执行)
-- SELECT 1 FROM public.ai_news WHERE article_url = $1 LIMIT 1;

单篇分析提示词(system消息,可直接粘贴)

本站独立编写,字段与原文描述的输出结构一致

你是AI行业新闻分析师。根据用户提供的一篇英文新闻(标题、描述、正文节选),输出严格JSON,不要输出任何其他文字、不要用代码块包裹。字段:
"summary":80-120字中文摘要;
"category":从【大模型、芯片算力、AI应用、融资并购、政策法规、开源生态】中选一个;
"sentiment":从【positive、neutral、negative】中选一个;
"importance_score":1-10整数,10代表行业级重大事件;
"trend_keywords":3-5个中文或英文趋势关键词数组;
"why_it_matters":一句话说明对高管决策者的意义。
只能基于所给文本判断,信息不足就降低importance_score并在summary中说明,不得编造数字。

高管简报提示词(system消息,可直接粘贴)

本站独立编写;原文要求简报严格基于当日payload

你是为CEO撰写每日AI行业简报的助理。用户会给你一份JSON payload,包含当日新闻条目数组(含headline、summary、category、importance_score、trend_keywords、why_it_matters)和top趋势榜。请输出一份中文简报:
1. 开头一行日期与「今日AI要闻」标题;
2. 「重点事件」:按importance_score从高到低列3-5条,每条一行,格式为【分类】标题——一句话摘要(评分/10);
3. 「趋势信号」:用2-3句话概括趋势榜反映的行业动向;
4. 「值得关注」:挑1条why_it_matters最强的事件写一段话分析。
总长度400字以内,语气克制专业。严格只使用payload中的信息,不得引入payload之外的新闻或数据。

合成测试新闻数据(3条,含1条重复URL)

本站合成数据,域名均为虚构;第三条与第一条URL相同,用于验证去重分支

[
  {"url":"https://example-news.test/a1","title":"ChipMaker X发布新一代AI训练卡","description":"AI chip startup unveils new training GPU for LLM workloads","content":"ChipMaker X today announced...","source":{"name":"TechDaily"},"urlToImage":"https://example-news.test/a1.png","publishedAt":"2026-09-08T01:30:00Z"},
  {"url":"https://example-news.test/a2","title":"欧盟通过AI监管新条款","description":"New artificial intelligence regulation passed","content":"The regulation requires...","source":{"name":"PolicyWire"},"urlToImage":"https://example-news.test/a2.png","publishedAt":"2026-09-08T03:00:00Z"},
  {"url":"https://example-news.test/a1","title":"ChipMaker X发布新一代AI训练卡(转载)","description":"AI chip news duplicate","content":"duplicate","source":{"name":"Mirror"},"urlToImage":"","publishedAt":"2026-09-08T04:00:00Z"}
]

输入与输出示例

本站虚构演示,未实际运行,简报文字为示意非模型真实输出

输入

手动执行时把HTTP节点暂换成上方3条合成新闻(其中第3条URL与第1条重复),OpenAI返回第1条的分析JSON:{"summary":"ChipMaker X发布面向大模型训练的新一代GPU,宣称能效比提升。","category":"芯片算力","sentiment":"positive","importance_score":8,"trend_keywords":["AI芯片","训练算力","能效"],"why_it_matters":"算力供给格局可能变化,影响采购与成本规划。"}

对应输出

数据库ai_news表仅新增2行(a1、a2),重复a1被IF节点拦下;Slack收到简报:「今日AI要闻(2026-09-08)
重点事件:【芯片算力】ChipMaker X发布新一代AI训练卡——面向LLM训练的新GPU(8/10)
【政策法规】欧盟通过AI监管新条款——合规要求升级(7/10)
趋势信号:算力与监管同日升温,行业进入『扩产+合规』并行期。
今日处理2篇|趋势:AI芯片、训练算力、AI监管」

做完检查这些

  • 建表SQL执行无报错,重复插入同一article_url第二次被唯一约束拒绝
  • IF过滤节点能丢弃description不含AI关键词的文章
  • 去重查询对合成数据第3条返回非空,Insert分支被跳过
  • 最终Slack消息包含处理篇数与趋势列表,且简报中不出现payload之外的事件

容易卡住的地方

  • NewsAPI免费档有频率与翻页限制,pageSize=5是原文配置,调大前先确认额度
  • OpenAI返回非严格JSON会导致解析中断,提示词中必须强调只输出JSON,原文故障表也点明这一点
  • IF去重条件写错会重复插入,数据库层UNIQUE约束是最后兜底,两者都要配
  • 简报节点若把联网信息混进去会引入payload外内容,需在提示词中禁止并抽查
  • NewsAPI、OpenAI按用量计费;gpt-4o-mini是原文指定模型,账号不可用时需自行换模型并核对输出格式
  • 作者描述为每天08:00运行,时区取决于n8n实例配置,部署后确认服务器时区

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Send daily AI news digest to Slack with OpenAI and PostgreSQL
原作者
WeblineIndia
原始发布日期
2026-09-08T06:13:27.487Z
来源
https://n8n.io/workflows/19367