在这里插入图片描述

简介

什么是 Oksskolten ?

Oksskolten(发音:ooks-SKOL-ten)是一个开源的 AI 原生 RSS 阅读器。它可以帮助用户自动提取每篇文章的全文内容,并基于完整文章提供 AI 摘要、翻译和对话功能。

与传统的 RSS 阅读器不同,Oksskolten 默认对所有文章进行全文提取,使用 MozillaReadability 加上 500 个噪声去除模式,将文章转换为干净的 Markdown 格式存储。你永远不需要离开应用就能阅读完整文章。

主要特点

  • 全文自动提取:每篇文章都会从原始 URL 抓取并通过 Readability 处理,无需逐个订阅开启
  • AI 摘要与翻译:支持 AnthropicGeminiOpenAI 等多种 AI 提供商,基于完整文章内容进行处理
  • 交互式 AI 对话:内置 MCP 工具的多轮对话,可以搜索文章、获取统计信息和提问
  • 全文搜索:基于 Meilisearch 的搜索功能,支持模糊搜索
  • 智能抓取:自适应订阅调度、条件 HTTP 请求、内容哈希去重
  • PWA 支持:离线阅读、后台同步、添加到主屏幕
  • 多种认证方式:密码、PasskeyWebAuthn)和 GitHub OAuth
  • 自定义主题14 种内置颜色主题,支持 JSON 导入自定义主题
  • 单容器部署APISPA 和定时任务都在一个 Docker 容器中运行
  • 开源免费:基于 AGPL-3.0 协议开源,可免费使用和修改

应用场景

  • 个人知识管理:订阅技术博客、新闻网站,自动获取全文并建立可搜索的文章库
  • AI 辅助阅读:让 AI 为长文章生成摘要,快速了解文章核心内容
  • 多语言阅读:订阅外文网站,使用 AI 翻译功能阅读外文内容
  • 开发者追踪:订阅开源项目动态、技术周刊,通过全文搜索快速找到需要的信息
  • 自托管数据:所有数据存储在本地 SQLite,不受第三方服务涨价或关闭的影响

总的来说,Oksskolten 是一个将全文提取和 AI 能力作为核心功能的 RSS 阅读器,适合希望在一个应用内完成阅读、搜索和 AI 交互的用户。

安装

在群晖上以 Docker 方式安装。

官方的镜像没有发布在 docker hub,而是在 ghcr.io,所以直接用命令行来安装。

本文写作时, latest 版本对应为 0.4.1

docker-compose 安装

该项目包含多个服务(servermeilisearchrss-bridgeflaresolverr),建议使用 docker-compose 进行部署。

将下面的内容保存为 docker-compose.yml 文件:

services:
  server:
    image: ghcr.io/babarot/oksskolten:latest
    container_name: oksskolten-server
    restart: unless-stopped
    ports:
      - "5174:3000"
    volumes:
      - ./data:/app/data
    environment:
      NODE_ENV: production
      MEILI_MASTER_KEY: AiHs2ExZdC756DaPrFL25j27n5EBVxhu
      TZ: Asia/Shanghai
      SCORE_RECALC_SCHEDULE: 0 3 * * *

  meilisearch:
    image: getmeili/meilisearch:v1.13
    container_name: oksskolten-meilisearch
    restart: unless-stopped
    # ports:
    #   - "5173:7700"
    volumes:
      - ./meili_data:/meili_data
    environment:
      MEILI_ENV: production
      MEILI_MASTER_KEY: AiHs2ExZdC756DaPrFL25j27n5EBVxhu

  rss-bridge:
    image: rssbridge/rss-bridge:latest
    container_name: oksskolten-rssbridge
    restart: unless-stopped
    # ports:
    #   - "5175:80"

  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: oksskolten-flaresolverr
    restart: unless-stopped
    # ports:
    #   - "5176:8191"
    environment:
      LOG_LEVEL: info

环境变量说明,参照了 https://github.com/babarot/oksskolten/blob/main/.env.example

变量名 示例值 说明(含默认值与使用场景)
JWT_SECRET my-very-secret-key JWT 签名用的秘钥;默认会自动生成并存入数据库,一般只在需要固定秘钥(例如多实例部署、迁移数据)时手动设置。
LOG_LEVEL debug 日志级别;默认是 info,设置为 debug 可输出更详细日志,便于开发排查问题。
TZ Asia/Shanghai 应用使用的时区;默认 UTC,可改为实际部署地区(如 Asia/Shanghai)以匹配本地时间显示。
AUTH_DISABLED 1 是否关闭认证,仅在 NODE_ENV=development 时可用;设置为 1 会禁用登录鉴权,仅供本地调试。
SCORE_RECALC_SCHEDULE 0 3 * * * 评分重算的 cron 表达式;默认 */5 * * * *(每 5 分钟),可改为每天运行一次以减少负载。
MEILI_MASTER_KEY <string> Meilisearch 的主密钥,生产环境必需,用于保护搜索服务及管理接口权限。
TUNNEL_TOKEN <token> Cloudflare Tunnel 的令牌,生产环境通过隧道暴露服务时必需。
DATA_DIR $HOME/.oksskolten/data 数据目录;默认 ./data(相对路径),生产环境建议改为绝对路径便于持久化和备份。
TURSO_AUTH_TOKEN <token> Turso 数据库的授权令牌;仅在使用 Turso 替代本地 SQLite 时需要配置。

然后通过 SSH 登录到您的群晖,执行下面的命令:

# 新建文件夹 oksskolten 和 子目录
mkdir -p /volume1/docker/oksskolten/{data,meili_data}

# 进入 oksskolten 目录
cd /volume1/docker/oksskolten

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

提示:该项目包含多个服务,首次启动需要拉取多个镜像,请耐心等待。

运行

在浏览器中访问 http://<群晖IP>:5174 即可进入初始化账号界面

登录后的主界面

订阅 RSS

Get Started

Feed

只要输入 URL 就行,Name 会自动获取的,例如:https://laosu.tech/atom.xml

添加成功后

点击左侧的 Feed

选中一篇文章,和以往只获取摘要不同,这次获取的是全文

设置

左下角进入 Settings,虽然支持多语言,但是只有英文和日文

虽然支持 AI,但是不灵活,只能设 API Key,不能设置 URL,但是如果安装了 Ollama 还是不错的

如果你订阅的英文多,还可以设置翻译和总结

注意事项

  1. 数据持久化:务必挂载 /data 目录,SQLite 数据存储在此
  2. 端口冲突:使用 5174 端口,如有冲突可在 docker-compose.yml 中修改
  3. AI 功能AI 摘要、翻译和对话功能需要配置对应的 API Key
  4. FlareSolverr:用于处理有反爬保护的网站,可选但建议保留
  5. 定时抓取:默认每 5 分钟抓取一次订阅,可通过 CRON_SCHEDULE 环境变量调整
  6. 安全建议:生产环境务必设置 MEILI_MASTER_KEY

参考文档

babarot/oksskolten: 🏔️ The AI-native RSS reader
地址:https://github.com/babarot/oksskolten

Oksskolten — The AI-native RSS reader
地址:https://oksskolten.com/

Oksskolten 在线演示
地址:https://demo.oksskolten.com

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐