# 热点追踪HotPoint **Repository Path**: codekpy/hot-point ## Basic Information - **Project Name**: 热点追踪HotPoint - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-19 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # HotPoint — AI 与爬虫驱动的热点追踪平台 自动抓取多平台热点话题,通过 AI 进行摘要、可信度评估、情感分析和趋势预测,聚合展示全网热点动态。 ## 功能 - **多平台热点抓取** — 微博热搜、知乎热榜、百度热搜、抖音热点 - **AI 智能分析** — 摘要生成、可信度评分、情感分析、趋势预测、话题关联 - **信源溯源** — 通过 SearXNG 元搜索引擎自动查找信源,爬取正文 - **热点看板** — 今日热点总数、情感分布、趋势图、TOP 10 排行 - **热点归组** — 同一事件跨平台自动聚合 - **管理后台** — 抓取控制、热点管理、渠道管理、AI 设置 - **安装向导** — 三步完成系统配置(支持 SQLite / MySQL) ## 快速开始(Docker) ```bash # 克隆仓库 git clone && cd HotPoint # 启动依赖服务(MySQL + SearXNG) docker compose -f docker/docker-compose.yml up -d # 配置环境变量 cp backend/.env.example backend/.env # 编辑 backend/.env,至少填写 AI API Key # 构建前端 cd frontend && npm install && npm run build && cd .. # 启动后端 cd backend && python -m venv venv venv\Scripts\activate # Windows # source venv/bin/activate # Linux/macOS pip install -r requirements.txt uvicorn main:app --host 0.0.0.0 --port 3002 ``` 首次访问 `http://localhost:3002` 会自动进入安装向导。 ## 手动安装 ### 后端 ```bash cd backend python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt cp .env.example .env # 编辑 .env 填入配置 uvicorn main:app --host 0.0.0.0 --port 3002 --reload ``` ### 前端(开发模式) ```bash cd frontend npm install npm run dev # 默认 http://localhost:5173 ``` 开发环境前端需要配置 Vite 代理到后端,`vite.config.ts` 中已配置 `/api` 代理到 `http://localhost:3002`。 ### 前端(生产构建) ```bash cd frontend npm install npm run build # 产物输出到 dist/ ``` 构建后后端会自动从 `frontend/dist/` 提供静态文件服务。 ## 环境变量 | 变量 | 说明 | 默认值 | |------|------|--------| | `DB_TYPE` | 数据库类型 `sqlite` / `mysql` | `sqlite` | | `DB_HOST` | MySQL 主机 | `localhost` | | `DB_PORT` | MySQL 端口 | `3306` | | `DB_USER` | MySQL 用户 | `hotpoint` | | `DB_PASSWORD` | MySQL 密码 | — | | `DB_NAME` | MySQL 数据库名 | `hotpoint` | | `DEEPSEEK_API_KEY` | DeepSeek API 密钥(用于 AI 分析) | — | | `OPENAI_API_KEY` | OpenAI API 密钥(备选 AI 提供商) | — | | `SEARXNG_BASE_URL` | SearXNG 实例地址 | `http://localhost:8080` | | `SEARXNG_ENGINES` | 搜索引擎列表(逗号分隔) | `google,bing,duckduckgo,baidu` | | `JWT_SECRET` | JWT 签名密钥(安装时自动生成) | — | | `APP_DEBUG` | 调试模式 | `true` | | `APP_HOST` | 监听地址 | `0.0.0.0` | | `APP_PORT` | 监听端口 | `8000` | ## Docker 部署 ### 依赖服务 `docker/docker-compose.yml` 包含 MySQL 8.0 + SearXNG: ```bash docker compose -f docker/docker-compose.yml up -d ``` ### 全容器部署(待完善) 可参考 `docker/` 目录下的配置自行编写 `Dockerfile`。 ## 项目结构 ``` HotPoint/ ├── backend/ # Python FastAPI 后端 │ ├── ai/ # AI 适配器层(Anthropic/OpenAI/Ollama) │ ├── api/ # REST API 路由 │ ├── config/ # YAML 配置 │ ├── crawlers/ # 各平台爬虫 + 内容抓取 │ ├── models/ # SQLAlchemy 数据模型 │ ├── nlp/ # NLP 情感分析 + 文本工具 │ ├── scheduler/ # 定时抓取调度 │ └── services/ # SearXNG 搜索客户端 ├── frontend/ # React + TypeScript + Vite 前端 │ └── src/ │ ├── api/ # API 客户端 │ ├── components/ # 通用组件 │ ├── pages/ # 页面 │ └── types/ # TypeScript 类型 ├── docker/ # Docker 配置 │ ├── mysql/ # MySQL 初始化脚本 │ └── searxng/ # SearXNG 配置文件 └── project_tree.txt # 完整项目结构说明 ``` ## API 概览 | 端点 | 说明 | |------|------| | `GET /api/dashboard/stats` | 看板统计 | | `GET /api/topics` | 热点列表(分页/筛选) | | `GET /api/topics/{id}` | 热点详情 | | `POST /api/crawl/trigger` | 手动触发抓取 | | `GET /api/setup/status` | 安装状态检查 | | `POST /api/setup/configure` | 执行安装配置 | | `POST /api/auth/login` | 管理员登录 | | `GET/PUT /api/admin/settings` | AI 设置管理 | | `POST /api/admin/topics/retro-search` | 回滚信源搜索 | 完整 API 文档可在后端启动后访问 `/docs`(Swagger UI)。 ## 技术栈 - **后端**: Python 3.10+ / FastAPI / SQLAlchemy 2.0 / APScheduler - **前端**: React 19 / TypeScript / Vite / Tailwind CSS 4 / Recharts - **AI**: DeepSeek API / OpenAI API / Ollama(可选) - **搜索**: SearXNG 元搜索引擎 - **数据库**: SQLite(开发) / MySQL 8.0(生产) - **部署**: Docker Compose ## 免责声明 本平台内容由 AI 自动生成,仅供参考,不构成任何专业建议或投资决策依据。平台不对信息的准确性、完整性或时效性作任何保证。