chung1007/cyber-threat-intelligence-digest
GitHub: chung1007/cyber-threat-intelligence-digest
一个基于 Dockerized n8n 与 Ollama 的自托管自动化工作流,用于定时采集网络安全 RSS 新闻并通过本地 LLM 生成每日摘要邮件。
Stars: 0 | Forks: 0
# 网络威胁情报摘要
一个使用 **n8n**、**Ollama**、**Docker** 和 **Gmail** 构建的自动化网络威胁情报聚合与摘要平台。
该工作流从 RSS 源收集网络安全新闻,提取文章内容,通过 Ollama 使用本地托管的 LLM 对每篇文章进行摘要,并以 HTML 格式发送每日邮件摘要。
## 架构
```
flowchart TD
A[Schedule Trigger] --> B[RSS Feed]
B --> C[HTTP Request]
C --> D[Extract Article Content]
D --> E[Loop Over Articles]
E --> F[Ollama LLM]
F --> G[Extract Ollama Response]
G --> E
E --> H[Aggregate Results]
H --> I[Construct HTML Email]
I --> J[Gmail Delivery]
K[Docker Container: n8n] -. hosts .-> A
K -. hosts .-> B
K -. hosts .-> C
K -. hosts .-> D
L[Ollama Service] -. processes .-> F
M[PostgreSQL] -. stores .-> K
N[Ubuntu VM] -. runs .-> K
N -. runs .-> L
N -. runs .-> M
O[VMware Fusion Pro] -. hosts .-> N
P[MacBook] -. hosts .-> O
```
## 功能
- 自动获取 RSS 源
- 文章内容提取
- 使用 Ollama 进行本地 AI 驱动的摘要
- 每日 HTML 邮件摘要
- 使用 Docker 进行自托管
- 不依赖基于云的 LLM 服务
- 完全可定制的 RSS 源和 prompt
## 技术栈
- n8n
- Ollama
- Docker
- Docker Compose
- PostgreSQL
- Gmail OAuth
- VMware Fusion(可选)
- Ubuntu Linux 虚拟机(可选)
## 前置条件
### 必需软件
- Docker
- Docker Compose
- Ollama
- Git
可选:
- VMware Fusion Pro
- Ubuntu Linux 虚拟机
## 设置
### 克隆仓库
```
git clone https://github.com/yourusername/cyber-threat-intelligence-digest.git
cd cyber-threat-intelligence-digest
```
### 启动 Ollama
安装 Ollama:
```
curl -fsSL https://ollama.com/install.sh | sh
```
拉取模型:
```
ollama pull phi3:mini
```
验证:
```
ollama list
```
### 启动 n8n 和 PostgreSQL
启动技术栈:
```
docker compose up -d
```
验证容器:
```
docker ps
```
预期输出:
```
n8n
postgres
```
## 访问 n8n
打开浏览器:
```
http://:5678
```
如果在本地虚拟机上运行:
```
http://:5678
```
查找虚拟机 IP:
```
ip addr
```
或
```
hostname -I
```
## 导入工作流
1. 打开 n8n。
2. 点击 **Import from File**。
3. 选择:
```
workflow.json
```
4. 保存工作流。
## Gmail 配置
### OAuth(推荐)
1. 创建一个 Google Cloud 项目。
2. 启用 Gmail API。
3. 配置 OAuth 同意屏幕。
4. 创建 OAuth 凭证。
5. 在 n8n 中配置 Gmail OAuth 凭证。
## 在 Docker 中运行
启动:
```
docker compose up -d
```
停止:
```
docker compose down
```
查看日志:
```
docker logs -f n8n
```
重启:
```
docker restart n8n
```
## 备份工作流
从 n8n 导出工作流:
```
Workflow
→ Download
```
将导出的 JSON 文件存储在版本控制系统中。
标签:AI摘要生成, AI风险缓解, LLM评估, n8n, Ollama, RSS聚合, 威胁情报, 开发者工具, 测试用例, 版权保护, 请求拦截, 逆向工具