Skip to content

comeonzhj/AutoContents

Repository files navigation

AutoContents 

基于 RSS 的 AI 资讯聚合、内容创作与 Agent 自动化工具。

订阅 RSS/RSSHub 信源 → 自动拉取资讯 → AI 翻译 / 筛选 → 一键推送微信 / 同步飞书 → 图文内容创作与渲染 → Agent 全自动运行。


⚠️安全提醒

小红书官方与 3 月 10 日发布《关于打击AI托管运营账号的治理公告》

建议关闭此项目中 Agent 直接发布到小红书的功能,改为手动发布(项目支持一键下载所有图片素材)


功能概览

模块 功能
资讯聚合 支持 RSSHub 路由和标准 RSS,按信源分组展示,正向/黑名单关键词双重过滤
AI 翻译 对指定信源自动调用大模型翻译为中文
三类推送 AINews(速报)/ AITopics(话题引导)/ AITools(工具推荐),并行推送微信、保存到指定飞书知识库
内容创作 图片上传 + 大模型生成封面文案,渲染 1080×1440 封面图与详情图,小红书风格预览
资源库 原始资讯归档、已保存资讯列表、已保存内容宫格展示
飞书多维表 创作内容一键存入多维表,供人工审核后发布
Agent 接口 暴露完整 API,配合 Agent Skills 实现全自动资讯筛选、推送、创作、归档、通知

技术栈

  • 后端:Node.js + Express + SQLite(better-sqlite3)
  • 前端:React 18 + React Router 6
  • 渲染:Puppeteer(Headless Chromium)截图,支持彩色 Emoji 和中文字体
  • 信源:RSSHub + rss-parser

本地开发

前置要求

  • Node.js 20+
  • [非必须]本地运行中的 RSSHub(默认 http://localhost:1200
  • macOS 需安装 Google Chrome(渲染图片用)

启动

git clone https://github.com/comeonzhj/AutoContents.git
cd AutoContents

# 复制环境变量模板
cp backend/.env.example backend/.env

# 一键启动(自动安装依赖)
./start.sh

启动后访问:

  • 前端:http://localhost:3711
  • 后端 API:http://localhost:3710/api

Docker 部署

项目已包含完整的 Docker Compose 配置,内含 AutoContents 主服务 + RSSHub + Redis。

git clone https://github.com/comeonzhj/AutoContents.git
cd AutoContents

# 构建并启动
docker compose -p makecontent up -d --build

# 查看日志
docker compose -p makecontent logs -f makecontents

访问 http://服务器IP:3710

说明:若服务器已运行独立 RSSHub,可删除 docker-compose.yml 中的 rsshubredis 服务,并修改 RSSHUB_URL 指向现有实例。

数据持久化

Docker Compose 自动创建两个 named volume:

Volume 内容
makecontents-data SQLite 数据库
makecontents-uploads 上传图片与渲染产物

数据库迁移:服务每次启动时自动执行 schema 迁移,已有数据库会自动补全新字段,无需手动操作。


系统配置

首次运行后进入「系统配置」页面完成以下配置:

大模型

翻译、编辑(推送)、创作三个场景可使用不同模型,兼容所有 OpenAI 接口格式(DeepSeek、通义、Kimi 等)。推送风格中 AITopics 和 AITools 可单独配置系统提示词。

字段 说明
模型名称 deepseek-chatgpt-4o
Base URL https://api.deepseek.com(末尾无需加 /v1
API Key 对应平台的密钥
系统提示词 留空使用内置默认值

飞书

飞书开放平台创建自建应用,开通文档/知识库/多维表读写权限。

字段 说明
App ID / App Secret 应用凭证
Space ID 知识库 ID
父节点 Token AINews 文档存放的父节点
多维表 URL 直接粘贴浏览器地址栏 URL,自动解析参数
机器人 Webhook Agent 完成创作后的通知地址

飞书多维表格字段类型:

务必严格按如下格式创建表格,否则无法存储。

{
    '资讯': '文本',
    'url': '文本',
    '标题': '文本',
    '正文': '文本',
    'Tags': '文本',
    '封面': [附件],
    '详情图': [附件],
    '创作时间': '文本,
  }

微信推送

使用微信机器人 API。支持配置多个 wxid 和群聊,发送间隔随机 5-10 秒。

存在风控风险,不建议配置此版块,可留空。

关键词过滤

  • 正向关键词:只有命中列表中任意关键词的资讯才显示(留空则全部显示),默认仅匹配标题
  • 屏蔽关键词:包含关键词的资讯直接过滤,不进入数据库

Agent 使用

一键安装

把下面的消息发给你的 Agent:

部署这个项目,把其中的 Skills 安装。安装好以后告诉我怎么帮你配置需要的信息。 项目地址:https://github.com/comeonzhj/AutoContents

项目内置 Agent Skills(位于 Skills/makecontents/),可让 AI Agent 自主完成完整工作流:

  1. 资讯推送流程:拉取 → 筛选 → 生成推送内容 → 微信+飞书分发
  2. 内容创作流程:选题 → 生成文案 → 截图配图 → 渲染图片 → 存入多维表 → 通知审核
  3. 学习规律流程:分析历史保存记录,归纳用户偏好,写入规则记忆文件

Agent 调用接口自动去重:推送过的资讯标记 ai_newsed=1,调用 GET /api/news/grouped?agent=1 时自动过滤,无需人工干预。

详细 API 文档见 Skills/makecontents/references/api.md


目录结构

AutoContents/
├── backend/
│   ├── db/            # SQLite 初始化与迁移
│   ├── routes/        # API 路由(sources/news/config/content)
│   ├── services/      # 业务逻辑(RSS/LLM/微信/飞书/渲染)
│   ├── .env.example   # 环境变量模板
│   └── index.js       # 服务入口(端口 3710)
├── frontend/
│   └── src/
│       ├── pages/     # 五个页面(首页/信源/资源库/配置/内容创作)
│       ├── components/
│       └── services/  # API 封装
├── Skills/
│   └── makecontents/  # Cursor Agent Skill
│       ├── SKILL.md
│       └── references/ # API 文档 & 规律记忆模板
├── style_demos/        # 封面/详情图样式参考
├── docs/              # API 参考文档
├── Dockerfile
├── docker-compose.yml
└── start.sh           # 本地一键启动脚本

License

MIT

About

基于 RSS 的 AI 资讯聚合、内容创作与 Agent 自动化工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages