智能日历系统 - 多平台日历同步和AI助手系统
🔗 在线体验:https://www.cheman.top/calendars/
- CalDAV协议 - 标准日历同步协议,兼容Google Calendar、iCloud等
- IMAP邮件 - 智能邮件日历事件提取和解析
- 本地日历 - 离线日历管理,支持数据导入导出
- 自然语言解析 - 智能识别和创建日程安排
- 智能提醒 - 基于AI的个性化提醒和建议
- 冲突检测 - 自动检测日程冲突并提供解决方案
- 建议优化 - AI分析日程模式,优化时间安排
- 多LLM支持 - 支持OpenAI、Claude、本地模型等
- 响应式设计 - 完美适配桌面、平板和移动设备
- 主题切换 - 明暗主题支持,个性化界面
- 拖拽操作 - 直观的日程拖拽编辑
- 多视图切换 - 月视图、周视图、日视图、议程视图
- 统一账号系统 - 集成统一设置服务认证
- 用户数据隔离 - 每个用户独立的日历数据存储
- 安全存储 - 加密存储敏感信息和账户凭据
- 权限管理 - 细粒度权限控制和访问管理
- USE_DEFAULT_CONFIG支持 - 智能处理默认配置标记
- React 18 - 现代化前端框架
- TypeScript - 类型安全开发
- Tailwind CSS - 原子化CSS框架
- React Router - 单页应用路由
- Zustand - 轻量级状态管理
- Node.js - 高性能JavaScript运行时
- Express.js - 轻量级Web框架
- TypeScript - 类型安全的后端开发
- SQLite - 轻量级数据库
- JWT - 安全认证
- Exchange Web Services - Exchange服务器集成,支持EWS API
- CalDAV客户端 - 标准日历协议,支持多种CalDAV服务器
- IMAP客户端 - 邮件服务器连接,智能邮件解析
- 统一设置服务 - 用户认证和配置管理,支持多应用集成
- 本地设置服务 - 混合设置架构,支持本地和远程配置
- 用户数据服务 - 用户数据隔离和管理
- Node.js 18+
- npm或yarn
- Git
-
克隆项目
git clone https://github.com/chemany/tidelog.git cd tidelog -
安装依赖
# 安装后端依赖 cd backend npm install # 安装前端依赖 cd ../frontend npm install
-
环境配置
# 复制环境变量文件 cp backend/.env.example backend/.env cp frontend/.env.example frontend/.env.local # 编辑环境变量文件
-
启动统一设置服务
# 需要先启动统一设置服务 cd ../unified-settings-service npm start
-
启动潮汐志服务
# 启动后端服务 (端口11001) cd ../TideLog/backend npm start # 启动前端服务 (端口11000) cd ../frontend npm start
-
访问应用
- 前端: http://localhost:11000/calendars/
- 后端API: http://localhost:11001
- 统一设置服务: http://localhost:3002
# 服务配置
PORT=11001
NODE_ENV=development
# 数据库配置
DATABASE_PATH="./data/calendar.db"
# 统一设置服务配置
UNIFIED_SETTINGS_URL="http://localhost:3002"
# 用户数据配置
USER_DATA_PATH="C:\\code\\unified-settings-service\\user-data-v2"
USERS_CSV_PATH="C:\\code\\unified-settings-service\\users.csv"
# AI模型配置
DEFAULT_MODELS_PATH="C:\\code\\unified-settings-service\\config\\default-models.json"
# 同步配置
SYNC_INTERVAL_MINUTES=30
CALDAV_SYNC_MINUTE=5
# 日志配置
LOG_LEVEL="info"# API配置
REACT_APP_API_BASE_URL="http://localhost:11001"
REACT_APP_UNIFIED_SETTINGS_URL="http://localhost:3002"
# 应用配置
REACT_APP_APP_NAME="潮汐志"
REACT_APP_APP_VERSION="2.0.0"
# 功能开关
REACT_APP_ENABLE_AI_ASSISTANT=true
REACT_APP_ENABLE_NATURAL_LANGUAGE=true
REACT_APP_ENABLE_CONFLICT_DETECTION=true- 创建账户 - 通过统一设置服务注册账户
- 配置同步 - 设置Exchange、CalDAV或IMAP连接
- 查看日历 - 浏览同步的日历事件
- 创建事件 - 手动创建或AI辅助创建
- 多日历管理 - 同时管理多个日历源
- 智能分析 - AI分析日程安排模式
- 批量操作 - 批量导入导出日历数据
- 提醒设置 - 个性化提醒配置
{
"serverUrl": "https://your-exchange-server.com",
"username": "your-username",
"password": "your-password",
"exchangeVersion": "Exchange2013"
}{
"serverUrl": "https://your-caldav-server.com",
"username": "your-username",
"password": "your-password"
}{
"host": "imap.your-provider.com",
"port": 993,
"username": "your-email@example.com",
"password": "your-password",
"useTLS": true
}smart-calendar/
├── backend/ # 后端服务
│ ├── src/
│ │ ├── controllers/ # 控制器
│ │ ├── services/ # 业务逻辑
│ │ ├── models/ # 数据模型
│ │ └── routes/ # 路由定义
│ └── data/ # 数据存储
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── components/ # React组件
│ │ ├── services/ # API服务
│ │ ├── hooks/ # 自定义Hooks
│ │ └── utils/ # 工具函数
│ └── public/ # 静态资源
└── docs/ # 项目文档
GET /api/events- 获取日历事件列表POST /api/events- 创建新的日历事件PUT /api/events/:id- 更新日历事件DELETE /api/events/:id- 删除日历事件
POST /api/sync/exchange- 同步Exchange日历POST /api/sync/caldav- 同步CalDAV日历POST /api/sync/imap- 同步IMAP邮件日历
GET /api/settings- 获取用户配置POST /api/settings- 更新用户配置
- Fork项目
- 创建功能分支:
git checkout -b feature/new-feature - 提交更改:
git commit -m 'Add new feature' - 推送分支:
git push origin feature/new-feature - 提交Pull Request
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 前端应用 │────│ 后端API │────│ 统一设置服务 │
│ (React SPA) │ │ (Express.js) │ │ (认证/配置) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 用户界面 │ │ 业务逻辑 │ │ 用户管理 │
│ (日历视图) │ │ (日程同步) │ │ (认证授权) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│
▼
┌─────────────────────┐
│ 外部服务集成 │
│ Exchange/CalDAV/ │
│ IMAP │
└─────────────────────┘
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。
- React - 前端框架
- Express.js - 后端框架
- Exchange Web Services - Exchange集成
- CalDAV - 日历同步协议
⭐ 如果这个项目对您有帮助,请给它一个星标!