效果

项目整体流程
在这里插入图片描述

先看实际效果(其中一篇)
在这里插入图片描述
自动配图:
在这里插入图片描述

教程

首先需要正确利用docker安装n8n
文章内容:【Docker部署】一键教会你部署docker——以n8n为例

安装之后如果遇到一些网络问题,请参考如下文章
【n8n网络问题】解决”connection timed out; no servers could be reached“等n8n无法与外部网络通信或超时问题

安装好之后进入docker desktop,启动即可,然后点击端口,即可访问

在这里插入图片描述
启动之后我们需要弄清楚整体流程

获取当日最新github消息 --> 将消息整理发送给AI agent -->由AI攥写报告–>提取报告标题–>查找对应图片(AI生图)–>总结

创建起点

我们采用的是一键启动整条流程,所以选择another trigger
在这里插入图片描述
选择手动
在这里插入图片描述
这样就可以了

获取最新资讯

对于github,我们直接使用官方的api即可,对于类似huggingface这样的仓库,我们使用RSS获取。这里介绍两种方法

github-https请求

利用https工具直接抓取最新数据
具体配置流程:
如下:
使用 GitHub 官方 API
节点: HTTP Request (还是用这个节点)
配置:
Method: GET
URL: https://api.github.com/search/repositories
Options -> Header -> Headers:
添加一条 Header:
Name: Accept
Value: application/vnd.github.v3+json
Options -> Query -> Parameters:
添加三条参数:
Name: q
pushed:>{{$now.minus({days: 1}).toISODate()}}
说明: 这是最关键的搜索查询。AI topic 是关键词,created:>{{…}} 表示只搜索在过去7天内更新的仓库
Name: sort
Value: stars (按星标数排序)
Name: order
Value: desc (降序,星标最多的在前面)

在这里插入图片描述

rss配置流程,利用rss_read

说明: RSS 是获取博客和新闻更新的绝佳方式,完全免费且无需注册。

配置:

URL: 填入一个高质量的 AI 领域 RSS 源地址。你可以添加多个 RSS Feed Read 节点来订阅不同来源。

推荐的 RSS 源 (任选其一或多个):
这里选择huggingface

Hugging Face Blog: https://huggingface.co/blog/feed.xml

Google AI Blog: https://ai.googleblog.com/feeds/posts/default?alt=rss

机器之心: https://www.jiqizhixin.com/rss

Readpaper: https://readpaper.com/rss

此节点会输出最新的 AI 相关博客文章列表。
在这里插入图片描述
然后将他们相连接
在这里插入图片描述
这里需要右键github和rss两个节点为以上命名,以便于与后文相匹配
在这里插入图片描述

处理数据

对于获取到的数据,我们需要进行数据清洗

首先是对github数据进行清洗

添加code节点(直接在右侧搜code),直接将一下复制到代码栏

代码含义为:对应描述加连接即可

let githubItems = [];

if ($input.all().length > 0) {

  const githubApiResponse = $input.first().json;

  if (githubApiResponse && githubApiResponse.items) {
    githubItems = githubApiResponse.items;
  }
}


let content = "## GitHub 最新热点项目:\n\n";

if (githubItems.length > 0) {
  for (const item of githubItems.slice(0, 5)) {
    const description = item.description || '暂无描述';
    content += `- **${item.name}**: ${description}\n  链接: ${item.html_url}\n\n`;
  }
} else {
  content += "- 暂时没有找到相关的热门项目。\n";
}

// Return the final markdown content
return [{ json: { generated_md: content } }];

返回示例:
在这里插入图片描述

rss同样进行操作

// 初始化一个空数组来存放处理后的RSS文章
let rssItems = [];

// --- 1. 数据提取 ---
// 检查是否有数据从上游节点传入
if ($input.all().length > 0) {
  // 当上游节点输出多个项目时,每个项目都是一个 n8n Item 对象。
  // .all() 会获取到一个包含所有这些 Item 对象的数组。
  // 我们使用 .map() 遍历这个数组,并从每个 Item 中提取出 .json 的部分。
  rssItems = $input.all().map(item => item.json);
}

// --- 2. 格式化输出 ---
let content = "## 最新huggingface相关文章:\n\n";

if (rssItems.length > 0) {
  // 遍历提取出来的文章数组,并格式化成Markdown
  for (const item of rssItems.slice(0, 5)) { // 只取前5条
    const title = item.title || '无标题';
    const link = item.link || '#'; // 如果链接不存在,提供一个占位符
    
    // 格式化输出,标题加粗,下面是链接
    content += `- **${title}**\n  链接: ${link}\n\n`;
  }
} else {
  content += "- 暂时没有找到相关的热门文章。\n";
}

// --- 3. 返回结果 ---
// 将最终生成的Markdown字符串作为输出,以便下一个节点可以使用
return [{ json: { generated_md: content } }];

数据合并

对于处理的数据,我们将进行合并,便于传给AI
添加merge节点
在这里插入图片描述

选择conbine,字段选择generated_md
在这里插入图片描述

AI总结

结合之后,我们就可以进行下一步传给AI,这里我们不用AI agent,而是利用gemini,因为genimi每个人都有免费额度,这里不做过多描述,自行查询,只需要获取对应的apikey就可以了

直接搜gemini
添加令牌,输入自己的key,选择免费的gemini-2.5-flash
填写prompt:(注意选择expression
这里需要重点标注title

你是一位顶级的AI科技博主,你的任务是根据我提供的最新AI资讯,撰写一篇面向技术爱好者的微信公众号文章。
写作要求:

  1. 标题: 在文章的最开始,用 [TITLE]文章标题放这里[/TITLE] 的格式,为文章起一个响亮、吸引人的标题。
  2. 风格: 风格要风趣、易懂,能把复杂的技术点讲清楚。使用 Emoji。
  3. 结构: 文章需要有引言、主体内容(可以分点介绍几个热点)和结尾总结。
  4. 格式: 4. 格式: 全文使用 Markdown 标准语法排版,重点内容请 加粗段落与段落之间必须使用一个空行来分隔,而不是换行符“\n\n”,以确保格式正确。
  5. 内容: 必须基于以下我提供的最新资讯进行创作和点评。

【最新AI资讯】
{{ $json.generated_md }}

在这里插入图片描述
添加好之后可以运行一下看看有没有问题

------------未完待续-------------

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐