# cpolar-daily **Repository Path**: jun-wan/cpolar-daily ## Basic Information - **Project Name**: cpolar-daily - **Description**: 这是一个本地优先的中文 Web 系统,用于定时采集 GitHub 开源项目,调用 OpenAI 兼容接口进行结构化选题分析,并把项目状态、分析结果、任务记录和系统配置持久保存到 SQLite。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-17 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI 开源项目选题看板 这是一个本地优先的中文 Web 系统,用于定时采集 GitHub 开源项目,调用 OpenAI 兼容接口做结构化选题分析,并把项目状态、分析结果、任务记录和系统配置保存到 SQLite。 ## 功能概览 - GitHub 开源项目采集、地址解析、去重和任务记录。 - OpenAI 兼容 AI Provider 管理,支持 DeepSeek、OpenAI、OpenRouter、硅基流动、Ollama、LM Studio 与本地 Mock Provider。 - 结构化选题分析,覆盖 Web UI、本地部署、cpolar 结合度、教程价值、演示流程、风险和评分。 - B 站热度采集与补采,支持一键打开搜索结果、按关键词相关度计算综合热度,并在待选列表中排序筛选。 - GitHub Trending 日榜、周榜、月榜,自动入库并完成 AI 与 cpolar 适配分析,支持语言筛选和直接选用。 - 用户登录、管理员用户管理、自助注册开关。 - SQLite 数据库导入导出,页面显示上传和下载进度。 - 支持本地脚本启动,也支持 Docker Compose 或 `docker run` 部署。 ## 环境要求 普通本地启动需要: - Windows 10/11 - Python 3.11+ - Node.js 20+ - PowerShell 5+ Docker 部署需要 Docker Desktop 或 Docker Engine。 ## 本地开发启动 开发模式会同时启动 FastAPI 后端和 Vite 前端,适合改代码、调页面: ```powershell Copy-Item .env.example .env .\scripts\dev.ps1 ``` 访问地址: - 前端页面:`http://127.0.0.1:5173` - 后端接口:`http://127.0.0.1:8000` 默认登录: - 用户名:`admin` - 密码:`admin123` 首次使用建议修改 `.env` 中的 `APP_PASSWORD` 和 `APP_SECRET_KEY`。 ## 本地正式运行 正式运行脚本会先构建前端,再由 FastAPI 托管 `dist/`,适合本机长期运行: ```powershell Copy-Item .env.example .env .\scripts\run.ps1 ``` 访问地址: ```text http://127.0.0.1:8000 ``` ## Docker 部署 Docker 是新增部署方式,不影响上面的普通本地启动。已发布双架构镜像,支持 `linux/amd64` 和 `linux/arm64`: ```text tannic666/cpolar-daily-skill:v1.1 tannic666/cpolar-daily-skill:latest tannic666/cpolar-daily-skill:v1.1-amd64 tannic666/cpolar-daily-skill:v1.1-arm64 ``` `v1.1` 新增 B 站热度字段、B 站搜索跳转、单项目/批量/全量补采,以及不封顶的相关度加权热度分。`latest` 已覆盖到同一版本。 ### Gitee 在线一键部署 适合 Linux / NAS / 服务器环境,会自动生成部署目录、`.env` 和 `docker-compose.yml`: ```bash curl -fsSL https://gitee.com/jun-wan/cpolar-daily/raw/master/scripts/install.sh -o /tmp/cpolar-daily-skill-install.sh && chmod +x /tmp/cpolar-daily-skill-install.sh && /tmp/cpolar-daily-skill-install.sh deploy ``` 脚本支持安装、更新、查看状态、查看日志、重启和卸载。交互安装只会询问安装目录、宿主机访问端口、管理员用户名和管理员密码;安装目录默认使用执行命令时所在的当前目录。 ### 使用 Docker Compose ```powershell Copy-Item .env.docker.example .env docker compose up -d ``` 访问地址: ```text http://localhost:8000 ``` 查看日志和停止服务: ```powershell docker compose logs -f docker compose down ``` 升级到最新镜像: ```powershell docker compose pull docker compose up -d ``` ### 使用 Docker Run Linux / NAS: ```bash mkdir -p data docker run -d --name cpolar-daily-skill \ -p 8000:8000 \ -v "$(pwd)/data:/app/data" \ -e APP_USERNAME=admin \ -e APP_PASSWORD=change-this-password \ -e APP_SECRET_KEY=change-this-stable-random-secret \ -e APP_REGISTRATION_ENABLED=false \ tannic666/cpolar-daily-skill:v1.1 ``` Windows PowerShell: ```powershell New-Item -ItemType Directory -Force data docker run -d --name cpolar-daily-skill ` -p 8000:8000 ` -v "${PWD}\data:/app/data" ` -e APP_USERNAME=admin ` -e APP_PASSWORD=change-this-password ` -e APP_SECRET_KEY=change-this-stable-random-secret ` -e APP_REGISTRATION_ENABLED=false ` tannic666/cpolar-daily-skill:v1.1 ``` 查看日志、停止和删除容器: ```powershell docker logs -f cpolar-daily-skill docker stop cpolar-daily-skill docker rm cpolar-daily-skill ``` Docker 数据会保存在宿主机 `./data`,容器内路径是 `/app/data`。 ## 常用配置 普通本地启动使用 `.env.example`,Docker 部署使用 `.env.docker.example`。常用配置项: ```env APP_USERNAME=admin APP_PASSWORD=change-this-password APP_SECRET_KEY=change-this-stable-random-secret APP_PORT=8000 APP_IMAGE=tannic666/cpolar-daily-skill:v1.1 APP_COLLECTOR_MODE=github APP_REGISTRATION_ENABLED=false ``` `APP_SECRET_KEY` 用于本地加密保存 API Key 和 GitHub Token。生产或长期使用前请设置为稳定随机字符串;如果更换该值,旧密钥可能无法解密。 GitHub 日周月榜的更新频率在“系统设置 → 采集与任务 → GitHub 日周月榜”中配置。默认自动启用并每日更新,可选择每 6 小时、12 小时、每日、每 3 天或每周更新,也可设置每榜抓取 5-50 个项目。管理员可以在榜单页手动刷新当前周期或全部三榜。 ## 文档 - [完整使用手册](docs/usage.md) - [项目目标与历史记录](docs/project/) ## 测试与验证 ```powershell npm run build python -m pytest -q npm run test:e2e ``` ## 安全提醒 `.env`、`data/` 和数据库文件不会提交到仓库。生产或长期使用前,请设置强密码和稳定随机的 `APP_SECRET_KEY`,并按需关闭自助注册。