Skip to content

About

Linux 内核邮件补丁分析、归档、讨论服务

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Linux 内核补丁邮件分析、归档、讨论服务

从邮箱服务中拉取 Linux 内核补丁邮件,交给 AI 去分析后归档, 回归传统的多模块单体阻塞式架构 (Tomcat + V-Thread)。

快速启动

前置要求

  • JDK 25

  • Maven 3.8+

  • Docker

    • Windows / MacOS Docker Desktop

    • Linux Ubuntu/Debian 安装 Docker Engine 和 Compose 插件

      # docker-ce Docker 守护进程
      # docker-ce-cli    docker 命令行工具
      # containerd.io    底层容器运行时
      sudo apt-get install docker-ce docker-ce-cli containerd.io
      
      # 安装 docker compose 插件,后面可以使用 docker compose 命令快速启动
      sudo apt-get install docker-compose-plugin

部署步骤

git clone https://github.com/JesseZ332623/Linux-Kernel-Email-List-Analyzer

cd ./Linux-Kernel-Email-List-Analyzer

# 构建项目
mvn clean package -P dev

# 构建并启动容器
docker compose -p lkml_analyzer build
docker compose -p lkml_analyzer up -d

验证

# 查看各容器状态
docker compose -p lkml_analyzer ps

# 查看各容器运行时日志
docker compose -p lkml_analyzer logs -f

停止

docker compose -p lkml_analyzer stop

访问

服务启动后访问 http://localhost:26543/endpoint-document.html 浏览服务端点。

系统架构图

┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│                                                External Middleware Service                                                   │
│                                                                                                                              │
│  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐  ┌────────────────┐      │
│  │   Gmail IMAP   │  │  DeepSeek API  │  │    RabbitMQ    │  │     Redis      │  │     MySQL      │  │     MinIO      │      │
│  │  (LKML 邮箱)   │  │  (分析 + 讨论)  │  │   (消息队列)   │  │  (RESP 协议)    │  │  (数据持久化)  │  │ (对象存储/S3)   │      │
│  └───────┬────────┘  └───────▲────────┘  └───────▲────────┘  └───────▲────────┘  └───────▲────────┘  └───────▲────────┘      │
└──────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────────┼───────────────┘
           │ IMAP              │ HTTPS / SSE       │ AMQP              │ RESP              │ TCP               │ HTTP
           │                   │                   │                   │                   │                   │
┌──────────▼───────────────────▼───────────────────▼───────────────────▼───────────────────▼───────────────────▼───────────────┐
│                                        Linux Kernel Email List Analyzer (单体服务)                                           │
│                                                                                                                              │
│  ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐  │
│  │  bootstrap                                                                                                             │  │
│  │                                                                                                                        │  │
│  │  LinuxKernelEmailListAnalyzerApplication  (启动入口)                                                                   │  │
│  └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  │
│                                                                                                                              │
│  ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐  │
│  │  core 模块(公共基础设施)                                                                                              │  │
│  │                                                                                                                        │  │
│  │  • SingleImapConnectionImpl + ImapConnectionKeepAlive  (IMAP 连接管理 / 保活)                                           │  │
│  │  • KernelEmailStatus 枚举  (0 ~ 12 状态机状态)                                                                          │  │
│  │  • TimeMonitorAspect  (AOP 耗时统计)                                                                                   │  │
│  │  • GlobalIdConsumer  (全局 ID 生成)                                                                                    │  │
│  │  • MinioTemplate / MinioProperties / ObjectStorageService  (MinIO 客户端与上传下载封装)                                 │  │
│  │  • 实体 / DTO / Properties / Repository / Utils / Exception                                                            │  │
│  └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  │
│                                                                                                                              │
│  ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐  │
│  │  analyzer 模块(核心流水线)                                                                                           │  │
│  │                                                                                                                        │  │
│  │  [定时调度] KernelEmailPusherImpl                                                                                      │  │
│  │       │                                                                                                                │  │
│  │       │  1. IMAP 拉取未读邮件(批量 50,阅后即焚)                                                                      │  │
│  │       │  2. 解析为 PlainTextEmail                                                                                      │  │
│  │       │  3. 插入 linux_kernel_email 表(状态 = FETCHED)                                                               │  │
│  │       │  4. 推送 RabbitMQ(状态 → PUSHED / PUSH_FAILED)                                                               │  │
│  │       ▼                                                                                                                │  │
│  │  RabbitMQ Queue (lkml)                                                                                                 │  │
│  │       │                                                                                                                │  │
│  │       └──► KernelEmailAnalyzerServiceImpl  (@RabbitListener)                                                           │  │
│  │                │                                                                                                       │  │
│  │                │  状态机驱动 (KernelEmailStateMachineImpl + Spring StateMachine)                                       │  │
│  │                │                                                                                                       │  │
│  │                │  FETCHED → ANALYSIS_PENDING → ANALYZING → ANALYSIS_SUCCESS/FAILED                                     │  │
│  │                │           → GENERATING → GENERATE_SUCCESS/FAILED                                                      │  │
│  │                │           → REPORT_PERSISTING → REPORT_PERSISTENCE_SUCCESS/FAILED                                     │  │
│  │                │                                                                                                       │  │
│  │                ├─ KernelEmailDeepSeekAnalyzer          (调用 DeepSeek 分析)                                            │  │
│  │                ├─ AIModelAnswerAuditService            (审计响应)                                                      │  │
│  │                ├─ LKMLAnalyzeTemplateGeneratorImpl     (Thymeleaf 生成 HTML 报告)                                      │  │
│  │                └─ LKMLAnalyzeReportWriter              (分析报告持久化 + 上传 MinIO)                                   │  │
│  │                                                                                                                        │  │
│  │  KernelEmailClassifierImpl  (邮件分类辅助)                                                                             │  │
│  └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  │
│                                                                                                                              │
│  ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐  │
│  │  analyze_report_discuss 模块(交互讨论)                                                                                │  │
│  │                                                                                                                        │  │
│  │  Controller → AnalyzeReportDiscussServiceImpl                                                                          │  │
│  │       │                                                                                                                │  │
│  │       │  1. DiscussSessionLockGuard                (会话串行锁,防并发)                                                 │  │
│  │       │  2. 插入 ai_analyze_discuss_session_details                                                                    │  │
│  │       │  3. KernelEmailAnalyzeReportRedisCacher     (从 Redis / DB 加载报告)                                            │  │
│  │       │  4. ModelPromptReader + DiscussAbstractCacher                                                                  │  │
│  │       │         (系统 / 用户提示词 + 历史摘要)                                                                          │  │
│  │       │  5. OkHttp SSE 调用 DeepSeek(流式)                                                                           │  │
│  │       │  6. SSECallBack + ResponseChunkHandler                                                                        │  │
│  │       │         (异步推送前端 + 审计 + 摘要)                                                                            │  │
│  │       │                                                                                                                │  │
│  │  AnalyzeReportDiscussDeepSeekAbstractor  (上下文摘要)                                                                  │  │
│  │  Session / Details Service               (会话管理)                                                                    │  │
│  └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  │
│                                                                                                                              │
│  ┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐  │
│  │  model_response_audit 模块(审计与计费)                                                                                │  │
│  │                                                                                                                        │  │
│  │  AIModelAnswerAuditServiceImpl                                                                                         │  │
│  │       ├─ ai_model_answer_audit     (任务元数据)                                                                         │  │
│  │       ├─ ai_model_answer_content   (推理 + 输出内容)                                                                    │  │
│  │       └─ ai_model_answer_usage     (Token 明细)                                                                        │  │
│  │                                                                                                                        │  │
│  │  AIModelDailyBillingServiceImpl  (每日汇总,幂等结算)                                                                   │  │
│  │       └─ ai_model_daily_billing  (按模型 + 日期聚合费用)                                                                │  │
│  │                                                                                                                        │  │
│  │  Token 计算组件 + 转换器                                                                                                │  │
│  └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

模块设计

linux_kernel_email_list_analyzer (父 POM)
├── bootstrap          # 启动入口 + 资源配置
├── core               # 公共核心(IMAP、状态枚举、AOP、实体、工具、配置属性)
├── analyzer           # 邮件拉取 → 推送 MQ → 消费分析 → 报告生成 → 持久化
├── analyze_report_discuss  # 分析报告讨论 / 答疑(SSE + Redis 缓存 + 会话)
└── model_response_audit    # AI 模型响应审计 + 每日 Token 费用汇总

依赖关系图

deepseek

快速跳转

代码速览

core 模块

model_response_audit 模块

analyzer 模块

analyze_report_discuss 模块

LICENCE

Apache License Version 2.0

2026.09.11

About

Linux 内核邮件补丁分析、归档、讨论服务

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages