AI任务管理应用

一款全栈任务管理应用,配备智能AI聊天机器人助手,支持任务创建、更新、删除和组织,并提供自然语言任务管理功能。

  • by Rahaima-Shakeel
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Rahaima-Shakeel/todo-AIchatbot

使用说明

TodoFlow-基于人工智能的任务管理应用程序

一个全栈任务管理应用程序,带有由Google Gemini支持的智能AI聊天机器人助手。使用FastAPI(后端)和Next.js(前端)构建。

特性

  • ✅ 任务管理:创建、更新、删除和组织任务
  • 🤖 AI助手:通过聊天机器人进行自然语言任务管理
  • 🔐 认证:安全的用户注册和登录
  • 💬 聊天记录:持续的对话历史
  • 🎨 现代用户界面:具有深色模式的漂亮、灵敏的界面
  • ☁️ 云数据库:由Neon PostgreSQL提供技术支持

技术栈

后端

  • 框架:FastAPI
  • 数据库:PostgreSQL(Neon)
  • 对象关系映射:SQL模型
  • 人工智能:与OpenAI兼容的API(Gemini、OpenAI等)
  • 主控程序:用于工具调用的模型上下文协议
  • 认证:基于JWT的身份验证

前端

  • 框架:Next.js 16(React 19)
  • 样式:顺风CSS
  • 动画:帧运动
  • 图标:Lucide React
  • HTTP客户端:Axios

先决条件

  • Python 3.11+
  • Node.js 18+
  • PostgreSQL数据库 (我们建议 霓虹)
  • Google AI Studio API密钥 或OpenAI API密钥

安装

1.克隆存储库

git clone https://github.com/yourusername/Todo-AI-Chatbot.git
cd Todo-AI-Chatbot

2.后端设置

cd backend

# Create virtual environment
python -m venv venv

# Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Set up environment variables
cp .env.example .env
# Edit .env with your configuration (see below)

# Run the backend server
uvicorn app.main:app --reload

后端将在 http://localhost:8000

3.前端设置

cd frontend

# Install dependencies
npm install

# Set up environment variables
cp .env.example .env.local
# Edit .env.local with your configuration (see below)

# Run the development server
npm run dev

前端将在 http://localhost:3000

环境配置

后端(.env)

# Database Configuration
DATABASE_URL=postgresql://user:password@host/database?sslmode=require

# LLM Configuration
OPENAI_API_KEY=your_gemini_or_openai_api_key
OPENAI_API_BASE=https://generativelanguage.googleapis.com/v1beta/openai/
LLM_MODEL=gemini-flash-latest

# JWT Configuration
JWT_SECRET=your_generated_secret_here  # Generate: openssl rand -hex 32
JWT_ALGORITHM=HS256
JWT_EXPIRATION_HOURS=24

# API Configuration
API_HOST=0.0.0.0
API_PORT=8000

# CORS Origins
CORS_ORIGINS=http://localhost:3000,https://your-frontend-url.vercel.app

# Environment (optional, defaults to development)
ENVIRONMENT=development

获取API密钥:

  • 双子座: https://aistudio.google.com/app/apikey
  • OpenAI: https://platform.openai.com/api-keys
  • Neon数据库: https://console.neon.tech

前端(.env.local)

NEXT_PUBLIC_API_URL=http://localhost:8000

部署

后端部署(铁路/渲染)

  1. 创建新项目 铁路或渲染
  2. 连接您的存储库
  3. 设置环境变量 (全部来自 .env)
  4. 添加: ENVIRONMENT=production
  5. 部署!

重要:确保更新 CORS_ORIGINS 使用您的前端URL。

前端部署(Vercel)

  1. 导入您的存储库 前往Vercel
  2. 设置环境变量:
    • NEXT_PUBLIC_API_URL:您部署的后端URL
  3. 部署!

备注:更新后端 CORS_ORIGINS 包含您的Vercel URL。

用法

任务管理

  • 点击“添加任务”以创建新任务
  • 单击任务将其标记为已完成
  • 使用三点菜单编辑或删除任务

人工智能聊天机器人

  1. 点击聊天图标打开AI助手
  2. 使用自然语言命令:
    • “添加购买杂货的任务”
    • “按原样标记‘购买杂货’”
    • “删除我已完成的任务”
    • “显示我的所有待处理任务”

AI将自动执行适当的操作!

发展

后端结构

backend/
├── app/
│   ├── routers/        # API endpoints
│   ├── services/       # Business logic
│   ├── agent.py        # AI orchestration
│   ├── mcp_server.py   # Tool definitions
│   ├── models.py       # Database models
│   └── main.py         # App entry point
└── requirements.txt

前端结构

frontend/
├── app/               # Next.js pages
├── components/        # React components
├── lib/               # Utilities & API client
└── public/            # Static assets

故障排除

后端问题

“未设置DATABASE_URL”

  • 确保 .env 文件存在并包含 DATABASE_URL

“找不到模块'openai'”

  • 激活虚拟环境并运行 pip install -r requirements.txt

AI不执行工具

  • 验证 OPENAI_API_KEY 有效
  • 检查工具执行的后端日志

前端问题

“网络错误”

  • 验证后端是否在正确的端口上运行
  • 检查 NEXT_PUBLIC_API_URL 在 .env.local
  • 确保CORS配置正确

构建失败

  • 跑 npm install 确保所有依赖项都已安装
  • 检查TypeScript错误

贡献

欢迎投稿!请随时提交拉取请求。

许可证

麻省理工学院许可证-您可以自由使用此项目进行学习或个人使用!

支持

如果您遇到任何问题,请在GitHub上打开问题或联系维护人员。


内置于❤️ 用于生产任务管理