Skip to content

scbizu/umbreon

Repository files navigation

Umbreon

基于 Rust + Dioxus 的个人信息流聚合与 AI 摘要应用。

项目结构

.
├── apps/
│   └── umbreon-mobile/        # Dioxus 移动端应用(主入口)
├── crates/
│   └── umbreon-core/          # 共享核心库(预留)
├── workers/
│   ├── feed-aggregator-worker/    # Feed 聚合 Worker(预留)
│   └── supermemory-worker/        # 记忆同步 Worker(预留)
├── docs/
│   └── umbreon-prd.md         # 产品需求文档
├── Cargo.toml                 # Workspace 配置
└── README.md

功能特性

已实现

  • RSS/ATOM 订阅管理 - 添加、删除、刷新各类 RSS 源
  • AI 智能摘要 - 通过 OpenAI API 为文章生成摘要
  • Supermemory 集成 - 与 Supermemory API 对接,实现内容记忆与检索
  • 本地数据存储 - SQLite 本地存储(非 WASM 环境)
  • 多 AI Provider 支持 - 支持配置不同的 OpenAI 兼容 API
  • 时间线浏览 - 按时间顺序浏览订阅内容

技术栈

  • UI 框架: Dioxus 0.5(跨平台 Rust UI)
  • HTTP 客户端: reqwest
  • RSS 解析: feed-rs
  • AI 接入: async-openai
  • 数据存储: rusqlite(本地)、web-sys Storage(Web)
  • 配置管理: TOML + 本地文件

快速开始

环境要求

  • Rust 1.75+ (2024 Edition)
  • Android SDK(如需构建安卓 APK)

运行

# 检查整个 workspace
cargo check

# 运行移动端应用(桌面预览模式)
cargo run -p umbreon-mobile

# 构建安卓 APK
cargo install dioxus-cli
dx build -p umbreon-mobile --platform android

配置

首次启动后,在应用内的「设置」页面配置:

  1. AI Provider - 填入 OpenAI API Key 或自定义 API 端点
  2. Supermemory - 配置记忆系统的 API 连接
  3. RSS 源 - 添加感兴趣的 RSS/ATOM 订阅地址

模块说明

模块 文件 说明
主入口 main.rs 应用启动,初始化 tracing 日志
应用根 app.rs AppRoot 组件,管理全局状态
状态管理 state.rs 全局 Signal 状态定义与管理
存储层 storage.rs SQLite / Web Storage 封装
时间线 timeline.rs Feed 数据抓取与处理逻辑
设置页 settings.rs AI Provider、记忆系统配置 UI
AI 客户端 general_ai_client.rs OpenAI API 封装
记忆客户端 memory_client.rs Supermemory API 封装
样式 style.rs CSS-in-Rust 样式定义
组件 components/ 导航、播放器、探索页、记忆页等

待完善

  • Worker 服务实现(云端聚合、记忆同步)
  • umbreon-core 核心库提取
  • 音频/视频播放器完整实现
  • 弹幕系统

参考

About

an APP with self-memory

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors