本系统旨在利用大语言模型实现对被分析对象outlook邮箱中海量邮件的自动化分析和快速摘要,帮助法证审计人员迅速捕捉邮件中的蛛丝马迹,降低人工筛查工作量。特别针对长期邮件(如员工两年内的全部邮件)进行重点优化,实现自动摘要、疑点提示及重点预警功能。
- Python 3.8+
- DeepSeek API Key(默认模式)或 Ollama(离线模式)
pip install -r requirements.txt
本项目支持两种模式运行:
使用 DeepSeek V3 API:
- ✅ 优点:
- 分析速度更快(约5-10倍)
- 结果更准确
- 无需本地部署
- 资源占用少
⚠️ 注意事项:- 需要联网
- 需要 API 密钥
- 邮件内容会发送至 API 服务器
配置方法:
- 在
.env
文件中设置你的 API 密钥:
DEEPSEEK_API_KEY=你的密钥
DEFAULT_MODEL=deepseek_api
使用本地 Ollama 模型:
- ✅ 优点:
- 完全离线运行
- 数据本地处理
- 无需 API 密钥
⚠️ 注意事项:- 需要较高配置(建议至少16GB内存)
- 首次运行需要下载模型(约7GB)
- 分析速度较慢
配置方法:
- 安装 Ollama:https://ollama.ai/
- 下载模型:
ollama pull deepseek-r1:7b
- 在
.env
文件中修改配置:
DEFAULT_MODEL=ollama
OLLAMA_MODEL=deepseek-r1:7b
-
在线模式(DeepSeek API):
- 邮件内容会通过 HTTPS 发送至 API 服务器
- 建议处理敏感数据时使用离线模式
- API 提供商承诺不存储用户数据
-
离线模式(Ollama):
- 所有数据本地处理
- 无需网络连接
- 适合处理敏感信息
graph TB
subgraph 数据获取
A[PST文件] --> B[PST解析器]
B --> |元数据提取| C[metadata.csv]
B --> |文本清洗| D[邮件正文]
B --> |附件提取| E[附件文件]
end
subgraph 数据预处理
C --> F[数据标准化]
D --> F
F --> G[时间序列整理]
G --> H[邮件线程归类]
H --> I[数据结构化]
end
subgraph LLM分析
I --> J{模型选择}
J --> |在线模式| K[DeepSeek API]
J --> |离线模式| L[Ollama本地模型]
K --> M[风险评估]
L --> M
M --> N[自动摘要]
M --> O[疑点检测]
M --> P[关键词提取]
end
subgraph 风险评估
O --> Q[时间异常分析]
O --> R[外部联系分析]
O --> S[内容敏感度分析]
O --> T[附件风险分析]
end
subgraph 可视化输出
Q --> U[时间线图表]
R --> V[关系网络图]
S --> W[风险热力图]
T --> X[附件统计]
end
subgraph 报告生成
U --> Y[审计报告]
V --> Y
W --> Y
X --> Y
N --> Y
P --> Y
end
classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px;
classDef input fill:#e1f5fe,stroke:#0288d1,stroke-width:2px;
classDef process fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;
classDef output fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;
class A,C,E input;
class B,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T process;
class U,V,W,X,Y output;
- PST文件解析:
python pst_parser.py
将自动解析指定路径下的PST文件,生成CSV格式的邮件元数据。
- 邮件分析:
python email_analyzer.py
默认使用 DeepSeek API 进行分析。如需切换到离线模式:
python email_analyzer.py --model ollama
对解析后的邮件进行智能分析,生成审计报告。
程序会自动在当前目录的 output
文件夹下查找 metadata_report.csv
文件。
请确保 PST 解析后的文件被保存在正确的位置。
在 .env
文件中设置公司邮箱域名:
COMPANY_DOMAIN=你的公司邮箱域名
此配置用于识别外部邮件,这是风险评估的重要指标。如果有多个域名,可以用逗号分隔。
- PST 文件解析 📁
- 自动提取邮件全文、元数据和附件
- 支持多种编码格式
- 自动处理HTML内容
- 数据清洗与聚合 🧹
- 去重、时间序列整理
- 按日期、项目或邮件线程归类
- 保证邮件数据结构化
- 基于 DeepSeek 的邮件内容分析 🤖
- 自动识别风险等级
- 提供风险原因分析
- 生成处理建议
- 多维度风险评估 📊
- 时间异常分析
- 收发对象评估
- 内容敏感度分析
- 附件风险评估
- 自动报告生成 📑
- Word格式审计报告
- 包含统计图表
- 风险发现汇总
- 建议措施清单
- 交互式可视化 📈
- 时间线分析图
- 人员关系网络图
- 风险分布热图
- 风险等级分布
- 关键发现列表
- 详细分析结果
- 建议措 9F6A 施
- 基于 DeepSeek V3 大模型的智能分析
- 高度自动化的邮件处理流程
- 可解释的风险评估机制
- 灵活的报告生成系统
- 请确保 DeepSeek API 密钥的有效性
- PST 文件路径需要具有读取权限
- 生成的报告默认保存在当前目录
- 建议处理前备份原始数据
- 多模态附件分析
- 实时监控模式
- 批量处理优化
- API接口支持
- 自定义风险规则
- 多语言支持
- 多模态附件分析
- 实时监控模式
- 批量处理优化
- API接口支持
- 自定义风险规则
- 多语言支持
- 基于 ChromaDB 构建本地向量数据库
- 实现增量数据更新机制
- 支持多维度向量索引(正文、主题、时间等)
- 优化向量压缩和检索性能
- 实现基于上下文的多轮对话
- 支持复杂查询和条件过滤
- 添加时间范围和关键词筛选
- 集成实体识别和关系提取
- 邮件线索追踪和关联分析
- 人物关系图谱构建
- 事件脉络自动梳理
- 异常行为模式识别
graph TB
subgraph 数据准备
A[邮件数据] --> B[文本预处理]
B --> C[向量化]
C --> D[ChromaDB存储]
end
subgraph 检索系统
E[用户查询] --> F[查询理解]
F --> G[向量检索]
G --> H[相关性排序]
end
subgraph 智能问答
H --> I[上下文组装]
I --> J[LLM推理]
J --> K[答案生成]
end
subgraph 知识增强
D --> L[知识图谱]
L --> M[关系推理]
M --> I
end
classDef default fill:#f9f9f9,stroke:#333,stroke-width:2px;
classDef storage fill:#e1f5fe,stroke:#0288d1,stroke-width:2px;
classDef process fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px;
classDef output fill:#e8f5e9,stroke:#2e7d32,stroke-width:2px;
class D storage;
class A,E input;
class B,C,F,G,H,I,J,L,M process;
class K output;
-
数据处理优化
- 实现高效的文本分块策略
- 优化向量化性能
- 设计增量更新机制
-
检索质量提升
- 实现混合检索策略
- 优化相关性排序算法
- 添加语义相似度过滤
-
交互体验优化
- 支持自然语言查询
- 提供查询建议
- 可视化分析结果
-
系统性能保障
- 向量数据库性能调优
- 查询缓存机制
- 分布式处理支持
-
深度理解能力
- "谁在2023年12月提到过项目A的源代码?"
- "张三和李四之间有哪些异常的邮件往来?"
- "分析一下项目B从立项到交付的所有关键节点"
-
关联分析能力
- 自动发现人员关系网络
- 识别异常信息流动
- 追踪敏感信息传播路径
-
辅助决策能力
- 生成调查建议
- 提供风险预警
- 辅助证据收集
💡 注意:RAG 系统的开发将在保证数据安全的前提下进行,所有数据处理都在本地完成,不会有数据外传风险。
MIT License
欢迎提交 Issue 和 Pull Request
💡 本项目仅用于合法的邮件审计用途,请遵守相关法律法规。