惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
B
Blog
阮一峰的网络日志
阮一峰的网络日志
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Jina AI
Jina AI
博客园 - 聂微东
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
L
LangChain Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
酷 壳 – CoolShell
酷 壳 – CoolShell
Y
Y Combinator Blog
F
Fortinet All Blogs
H
Help Net Security
B
Blog RSS Feed
J
Java Code Geeks
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Apple Machine Learning Research
Apple Machine Learning Research
S
SegmentFault 最新的问题

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
开源 部署了一个 AI 版 rss 阅读器 接入 AI 优化 向量搜索 自...
nfksuk · 2025-12-22 · via V2EX

一个功能完善的 RSS 订阅管理器,支持多用户、分类管理、定时抓取、自定义抓取规则以及 AI 翻译和摘要功能。
github: https://github.com/inspoaibox/RSS-feed-manager
![]( https://telegraph-image-92x.pages.dev/file/8384ad8a1b5bdf291764f-7767f7ae8dfd15a4d7.png)
![]( https://telegraph-image-92x.pages.dev/file/c2021908651f43e59c121-9a254d668e9da19559.png)
![]( https://telegraph-image-92x.pages.dev/file/22193a747d4b489b699c6-66edfc0c9e8d47459d.png)
![]( https://telegraph-image-92x.pages.dev/file/676d1e8ca26b7a856b3c8-168aaf8991b0d9949c.png)
![]( https://telegraph-image-92x.pages.dev/file/b7e93b3740e6733d752d9-fa5d3855afe90c68d6.png)
![]( https://telegraph-image-92x.pages.dev/file/5c58615b17fec9039a64b-3ef641bde5d81c4ef1.png)
![]( https://telegraph-image-92x.pages.dev/file/12e9affa6e78c662896e6-038a85072b06e928bb.png)
![]( https://telegraph-image-92x.pages.dev/file/a116db02d21531fbea854-7c7330673cd66c8300.png)
## 功能特性
- 📰 RSS/Atom 订阅源管理
- 📁 分类管理
- 📖 文章阅读(已读/未读、收藏)
- 🔍 全文搜索和排序
- ⏰ 定时自动抓取(可设置 1 分钟 - 24 小时间隔)
- 🌐 Playwright 浏览器模式(支持 Cloudflare 保护的网站)
- 🤖 AI 自动翻译和整理(支持 OpenAI 、Gemini 及兼容 API )
- 🧠 **AI 智能内容分析**(语义搜索 + AI 总结)
- 🕷️ 自定义抓取规则
- 📦 OPML 导入导出
- 💾 配置备份恢复
## 技术栈
| 后端 | 前端 |
|------|------|
| Python 3.11+ | React 18 |
| FastAPI | TypeScript |
| SQLAlchemy 2.0 | TailwindCSS |
| Celery + Redis | React Query |
| PostgreSQL + pgvector | Zustand |
## 快速开始
### 方式一:生产环境部署( Docker 一键启动,推荐)
只需安装 Docker ,几条命令启动所有服务:
```bash
# 1. 启动所有服务
docker compose -f docker-compose.prod.yml up -d
# 2. 初始化数据库(首次部署必须执行)
docker exec -it rss_manager_backend alembic upgrade head
```
启动后访问: http://localhost:5666
包含的服务:
- PostgreSQL 数据库
- Redis 缓存
- 后端 API
- Celery 定时任务(自动抓取订阅源)
- 前端界面
停止服务:
```bash
docker compose -f docker-compose.prod.yml down
```
**更新代码后重新部署:**
```bash
# 拉取最新代码后,重建并重启所有服务
docker compose -f docker-compose.prod.yml up -d --build
# 如果有数据库结构变更,执行迁移
docker exec -it rss_manager_backend alembic upgrade head
```
> ⚠️ 如果只重建单个服务(如 `--build backend`),需要同时重启 frontend ,否则 nginx 会因 DNS 缓存连接失败:
> ```bash
> docker compose -f docker-compose.prod.yml up -d --build backend
> docker restart rss_manager_frontend
> ```
### 方式二:开发环境( SQLite ,无需 Docker )
适合本地开发调试,不支持定时抓取功能和 AI 语义搜索(会自动回退到关键词搜索)。
**后端设置:**
```bash
cd backend
python -m venv venv
.\venv\Scripts\activate # Linux/Mac: source venv/bin/activate
pip install -e ".[dev]"
copy .env.sqlite .env # Linux/Mac: cp .env.sqlite .env
alembic upgrade head
uvicorn app.main:app --reload
```
**前端设置(新终端):**
```bash
cd frontend
npm install
npm run dev
```
访问: http://localhost:5173
### 方式三:开发环境 + 定时抓取(需要 Docker )
使用 Docker 运行 PostgreSQL 和 Redis ,本地运行代码。
**1. 启动数据库:**
```bash
docker compose up -d postgres redis
```
**2. 后端设置:**
```bash
cd backend
python -m venv venv
.\venv\Scripts\activate
pip install -e ".[dev]"
copy .env.postgres .env
alembic upgrade head
uvicorn app.main:app --reload
```
**3. 启动定时任务(新终端):**
```bash
cd backend
.\venv\Scripts\activate
celery -A app.tasks.celery_app worker --loglevel=info --pool=solo
```
**4. 启动调度器(新终端):**
```bash
cd backend
.\venv\Scripts\activate
celery -A app.tasks.celery_app beat --loglevel=info
```
**5. 前端设置(新终端):**
```bash
cd frontend
npm install
npm run dev
```
> Windows 上 Celery Worker 需要 `--pool=solo` 参数
## AI 智能内容分析
AI 分析功能允许你使用自然语言查询订阅的文章内容,系统会通过语义搜索找到相关文章,并生成 AI 分析总结。
### 功能特点
- 🔍 **语义搜索**:基于 pgvector 向量数据库,理解查询意图而非简单关键词匹配
- 📊 **AI 分析总结**:自动生成主题分类、关键点提取、趋势识别
- 📈 **相关度排序**:按语义相似度排序,最相关的文章优先展示
- 📝 **查询历史**:保存最近 10 条查询,支持快速重新执行
- 🔄 **智能回退**:当语义搜索不可用时,自动回退到关键词搜索
### 使用方法
1. 在侧边栏点击「 AI 分析」进入分析页面
2. 在搜索框输入自然语言查询,例如:
- "Python 相关的技术文章"
- "最近的 AI 发展趋势"
- "前端框架对比"
3. 点击「分析」按钮,等待 AI 处理
4. 查看 AI 生成的分析总结和相关文章列表
### 技术要求
- **数据库**:需要使用 PostgreSQL + pgvector (生产环境 Docker 配置已包含)
- **AI 服务**:需要配置 OpenAI 或兼容的 AI 服务(用于生成 embedding 和分析)
- **注意**:SQLite 开发模式不支持语义搜索,会自动回退到关键词搜索
### 配置 Embedding 模型
1. 进入「设置 → AI 设置」
2. 在「 Embedding 模型」区域选择 AI 渠道
3. 输入 embedding 模型名称(如 `text-embedding-3-small`)
4. 点击「保存 Embedding 配置」
常用 Embedding 模型:
- `text-embedding-3-small` - OpenAI 推荐,性价比高
- `text-embedding-3-large` - 更高精度
- `text-embedding-ada-002` - 旧版模型
### Embedding 生成
文章的向量嵌入( embedding )通过 Celery 后台任务异步生成:
- 需要先配置 Embedding 模型才能生成
- 批量生成任务:`generate_embeddings_batch`(通过 Celery 调用)
- embedding 生成失败不会影响文章保存,会自动回退到关键词搜索
## 定时任务说明
| 任务 | 执行频率 | 说明 |
|------|---------|------|
| 订阅源刷新 | 每分钟检查 | 根据每个订阅源设置的同步间隔自动抓取 |
| 自定义规则 | 每分钟检查 | 根据规则设置的间隔执行 |
| 旧文章清理 | 每天凌晨 3 点 | 清理 90 天前的非收藏文章 |
## 默认配置
**开发环境 (docker-compose.yml):**
- PostgreSQL: 用户 `rss_manager`,密码 `rss_manager_password`
- Redis: 无密码
**生产环境 (docker-compose.prod.yml):**
- PostgreSQL: 用户 `rss_manager`,密码 `rss_manager_prod_2024`
- Redis: 密码 `redis_prod_2024`
- JWT 密钥: `rss_manager_secret_key_2024_production`
> 部署到公网服务器时,建议通过环境变量修改默认密码
## 注意事项
### 部署相关
- 项目可以安装在任意目录,没有路径限制
- 端口 5666 需要可用,如需修改请编辑 `docker-compose.prod.yml` 中的端口映射
- 首次部署必须执行数据库迁移:`docker exec -it rss_manager_backend alembic upgrade head`
- 首个注册的用户将自动成为管理员
### 更新部署
- 修改后端代码(包括 Celery 任务)需要重建对应容器:
```bash
# 重建所有服务(推荐)
docker compose -f docker-compose.prod.yml up -d --build
# 或只重建特定服务
docker compose -f docker-compose.prod.yml up -d --build backend celery_worker celery_beat
```
- 只重建 `backend frontend` 不会更新 Celery 定时任务
- **数据库结构变更时**,必须执行迁移:
```bash
docker exec -it rss_manager_backend alembic upgrade head
```
### 从旧版本升级(添加 AI 分析功能)
如果你是从不支持 AI 分析的旧版本升级,需要执行以下步骤:
```bash
# 1. 备份数据库(可选但推荐)
docker exec rss_manager_postgres pg_dump -U rss_manager rss_manager > backup.sql
# 2. 拉取最新代码
git pull
# 3. 重建所有服务( PostgreSQL 镜像已更换为支持 pgvector 的版本)
docker compose -f docker-compose.prod.yml up -d --build
# 4. 执行数据库迁移(添加 embedding 列和查询历史表)
docker exec -it rss_manager_backend alembic upgrade head
```
> 数据不会丢失,pgvector 镜像与原 PostgreSQL 镜像完全兼容
### 安全建议
- 公网部署时务必修改默认密码(通过环境变量设置)
- 建议使用反向代理(如 Nginx )并配置 HTTPS
- 可以关闭注册功能(管理员在设置页面操作)
## 访问地址
| 服务 | 地址 |
|------|------|
| 前端界面(生产) | http://localhost:5666 |
| 前端界面(开发) | http://localhost:5173 |
## 项目结构
```
├── backend/ # Python FastAPI 后端
│ ├── app/
│ │ ├── api/ # API 路由
│ │ ├── core/ # 核心配置
│ │ ├── models/ # 数据模型
│ │ ├── repositories/ # 数据访问层
│ │ ├── schemas/ # Pydantic 模式
│ │ ├── services/ # 业务逻辑
│ │ ├── tasks/ # Celery 后台任务
│ │ └── utils/ # 工具函数
│ └── alembic/ # 数据库迁移
├── frontend/ # React 前端
│ └── src/
│ ├── components/ # UI 组件
│ ├── pages/ # 页面组件
│ ├── services/ # API 服务
│ ├── stores/ # 状态管理
│ └── types/ # TypeScript 类型
├── docker-compose.yml # 开发环境 Docker 配置
└── docker-compose.prod.yml # 生产环境 Docker 配置
```