# TaskGenie **Repository Path**: tools-ai/task-genie ## Basic Information - **Project Name**: TaskGenie - **Description**: 智能待办 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-29 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TaskGenie - 智能任务管理系统 ## 项目简介 TaskGenie 是一个功能完善的企业级任务管理平台,采用前后端分离架构,提供智能 AI 助手、任务管理、组织架构管理等核心功能。该系统基于 Vue.js 和 Spring Boot 构建,支持 JWT 认证机制,旨在帮助团队和个人更高效地管理任务和工作流程。 ## 核心功能 ### 任务管理 系统提供完整的任务生命周期管理功能,支持任务的创建、更新、删除、完结和取消操作。用户可以按状态、分类筛选任务,支持优先级设置、提醒时间配置和任务重复模式设置。批量创建功能允许用户向整个组织、部门或指定用户批量分发任务,提高团队协作效率。 ### 智能 AI 助手 集成阿里巴巴 Dashscope AI 能力,提供智能对话功能。AI 助手可以帮助用户创建任务、查询信息、提供建议,支持多会话管理和历史消息保存,为用户提供智能化的任务管理体验。 ### 组织架构管理 系统支持多级组织架构管理,包括组织(Organization)、部门(Department)、角色(Role)和用户(User)的层级关系。灵活的权限分配机制支持为用户分配不同角色,实现精细化的权限控制。 ### 分类与字典 用户可以自定义任务分类,通过颜色区分不同类型的任务。系统内置字典管理功能,涵盖任务状态、优先级、重复类型等配置项,支持灵活的扩展和定制。 ### 消息提醒 任务到期提醒通过定时任务自动检测并发送通知,用户可在个人设置中配置推送状态、默认优先级和排序方式。所有消息支持已读标记和批量已读操作。 ## 技术栈 ### 前端技术 前端采用 Vue 3 框架,配合 Vite 构建工具实现快速开发。路由管理使用 Vue Router,状态管理和组件化开发遵循 Vue 3 最佳实践。UI 组件库和样式方案确保了良好的用户体验和界面一致性。 ### 后端技术 后端基于 Spring Boot 框架构建,使用 MyBatis-Plus 作为数据持久层解决方案。安全认证采用 JWT(JSON Web Token)机制,实现无状态的分布式认证。定时任务功能用于处理任务提醒的自动化检测和通知发送。 ### 数据库与存储 系统使用 MySQL 数据库,通过 SQL 脚本进行数据库结构初始化。AI 会话和消息数据独立存储,确保业务数据的清晰划分和高效查询。 ## 项目结构 ``` task-genie/ ├── client/ # Vue.js 前端项目 │ ├── src/ │ │ ├── api/ # API 接口封装 │ │ ├── components/ # 公共组件 │ │ ├── router/ # 路由配置 │ │ ├── utils/ # 工具函数 │ │ └── views/ # 页面视图 │ ├── index.html │ ├── package.json │ └── vite.config.js ├── server/ # Spring Boot 后端项目 │ ├── src/main/ │ │ ├── java/com/taskGenie/ │ │ │ ├── config/ # 配置类 │ │ │ ├── controller/ # 控制器层 │ │ │ ├── dto/ # 数据传输对象 │ │ │ ├── entity/ # 实体类 │ │ │ ├── filter/ # 过滤器 │ │ │ ├── mapper/ # 数据访问层 │ │ │ ├── service/ # 业务逻辑层 │ │ │ └── utils/ # 工具类 │ │ └── resources/ │ │ ├── application.yml │ │ └── mapper/ # MyBatis XML 映射文件 │ └── db/ # 数据库脚本 │ ├── ai_session.sql │ └── init.sql ``` ## 快速开始 ### 环境准备 确保你的开发环境已安装以下软件: - JDK 8 或更高版本 - Node.js 14+ 和 npm - MySQL 5.7+ - Maven 3.6+ ### 数据库配置 1. 创建数据库并执行初始化脚本: ```sql CREATE DATABASE task_genie DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE task_genie; SOURCE server/db/init.sql; SOURCE server/db/ai_session.sql; ``` 2. 修改后端配置文件 `server/src/main/resources/application.yml`,配置数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/task_genie?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: your_username password: your_password ``` 3. 配置阿里云 Dashscope API 密钥: ```yaml aliyun: dashscope: api-key: your_api_key model: qwen-turbo ``` ### 后端启动 进入 server 目录,执行 Maven 编译和启动命令: ```bash cd server mvn clean install mvn spring-boot:run ``` 后端服务默认运行在 http://localhost:8080。 ### 前端启动 进入 client 目录,安装依赖并启动开发服务器: ```bash cd client npm install npm run dev ``` 前端服务默认运行在 http://localhost:5173。 ## API 接口概览 ### 认证接口 系统提供用户注册、登录和登出接口。注册时支持手机号验证,登录采用加密密码传输,通过 JWT 生成身份令牌。密码加密使用 AES 加密算法,配合密钥进行安全传输。 ### 任务接口 任务接口覆盖完整的 CRUD 操作,支持按状态、分类查询,获取任务详情字典数据。批量创建接口支持向组织、部门或指定用户列表批量分配任务。 ### 分类与字典 用户可管理的任务分类接口支持创建、更新和删除操作。字典接口提供状态、优先级、重复类型等配置项的查询和管理。 ### AI 对话接口 AI 助手接口支持创建会话、发送消息、获取历史记录和关闭会话等功能。所有对话数据与用户关联存储,确保数据安全和隐私保护。 ### 系统管理接口 组织架构管理接口包括组织、部门、角色和用户的增删改查操作。用户角色分配接口支持为用户分配或移除角色,支持按用户或角色查询关联关系。 ## 安全机制 ### 认证与授权 系统采用 JWT 进行身份认证,所有 API 接口(除登录注册外)均需携带有效令牌。请求拦截器负责验证令牌有效性和用户身份,非法请求将被拒绝并返回 401 错误。 ### 密码安全 用户密码在传输过程中使用 AES 加密,后端存储采用 BCrypt 算法进行单向哈希。即使数据库泄露,攻击者也无法直接获取用户明文密码。 ### 数据校验 所有用户输入均经过后端校验,确保数据类型和格式正确。实体类使用注解进行字段验证,防止非法数据入库。 ## License 本项目基于 [MIT License](LICENSE) 开源协议,您可以自由使用、修改和分发本项目,但需保留原始版权声明。 ## 贡献指南 欢迎对本项目提出改进建议或贡献代码。您可以通过 Gitee 的 Issue 功能报告问题,或提交 Pull Request 参与代码贡献。我们期待与您共同完善这个项目,为开发者提供更优质的任务管理解决方案。