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凭据
具体怎么做
建ai_news表
在PostgreSQL执行下方材料中的建表SQL(列名按原文列出的12列,article_url加唯一约束从数据库层兜底去重)。 Supabase用户在SQL Editor里执行即可。执行后插入一条合成测试行并查询确认。
配置定时触发与新闻拉取
加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数组非空。
过滤并逐条分析
加Split In Batches或内置循环遍历articles。循环内先放IF节点:description包含任一关键词(AI、artificial intelligence、machine learning、LLM、OpenAI、startup)才继续,否则丢弃。通过的文章进OpenAI节点(模型选gpt-4o-mini),system提示词用材料「单篇分析提示词」,user传标题+描述+内容前2000字符。后面Code节点JSON.parse,解析失败记错误日志并跳过该条。
URL去重入库
循环内加Postgres节点执行查询:SELECT 1 FROM ai_news WHERE article_url = $1,参数绑当前文章URL。接IF节点:查询结果为空才走Insert分支,把12列逐一映射(trend_keywords数组转逗号分隔文本或直接存jsonb,按你建表类型来)。已存在则直接跳过。这样即使定时任务重跑也不会重复。
聚合趋势并生成简报
循环结束后,用Postgres节点查当天published_at的条目(或聚合本次新插入的),在Code节点统计trend_keywords词频取前5。把当日条目数组+趋势榜作为payload传给第二个OpenAI节点,system用材料「高管简报提示词」,强调只能基于payload撰写。
发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