从零搭建 AI 新闻自动化系统:Ubuntu 部署 n8n + DeepSeek + Hugo 实战教程
作者:HappyRock
适合人群:开发者、独立开发者、技术管理者、AI爱好者
技术栈:Ubuntu + Docker + n8n + DeepSeek + Hugo
前言
过去几年,我们习惯了:
打开RSS
↓
浏览新闻
↓
筛选热点
↓
整理摘要
↓
写公众号
↓
发布博客
整个过程往往需要 1~2 小时。
而在 AI Agent 时代,这些工作已经可以交给 AI 自动完成。
本文将完整记录如何从零开始:
- Ubuntu 部署 n8n
- 配置 Docker Compose
- 对接 DeepSeek API
- 自动抓取 AI 新闻
- 自动筛选和排序热点
- 自动生成公众号内容
- 自动输出 Hugo Markdown
最终形成一个属于自己的 AI 内容生产系统。
一、为什么选择 n8n?
很多人第一次接触自动化时会遇到:
Python + Crontab Shell Script Airflow Jenkins
这些方案虽然强大,但门槛较高。
n8n 的优势在于:
- 低代码
- 可视化
- 支持AI
- 支持Webhook
- 支持API
- 支持数据库
- 支持工作流编排
本质上:
Trigger
↓
Input
↓
Process
↓
Output
和程序员熟悉的:
#php
$data = input();
$result = process($data);
output($result);
没有本质区别。
二、Ubuntu 部署 Docker
首先确认系统:
#bash
lsb_release -a
例如:
Ubuntu 20.04 LTS
安装 Docker:
#bash
curl -fsSL https://get.docker.com | bash
查看版本:
#bash
docker --version
例如:
Docker version 28.1.1
三、确认 Docker Compose
新版 Docker 已经内置 Compose。
检查:
#bash
docker compose version
例如:
Docker Compose version v5.0.2
如果出现:
docker-compose: command not found
说明你使用的是旧版本。
四、理解 Docker Compose 的工作目录
很多新手会遇到:
#bash
docker compose up -d
报错:
no configuration file provided: not found
原因:
Docker Compose 需要当前目录存在:
docker-compose.yml
例如:
#bash
pwd
返回:
/home/ubuntu/n8n
目录中必须有:
docker-compose.yml
五、部署 n8n
创建目录:
#bash
mkdir ~/n8n
cd ~/n8n
创建:
#bash
nano docker-compose.yml
内容:
#yaml
version: '3'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
ports:
- "5678:5678"
environment:
- TZ=Asia/Shanghai
volumes:
- ./n8n_data:/home/node/.n8n
restart: always
启动:
#bash
docker compose up -d
查看:
#bash
docker ps
看到:
n8n
即表示启动成功。
六、首次访问 n8n
浏览器打开:
http://服务器IP:5678
第一次访问会看到:
Set up owner account
填写:
Email
Password
First Name
Last Name
创建管理员账号。
七、认识 n8n 核心节点
建议优先掌握:
Trigger
触发器:
Manual Trigger
Schedule Trigger
Webhook
Set
设置变量:
{
"name":"Jack"
}
IF
条件判断:
if
else
HTTP Request
调用 API:
DeepSeek
OpenAI
企业系统
Code
JavaScript 节点:
#JavaScript
return [{
json:{
message:"hello"
}
}]
Merge
数据流合并。
八、构建第一个 AI 新闻系统
目标:
RSS
↓
DeepSeek
↓
AI日报
Step1:Schedule Trigger
配置:
Every Day
08:00
Step2:RSS Feed Read
OpenAI:
https://openai.com/news/rss.xml
Anthropic:
https://www.anthropic.com/news/rss.xml
DeepMind:
https://deepmind.google/blog/rss.xml
Step3:Merge
模式:
Append
作用:
OpenAI + Anthropic + DeepMind = 统一新闻流
Step4:Code 整理新闻
#JavaScript
const news = items.map(i => ({
title: i.json.title,
link: i.json.link
}));
return [{
json:{
news
}
}];
九、调用 DeepSeek
HTTP Request:
POST
https://api.deepseek.com/chat/completions
Headers:
Authorization
Bearer sk-xxxx
Content-Type
application/json
十、常见错误排查
1. Authorization failed
原因:
Bearer格式错误
API Key失效
Header位置错误
正确:
Authorization: Bearer sk-xxxx
2. Invalid JSON
例如:
Bad control character
原因:
换行符破坏JSON
解决:
#JavaScript
JSON.stringify()
3. [object Object]
错误:
The value "[object Object]" is not supported
原因:
对象直接拼接到字符串。
错误:
#JavaScript
content: $json.news
正确:
#JavaScript
content: JSON.stringify($json.news)
十一、企业级 Prompt 设计
普通用户:
请总结以下新闻
效果一般。
企业级:
你是一名资深AI行业分析师与科技媒体编辑。
任务:
1. 价值评分
2. 新闻筛选
3. 热点排序
4. 分类
5. 输出公众号风格文章
十二、AI 新闻筛选系统
让 DeepSeek 完成:
筛选
↓
排序
↓
分析
↓
输出
要求:
评分 >= 7
输出:
</>MarkDown
# 今日AI行业动态
## 核心看点
## 行业解读
## 开发者启示
## 总结
十三、升级为内容工厂
进一步增加:
自动标题生成
Prompt:
请生成10个公众号爆款标题
例如:
OpenAI又放大招,AI行业变天了?
自动封面文案
例如:
OpenAI与Anthropic同日出手,AI竞争进入新阶段
自动Markdown生成
输出:
</>MarkDown
---
title: 今日AI行业动态
date: 2026-06-15
draft: false
---
文章内容...
十四、接入 Hugo 自动发布
工作流:
RSS
↓
DeepSeek
↓
Markdown
↓
Write File
↓
Git Push
↓
GitHub Action
↓
Hugo
↓
HappyRock Blog
自动生成:
content/blog/2026-06-15-ai-news.md
十五、未来升级路线
Level 1
RSS
↓
摘要
Level 2
RSS
↓
筛选
↓
排序
Level 3
RSS
↓
公众号文章
Level 4
RSS
↓
AI Agent
↓
公众号
↓
博客
↓
邮件
↓
企业知识库
总结
经过这次实践,我们完成了:
✅ Ubuntu 部署 Docker✅ Docker Compose 部署 n8n✅ 配置 DeepSeek API✅ 多源 RSS 聚合✅ AI 新闻筛选与排序✅ 公众号风格内容生成✅ Hugo 自动发布架构设计
更重要的是,我们掌握了一个关键思想:
n8n 并不是一个简单的自动化工具,而是 AI Agent 时代的工作流编排平台。
对于开发者来说,未来真正有价值的能力,不再只是写代码,而是能够利用 AI、工作流和自动化系统,把重复劳动交给机器,把时间留给创造和决策。
下一步,你完全可以基于这套架构继续扩展:
企业AI战略日报 AI知识库自动更新 AI热点监控系统 AI Agent 内容工厂 Hugo + 公众号双平台自动运营
这才是 AI 时代个人开发者和内容创作者最值得构建的“第二生产力系统”。