AI任务管理系统

一个基于本地LLM集成的任务管理系统,提供现代Blazor WASM UI,支持自然语言任务管理。

  • by 54696d20
  • HTML
  • 本地部署
  • 更新于
在 GitHub 查看 54696d20/mcpserver

使用说明

MCP任务管理系统

A完整 模型上下文协议(MCP) 使用本地LLM集成实现。NET、MCPSharp和Ollama。该系统提供了一个由人工智能驱动的会话式任务管理应用程序,该应用程序具有完全在本地运行的现代DateTimeWASM UI。

🏗️ 建筑

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Blazor WASM   │    │   Ollama LLM    │    │   Task Service  │
│   (Frontend)    │◄──►│   (Container)   │◄──►│   (Backend)     │
│   Port: 8080    │    │   Port: 11434   │    │   Port: 5000    │
│   MudBlazor UI  │    │   Local Models  │    │   REST API      │
└─────────────────┘    └─────────────────┘    └─────────────────┘

🚀 Docker快速入门(推荐)

先决条件

  • Docker桌面 已安装并正在运行
  • Docker Compose (通常包含在Docker桌面中)
  • 8GB+内存 (适用于LLM型号)
  • 10GB+可用磁盘空间 (适用于模型和容器)

一个命令设置

窗户:

start.bat

macOS/Linux:

./start.sh

手册:

docker-compose up --build -d

访问您的应用程序

  • 🌐 用户界面: http://localhost:8080
    • 仪表盘:任务统计和概述
    • 任务管理:创建、编辑、删除和筛选任务
    • AI聊天:Ollama LLM的自然语言任务管理
    • 深色模式:在浅色和深色主题之间切换(默认为深色模式)
  • 🔧 任务服务API: http://localhost:5001
  • 🤖 API Ollama: http://localhost:11434

首次运行注意事项

  • 型号下载:首次运行下载LLM模型(~4GB)
  • 设置时间:5-10分钟,取决于网络速度
  • 监控进度: docker-compose logs -f ollama

🛠️ 手动设置(替代)

先决条件

  • .NET 9.0 SDK
  • 没有 (适用于本地LLM模型)
  • Git

1.安装Olama

macOS:

brew install ollama

Linux:

curl -fsSL https://ollama.ai/install.sh | sh

窗户: 下载自 去.ai

2.启动Ollama并拉一个模型

# Start Ollama service
ollama serve

# In another terminal, pull a model
ollama pull llama2:7b

3.克隆和构建

git clone <your-repo>
cd McpServer
dotnet restore
dotnet build

4.环境配置

创建一个 .env 文件基于 env.example:

# Ollama model name (e.g., llama2:7b, mistral:7b, codellama:7b)
MCP_OLLAMA_MODEL=llama2:7b

# Path to your MCP server executable
MCP_SERVER_PATH=/path/to/McpServer.Server/bin/Debug/net9.0/McpServer.Server.exe

5.设置环境变量

export MCP_OLLAMA_MODEL="llama2:7b"
export MCP_SERVER_PATH="/path/to/McpServer.Server/bin/Debug/net9.0/McpServer.Server.exe"

6.运行应用程序

# Start the MCP server
cd McpServer.Server
dotnet run

# In another terminal, run the client
cd McpServer.Client
dotnet run

🎯 运作原理

任务管理流程

  1. 用户输入:通过Blazor UI或API的自然语言任务请求
  2. LLM处理:Ollama接收请求并以结构化JSON进行响应
  3. 任务操作:系统对任务执行CRUD操作
  4. 响应:结果显示在现代UI中

UI功能

  • 📊 仪表盘:实时任务统计和概述
  • 📝 任务管理:具有过滤和排序功能的完整CRUD操作
  • 💬 AI聊天:用于任务管理的自然语言界面
  • 🌙 深色模式:美丽的深色主题(默认),带灯光模式切换
  • 📱 响应式:适用于台式机、平板电脑和移动设备

交互示例

User: "Add a task to buy groceries tomorrow"
LLM: { "operation": "create", "task": { "title": "Buy groceries", "dueDate": "tomorrow" } }
Result: Task created successfully and displayed in UI

User: "Show me all tasks"
LLM: { "operation": "read", "filter": "all" }
Result: Tasks displayed in table with filtering options

User: "Mark the grocery task as done"
LLM: { "operation": "update", "taskId": "123", "task": { "status": "completed" } }
Result: Task updated and UI refreshed

📁 项目结构

McpServer/
├── McpServer.LLM/           # LLM integration using Ollama HTTP API
├── McpServer.Client/        # Task management client and API
├── McpServer.Server/        # MCP server implementation
├── McpServer.Client.UI.Client/  # Blazor WASM UI with MudBlazor
│   ├── Pages/               # Application pages (Dashboard, Tasks, Chat)
│   ├── Layout/              # Main layout and navigation
│   ├── Components/          # Reusable UI components
│   ├── Models/              # Data models and DTOs
│   └── wwwroot/             # Static assets and configuration
├── docker-compose.yml       # Container orchestration
├── Dockerfile              # Task service container
├── start.sh                # Linux/macOS startup script
├── start.bat               # Windows startup script
└── README.md               # This file

🔧 Docker命令

管理

# Start services
docker-compose up -d

# View logs
docker-compose logs -f

# Stop services
docker-compose down

# Restart services
docker-compose restart

# Rebuild and start
docker-compose up --build -d

个人服务

# View Ollama logs
docker-compose logs -f ollama

# View task service logs
docker-compose logs -f task-service

# View UI logs
docker-compose logs -f blazor-ui

🐛 故障排除

Docker问题

  1. Docker未运行:启动Docker桌面
  2. 端口冲突:检查端口8080、5000或11434是否正在使用中
  3. 内存不足:增加Docker内存限制(建议8GB+)

Ollama问题

  1. 未找到型号: docker-compose logs ollama 检查下载进度
  2. 连接被拒绝:等待Ollama完全启动
  3. 反应缓慢:第一次运行将模型加载到内存中

应用程序问题

  1. UI未加载:检查DateTimecontainer是否正在运行
  2. API错误:检查任务服务日志
  3. LLM错误:确认奥利玛健康
  4. 黑暗模式不工作:清除浏览器缓存并刷新
  5. 聊天没有响应:检查Ollama模型是否已加载并响应

使用不同的模型

# Pull different models
docker exec mcp-ollama ollama pull mistral:7b
docker exec mcp-ollama ollama pull codellama:7b

# Update environment variable
export MCP_OLLAMA_MODEL="mistral:7b"
docker-compose restart task-service

🚀 这种方法的好处

本地和私人

  • 无云依赖:一切都在本地运行
  • 数据隐私:你的任务永远不会离开你的机器
  • 离线功能:安装后无需互联网即可工作

演出

  • 快速响应:本地LLM推理
  • 没有API限制:无限制使用
  • 可定制的:使用任何Olama型号

开发者友好

  • 易于设置:使用Docker执行一个命令
  • 跨平台:适用于Windows、Mac、Linux
  • 可扩展:易于添加新功能

现代UI体验

  • 漂亮的界面:使用MudDisplay进行材料设计
  • 深色模式:使用切换选项,易于入眼
  • 响应式设计:适用于所有设备尺寸
  • 实时更新:即时反馈和自动滚动聊天

🔮 未来的增强功能

  • 更多LLM型号:支持不同型号
  • 高级任务功能:重复任务、提醒、类别
  • 用户认证:多用户支持
  • 移动应用程序:React Native或Flutter伴侣
  • API扩展:Webhook支持,外部集成
  • 任务自动化: .NET Orleans集成用于自动化任务处理
  • 增强的用户界面:更多主题、自定义和辅助功能
  • 数据持久层:数据库集成(SQLite、PostgreSQL)
  • 导出/导入:任务备份和共享功能

📄 许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 使用Docker进行测试
  5. 提交拉取请求

用AI管理任务快乐! 🎯