Paradise——持续研究与监测Agent Logo
Paradise——持续研究与监测Agent已通过

# Paradise **AI 驱动的持续研究与监控系统** > 告诉 AI 你想追踪什么,它会自动抓取、分析、定期汇报。 参赛赛道:**Mojo Hackathon — Track 3: Agent-powered Apps** --- ## 项目简介 Paradise 是一个多智能体系统,通过自然语言对话创建自动化监控流水线。你只需在聊天界面描述关注的话题,Paradise 就会调度一组爬虫和分析 Agent,持续追踪 GitHub、Reddit、HackerNews、Twitter/X 上的趋势变化,并按计划生成 AI 洞察报告。 不用配置仪表盘,不用写查询语句,直接对话就行。 --- ## 系统架构 ``` +------------------------------------------------------------------+ | 用户 (浏览器) | | | | +---------------------+ +----------------------------+ | | | 对话式 AI 界面 | | 仪表盘 & 可视化面板 | | | | (FlowithStyleChat) | | (Recharts + Tailwind) | | | +----------+----------+ +-------------+--------------+ | +--------------|-----------------------------|--------------------+ | REST API | v v +------------------------------------------------------------------+ | FastAPI (端口 8000) | | | | /api/monitors /api/tasks /api/reports | +-----------+-----------------------------+------------------------+ | | +-----v-----+ +------v------+ | PostgreSQL | | Redis | | (数据存储) | | (消息队列) | +-----------+ +------+------+ | +-----------v-----------+ | Celery Workers | | | | +------------------+ | | | 爬虫 Agents | | | | GitHub / Reddit | | | | HN / Twitter-X | | | +--------+---------+ | | v | | +------------------+ | | | 分析 Agent | | | | (OpenAI LLM) | | | +--------+---------+ | | v | | +------------------+ | | | 报告 Agent | | | +------------------+ | +------------------------+ ``` --- ## 核心功能 ### 1. 对话式创建监控 像跟同事聊天一样告诉 Paradise 你想追踪什么。AI 聊天界面会自动解析意图、提取关键词、选择平台、设定周期,一句话搞定整条监控流水线。 ``` 你: "帮我追踪马斯克最近的动态" Paradise: ✨ 我理解了! 📍 监控目标: 马斯克动态 🔍 关键词: Elon Musk, Tesla, SpaceX 🌐 数据源: Twitter, HackerNews ⏰ 周期: 168小时 正在创建智能监控... ``` ### 2. 多平台爬虫 Agent 四个专用爬虫 Agent 并行采集结构化数据: | 平台 | 采集内容 | 接口 | |-------------|----------------------------------------|------------------| | GitHub | 仓库、Star 数、描述、更新动态 | GitHub REST API | | Reddit | 帖子、评分、评论数、子版块 | Reddit JSON API | | HackerNews | 文章、积分、评论数、链接 | Algolia HN API | | Twitter/X | 推文、互动指标 | Twitter API | ### 3. 定时分析与检查点 每个监控任务运行指定时长,自动创建 10 个等间隔检查点。每个检查点执行: 1. 抓取所有已配置平台的数据 2. 将数据送入分析 Agent(OpenAI LLM) 3. 与上一个检查点数据进行对比 4. 生成带情感评分的趋势报告 ### 4. AI 驱动的趋势检测 分析 Agent 输出结构化 JSON 报告,包含: - 趋势摘要(方向 + 置信度) - 关键事件(影响等级) - 情感评分(0.0 – 1.0) - 跨检查点变化分析 ### 5. 实时仪表盘与可视化 - 监控卡片带实时状态指示 - 情感趋势折线图(Recharts) - 暂停 / 恢复 / 删除操作 - 每 30 秒自动刷新 --- ## 技术栈 | 层级 | 技术 | |------------|------------------------------------------------| | 前端 | React 18, TypeScript, Tailwind CSS, Vite | | 图表 | Recharts | | 后端 | FastAPI, SQLAlchemy, Pydantic | | 任务队列 | Celery + Redis(消息代理) | | 数据库 | PostgreSQL | | 数据采集 | httpx, BeautifulSoup4, Playwright | | AI 引擎 | OpenAI API(可配置模型) | | 部署 | EC2, Nginx, Systemd | --- ## 演示流程 ``` 第1步: 打开 Paradise AI 聊天界面 用户输入自然语言请求 第2步: AI 解析意图 -> 提取关键词、选择平台、设定周期 -> 思考节点动画: 理解意图 -> 提取关键词 -> 选择数据源 -> 配置监控 第3步: 自动创建监控任务 -> 10 个检查点按等间隔排列 -> Celery Beat 在每个检查点触发采集 第4步: Agent 自主执行 -> 爬虫 Agent 从 GitHub / Reddit / HN / Twitter 采集数据 -> 分析 Agent (LLM) 生成结构化趋势报告 -> 报告 Agent 存储结果并准备可视化数据 第5步: 用户在仪表盘查看结果 -> 监控卡片显示运行状态 -> 情感趋势随时间变化的折线图 -> 点击查看单个检查点的详细报告 ``` --- ## 项目结构 ``` paradise/ ├── backend/ │ ├── app/ │ │ ├── agents/ # AI Agent 实现 │ │ │ ├── scraper.py # 多平台爬虫 │ │ │ └── analyzer.py # OpenAI 分析引擎 │ │ ├── api/ # REST API 路由 │ │ │ ├── monitors.py # 监控任务 CRUD │ │ │ ├── tasks.py # 任务端点 │ │ │ └── reports.py # 报告端点 │ │ ├── core/ # 配置、数据库、Celery │ │ ├── models/ # SQLAlchemy 模型 │ │ ├── schemas/ # Pydantic 数据校验 │ │ └── tasks/ # Celery 任务定义 │ ├── alembic/ # 数据库迁移 │ └── requirements.txt ├── frontend/ │ ├── src/ │ │ ├── components/ │ │ │ ├── FlowithStyleChat.tsx # 对话式 AI 界面 │ │ │ ├── PerplexityStyleChat.tsx │ │ │ ├── ChatInterface.tsx │ │ │ └── CreateMonitorModal.tsx │ │ ├── pages/ │ │ │ ├── Dashboard.tsx # 监控总览 │ │ │ └── MonitorDetail.tsx # 检查点详情 │ │ └── api/client.ts # Axios API 客户端 │ └── package.json └── README.md ``` --- ## 快速开始 ### 环境要求 - Python 3.10+ - Node.js 18+ - PostgreSQL 14+ - Redis 7+ ### 后端 ```bash cd backend pip install -r requirements.txt cp .env.example .env # 编辑填入你的密钥 createdb paradise alembic upgrade head ``` 启动服务(分别在不同终端运行): ```bash redis-server celery -A app.core.celery_app worker --loglevel=info celery -A app.core.celery_app beat --loglevel=info uvicorn app.main:app --reload --port 8000 ``` ### 前端 ```bash cd frontend npm install npm run dev ``` --- ## API 接口 ### 监控任务 - `POST /api/monitors` — 创建监控 - `GET /api/monitors` — 获取监控列表 - `GET /api/monitors/{id}` — 获取监控详情 - `PATCH /api/monitors/{id}/pause` — 暂停监控 - `PATCH /api/monitors/{id}/resume` — 恢复监控 - `DELETE /api/monitors/{id}` — 删除监控 ### 执行任务 - `GET /api/tasks/monitor/{id}` — 获取监控的任务列表 - `GET /api/tasks/{id}` — 获取任务详情 ### 分析报告 - `GET /api/reports/monitor/{id}` — 获取监控的报告列表 - `GET /api/reports/{id}` — 获取报告详情 交互式文档:`http://localhost:8000/docs`(Swagger UI)

项目截图

截图 1
截图 2
截图 3

3分钟的视频demo,要求最好是有双语字幕

https://youtu.be/W651binqfbw

创建者:yang shuo

创建时间:2026年2月28日