Skip to content

RibomBalt/journal-rss-rater

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jounal RSS Rater

  • 从多个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

配置

后端配置文件包括:

backend/config/default.yml:默认后端配置

  • 建议部署时复制default.yml到同目录dev.yml,并将任意私密配置(如LLM API KEY)放在dev.yml中,并不要修改default.yml。当存在dev.yml时,后端会自动读取并忽略default.yml
  • ADMIN_PANEL下的token是访问管理员面板时HTTP Digest验证的令牌,请按注释方法生成并写入dev.yml

backend/config/logging.yml:日志配置

backend/config/rss.yml:RSS源配置

  • 建议修改后,通过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

About

RSS + LLM comment on items

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •