Files

5.3 KiB

Explore 报告:Lumina

项目类型: 代码仓库
完成阶段: 5/5
包含图示: 是
核心设计: 3 个
状态: 完成


阶段 1:定位

是什么: Lumina 是一个 AI 驱动的文章管理系统,采用全栈架构(FastAPI 后端 + Next.js 前端)。

为什么值得学习:

  • 完整的内容处理 AI Pipeline 架构
  • 领域驱动分层设计,关注点分离清晰
  • 支持多租户的内容管理,内置治理功能

目标用户: 需要构建自托管知识库或 AI 增强 CMS 的开发者。


阶段 2:结构

lumina-main/
├── backend/              # FastAPI Python 后端
│   ├── app/
│   │   ├── api/routers/     # 16 个 REST 端点模块
│   │   ├── domain/          # 业务逻辑层 ⭐
│   │   ├── core/            # 配置与依赖
│   │   └── schemas/         # Pydantic 数据模型
│   ├── alembic/             # 数据库迁移
│   ├── ai_client.py         # AI 客户端抽象
│   └── models.py            # SQLAlchemy ORM 定义
└── frontend/             # Next.js React 前端
    └── src/
        ├── app/               # App Router 结构
        └── components/        # 可复用 UI 组件

入口点:

  • 后端:backend/app/domain/ - 业务逻辑
  • 前端:frontend/src/app/(routes)/ - 页面路由

阶段 3:流程

核心流程:文章导入 → AI 处理 → 存储

┌─────────────┐     ┌──────────────────┐     ┌─────────────┐
│   URL 提交   │────▶│  ingest_service  │────▶│   Router    │
└─────────────┘     └──────────────────┘     └──────┬──────┘
                                                    │
┌─────────────┐     ┌──────────────────┐           │
│    响应     │◀────│ pipeline_service │◀──────────┘
└─────────────┘     └──────────────────┘
                            │
                            ▼
                     ┌─────────────┐
                     │    ORM      │
                     └─────────────┘

关键文件: backend/app/domain/article_ai_pipeline_service.py - 模块化 AI 处理链,支持可配置步骤(清洗 → 打标签 → 摘要 → 嵌入)。


阶段 4:起步路径

前置要求:

  • Python 3.11+
  • PostgreSQL

设置命令:

cd backend
pip install -e .
alembic upgrade head          # 初始化数据库模式
uvicorn app.main:app --reload  # 启动开发服务器

首个观察点: 在 router 中查看 article_ai_pipeline_service.py 的调用链。

安全的首个修改: 修改 core/settings.py 中的 AI_MODEL,观察不同的 AI 行为。

---kanyii

阶段 5:核心设计

# 设计 位置 重要性
1 领域服务层 app/domain/*.py API 与数据库解耦;AI 集成可独立演进
2 AI Pipeline 架构 article_ai_pipeline_service.py AI 处理不耦合 ORM;可配置、可追踪
3 路由注册器 api/router_registry.py 集中注册;新增模块无需改动 main.py

架构图示

后端领域架构:

┌─────────────────────────────────────────┐
│              API 路由层                 │
│  (article, ai_tasks, auth, settings...) │
└──────────────────┬──────────────────────┘
                   │
┌──────────────────▼──────────────────────┐
│           领域服务层                     │
│  ┌──────────────┐  ┌──────────────────┐  │
│  │article_query │  │article_command   │  │
│  └──────────────┘  └──────────────────┘  │
│  ┌──────────────┐  ┌──────────────────┐  │
│  │ai_pipeline   │  │ingest_service    │  │
│  └──────────────┘  └──────────────────┘  │
└──────────────────┬──────────────────────┘
                   │
┌──────────────────▼──────────────────────┐
│          SQLAlchemy 模型层              │
└─────────────────────────────────────────┘

验证备注

  • 按 v0.5.0 规范完成 5 个阶段
  • 未进行 essence 级别的深度提取
  • 未进行交互式教学
  • 遵守边界规则