# ai-assistant **Repository Path**: ddsda342/ai-assistant ## Basic Information - **Project Name**: ai-assistant - **Description**: 一个辅助企业老板/CEO的AI收件箱和日历管理软件 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-10-09 - **Last Updated**: 2025-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI收件箱和日历管理系统 一款专为企业CEO/高管设计的AI驱动的邮件和日历智能管理系统。 ## 🎯 核心功能 ### 1. 智能邮件管理 - ✅ **AI自动分类**: 自动将邮件分为紧急、重要、普通等5个优先级 - ✅ **智能回复建议**: 为每封邮件生成3种风格的回复建议 - ✅ **自动委托**: 识别可委托的邮件并推荐合适的团队成员 - ✅ **信息提取**: 自动提取待办事项、截止日期、会议请求 - ✅ **联系人重要性学习**: 基于互动历史评估发件人重要性 ### 2. 智能日历管理 - ✅ **会议智能评估**: AI分析会议邀请,建议接受/拒绝/改期 - ✅ **时间块优化**: 自动保护深度工作时间,优化会议分布 - ✅ **冲突检测**: 识别日程冲突并提供解决方案 - ✅ **会议准备**: 自动生成会议简报和背景资料 - ✅ **周度优化**: 分析整周日程,提供优化建议 ### 3. AI执行助手 - ✅ **自动化工作流**: 邮件接收→分析→建议→执行全流程自动化 - ✅ **决策支持**: 生成简洁的决策卡片,支持快速决策 - ✅ **每日简报**: 每天早上自动生成当日工作简报 - ✅ **行为学习**: 持续学习用户习惯,不断优化AI建议 ### 4. 智能通知 - ✅ **优先级通知**: 紧急邮件立即推送,普通邮件合并推送 - ✅ **上下文通知**: 推送时附带关键信息和快速操作按钮 - ✅ **免打扰模式**: 深度工作时间自动屏蔽非紧急通知 ## 🏗️ 技术架构 ### 后端技术栈 ``` - Java 17 - Spring Boot 3.2.0 - Spring AI (Claude Sonnet 4集成) - PostgreSQL 15 (数据存储) - Redis (缓存) - Apache Kafka (事件驱动) - Quartz (定时任务) ``` ### AI模型 ``` - Anthropic Claude Sonnet 4 (邮件分析、回复生成、决策支持) - 自定义提示词工程优化 - 用户行为学习模型 ``` ### 集成服务 ``` - Gmail API - Google Calendar API - Microsoft Outlook API - Microsoft Exchange ``` ## 📦 项目结构 ``` ai-inbox-calendar-assistant/ ├── src/ │ ├── main/ │ │ ├── java/com/aiassistant/ │ │ │ ├── config/ # 配置类 │ │ │ ├── controller/ # REST API控制器 │ │ │ ├── service/ # 业务逻辑层 │ │ │ │ ├── EmailAnalysisService.java │ │ │ │ ├── CalendarOptimizationService.java │ │ │ │ ├── AutomationWorkflowService.java │ │ │ │ ├── UserBehaviorLearningService.java │ │ │ │ └── DailyBriefingService.java │ │ │ ├── entity/ # 实体类 │ │ │ ├── repository/ # 数据访问层 │ │ │ ├── dto/ # 数据传输对象 │ │ │ ├── exception/ # 异常处理 │ │ │ └── AIAssistantApplication.java │ │ └── resources/ │ │ ├── application.yml # 主配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ ├── application-prod.yml # 生产环境配置 │ │ └── db/migration/ # Flyway数据库迁移脚本 │ └── test/ # 测试代码 ├── docs/ │ ├── api/ # API文档 │ ├── architecture/ # 架构设计文档 │ └── prompts/ # AI提示词库 ├── docker/ │ ├── docker-compose.yml # Docker编排配置 │ └── Dockerfile # 应用镜像构建文件 ├── pom.xml # Maven依赖配置 └── README.md # 项目说明文档 ``` ## 🚀 快速开始 ### 前置要求 - JDK 17+ - Maven 3.8+ - PostgreSQL 15+ - Redis 7+ - Kafka 3.0+ (可选,用于事件驱动) ### 1. 克隆项目 ```bash git clone https://github.com/your-org/ai-inbox-calendar-assistant.git cd ai-inbox-calendar-assistant ``` ### 2. 配置环境变量 创建 `.env` 文件: ```bash # 数据库配置 DB_USERNAME=postgres DB_PASSWORD=your_password # Redis配置 REDIS_HOST=localhost REDIS_PORT=6379 # AI配置 ANTHROPIC_API_KEY=your_anthropic_api_key # Gmail API配置 GMAIL_CLIENT_ID=your_gmail_client_id GMAIL_CLIENT_SECRET=your_gmail_client_secret # Google Calendar API配置 GOOGLE_CALENDAR_CLIENT_ID=your_google_calendar_client_id GOOGLE_CALENDAR_CLIENT_SECRET=your_google_calendar_client_secret # JWT配置 JWT_SECRET=your_jwt_secret_key ``` ### 3. 初始化数据库 ```bash # 创建数据库 createdb ai_assistant # 执行数据库迁移 mvn flyway:migrate ``` ### 4. 启动应用 ```bash # 开发模式 mvn spring-boot:run -Dspring-boot.run.profiles=dev # 或打包后运行 mvn clean package java -jar target/ai-inbox-calendar-assistant-1.0.0-SNAPSHOT.jar ``` ### 5. 访问应用 - 应用地址: http://localhost:8080 - API文档: http://localhost:8080/swagger-ui.html - 健康检查: http://localhost:8080/actuator/health ## 🐳 Docker部署 ### 使用Docker Compose ```bash # 启动所有服务 docker-compose up -d # 查看日志 docker-compose logs -f app # 停止服务 docker-compose down ``` ### docker-compose.yml ```yaml version: '3.8' services: postgres: image: postgres:15-alpine environment: POSTGRES_DB: ai_assistant POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data redis: image: redis:7-alpine ports: - "6379:6379" app: build: . ports: - "8080:8080" depends_on: - postgres - redis environment: SPRING_PROFILES_ACTIVE: prod DB_USERNAME: postgres DB_PASSWORD: postgres REDIS_HOST: redis ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY} volumes: postgres_data: ``` ## 📚 API文档 ### 邮件管理API #### 获取未读邮件 ```http GET /api/v1/emails/unread?userId=1&page=0&size=50 ``` #### 分析邮件 ```http POST /api/v1/emails/{emailId}/analyze?userId=1 ``` #### 生成回复建议 ```http POST /api/v1/emails/{emailId}/reply-suggestions?userId=1 ``` 响应示例: ```json { "replySuggestions": [ { "type": "quick_confirm", "subject": "Re: Q4预算讨论", "body": "Hi John,\n\n收到,我会在明天下午2点前审阅并回复。\n\nBest,\nCEO", "tone": "professional_brief", "useCase": "快速确认" } ] } ``` ### 日历管理API #### 获取今日会议 ```http GET /api/v1/calendar/today?userId=1 ``` #### 分析会议请求 ```http POST /api/v1/calendar/meetings/{meetingId}/analyze?userId=1 ``` 响应示例: ```json { "recommendation": "accept", "recommendationReason": "有2位董事会成员参会,涉及战略规划", "importanceScore": 0.92, "canDelegate": false, "preparationNeeded": { "documents": ["Q3财报", "Q4规划"], "keyQuestions": ["预算分配", "团队扩张"] } } ``` #### 优化本周日程 ```http POST /api/v1/calendar/optimize-week?userId=1 ``` ### Dashboard API #### 获取今日简报 ```http GET /api/v1/dashboard/briefing/today?userId=1 ``` ## 🔧 配置说明 ### AI配置优化 #### 调整AI响应速度 ```yaml ai: anthropic: max-tokens: 2048 # 减少token数量提升速度 temperature: 0.2 # 降低温度提高确定性 ``` #### 批量处理优化 ```yaml ai: batch: email-analysis-size: 20 # 批量分析的邮件数量 concurrent-requests: 10 # 并发请求数 ``` ### 自动化配置 #### 启用自动回复 ```yaml automation: auto-reply: enabled: true min-confidence-score: 0.9 # 只有AI信心>0.9才自动回复 urgent-only: true # 仅对紧急邮件自动回复 ``` #### 自动会议处理 ```yaml automation: auto-meeting: auto-accept-threshold: 0.85 # >0.85自动接受 auto-decline-threshold: 0.2 # <0.2自动拒绝 ``` ## 📊 监控和日志 ### Prometheus指标 访问: http://localhost:8080/actuator/prometheus 关键指标: - `ai.email.analysis.accuracy` - AI邮件分析准确率 - `ai.response.time` - AI响应时间 - `ai.suggestions.used` - AI建议被采纳次数 - `user.satisfaction` - 用户满意度 ### 日志 日志文件位置: `logs/ai-assistant.log` 查看实时日志: ```bash tail -f logs/ai-assistant.log ``` ## 🧪 测试 ### 运行单元测试 ```bash mvn test ``` ### 运行集成测试 ```bash mvn verify ``` ### 测试覆盖率报告 ```bash mvn jacoco:report # 报告位置: target/site/jacoco/index.html ``` ## 🔐 安全性 ### 数据加密 - 所有敏感数据(OAuth token, API key)使用AES-256加密存储 - 传输层使用TLS 1.3加密 ### 访问控制 - 基于JWT的身份认证 - 细粒度的RBAC权限控制 - OAuth2集成Gmail/Outlook ### 隐私保护 - 支持私有化部署 - 邮件内容不传输到第三方(除AI API) - 符合GDPR合规要求 ## 📈 性能优化 ### 响应时间目标 - 邮件快速分类: <500ms - 完整邮件分析: <5s - 回复生成: <3s - 会议分析: <4s ### 优化策略 1. **缓存策略**: 联系人重要性、回复模板等高频数据缓存 2. **批量处理**: 多封邮件批量分析,减少API调用 3. **异步处理**: 非关键路径使用异步处理 4. **并发优化**: 利用线程池并发处理多个任务 ## 🤝 贡献指南 欢迎贡献代码! 请遵循以下步骤: 1. Fork本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启Pull Request ### 代码规范 - 遵循Java编码规范 - 所有public方法必须有Javadoc - 单元测试覆盖率>80% - 提交前运行 `mvn clean verify` ## 📝 待办事项 (Roadmap) ### v1.1 (Q4 2025) - [ ] 移动端App (iOS/Android) - [ ] 语音交互集成 - [ ] 多语言支持 - [ ] 更多邮件服务集成(腾讯企业邮箱、阿里云邮箱) ### v1.2 (Q1 2026) - [ ] AI会议纪要自动生成 - [ ] 智能工作流自动化(Zapier式) - [ ] 团队协作功能 - [ ] 高级分析Dashboard ### v2.0 (Q2 2026) - [ ] 多模态AI(图片、PDF理解) - [ ] 实时协作编辑 - [ ] 企业知识库集成 - [ ] 预测性日程规划 ## 📄 License 本项目采用 MIT License - 查看 [LICENSE](LICENSE) 文件了解详情 ## 👥 团队 - **架构设计**: [iskyfan] - **AI工程**: [iskyfan] - **后端开发**: [iskyfan] ## 📞 联系方式 - Email: iskyfan2025@hotmail.com --- **注意**: 本项目需要Anthropic Claude API密钥。请访问 https://console.anthropic.com 获取。 ## 常见问题 (FAQ) ### Q: AI分析准确率如何? A: 初始准确率约75%,随着持续学习用户习惯,准确率会逐步提升至85-90%。 ### Q: 支持哪些邮箱服务? A: 目前支持Gmail、Outlook、Microsoft Exchange。企业邮箱可通过IMAP/SMTP协议集成。 ### Q: 数据安全吗? A: 支持私有化部署,所有敏感数据加密存储,符合企业级安全标准。 ### Q: 如何自定义AI行为? A: 可以在用户偏好设置中调整AI的优先级判断标准、自动化程度等参数。 ### Q: 价格如何? A: 开源版本免费使用,企业版提供SLA保障和专属支持,详见官网定价页面。