- 从多个RSS源获取最新文章数据
- 使用和OpenAI兼容的LLM模型对文章相关性进行评分
克隆仓库:
git clone [email protected]:RibomBalt/journal-rss-rater.git使用包管理器uv安装后端依赖。
uv sync前端使用node.js编译(在v18经过测试),包管理器使用yarn。请在官方下载页面下载并安装node.js+yarn。用以下命令安装前端依赖并构建:
# 进入前端目录。注意,请不要在根目录执行yarn等命令,也不要混用包管理器(npm等)
cd frontend
# 安装依赖
yarn
# 构建(指定前缀)
yarn build --base="/rss"构建后的前端代码将位于frontend/dist目录下。前端代码修改后必须要重新构建才可生效。
如要运行后端,请在根目录执行命令:
uv run python -m backend.main如果进行单元测试,可以进行:
uv run pytest -s backend/tests/{your-test-file}.py后端配置文件包括:
- 建议部署时复制
default.yml到同目录dev.yml,并将任意私密配置(如LLM API KEY)放在dev.yml中,并不要修改default.yml。当存在dev.yml时,后端会自动读取并忽略default.yml。 ADMIN_PANEL下的token是访问管理员面板时HTTP Digest验证的令牌,请按注释方法生成并写入dev.yml
- 建议修改后,通过
backend/tests/test_models.py进行测试
目前的后端测试位于backend/tests:
test_feedparser.py:测试feedparser库test_models.py:测试rss.yml配置下RSS源能否正常获取文章test_rater.py:测试LLM对文章的评分功能
- 后端:Python, FastAPI
- 前端:Vue.js, TypeScript
- 数据库:SQLite,SQLAlchemy
- 数据验证:Pydantic
- 计时任务:APScheduler