TaskMCP
一个具有层次结构、拖放排序、实时同步和MCP服务器集成的多工作区任务管理系统,用于AI代理通过自然语言管理任务。
特性
Web界面(http://localhost:5000)
- 多工作空间支持 -每个工作区都有一个独立的数据库
- 分层任务结构(无限嵌套子任务)
- 拖放排序
- 任务完成切换
- 任务注释/笔记(Markdown支持)
- 内联任务编辑
- WebSocket实时同步(多客户端更新)
- 两种视图模式:列表视图和画布视图
MCP服务器(http://localhost:8000)
工作区管理工具:
get_current_workspace_name-获取当前工作区名称list_all_workspaces-列出所有工作区switch_workspace-切换工作区(如果不存在,则自动创建)create_workspace-创建新工作区delete_workspace-删除工作区rename_workspace-重命名工作区
任务管理工具:
list_tasks-列出当前工作区中的所有任务(分层显示)add_task-添加新任务(可以为子任务指定parent_id)update_task-更新任务描述或注释toggle_task-切换完成状态delete_task-删除任务和所有子任务get_task-获取任务详细信息search_tasks-搜索任务move_task-移动任务位置set_current_task-设置当前工作任务clear_current_task-清除当前工作任务get_current_task-获取当前工作任务
技术栈
后端:
- Flask-Web框架
- Flask SocketIO-WebSocket实时通信
- SQLite3-数据库
- FastMCP-MCP服务器框架
- 模型提供者抽象-支持多个LLM后端(Ollama、OpenAI)
前端:
- React 18+TypeScript
- @dnd kit-拖放排序
- 插座。IO客户端-实时更新
- esbuild-构建工具
AI/LLM集成:
- Ollama-本地LLM支持(默认)
- OpenAI API-云LLM支持
- 模型提供者抽象层-易于添加新提供者
安装和设置
1.安装依赖项
# Core dependencies (required for Web interface and MCP server)
pip install -r requirements.txt
# For CLI (optional)
pip install -r requirements-cli.txt
# For Telegram bot (optional)
pip install -r requirements-telegram.txt
# Or install manually:
# Core dependencies (Web interface and MCP server)
pip install flask flask-socketio fastmcp requests
# Python :5000(如果启用了网络访问,则在启动时显示)
- MCP服务器:http://localhost:8000/mcp
### 5.配置MCP客户端
对于VS代码,配置 `.vscode/mcp.json`:
{ "servers": { "fastmcp-http": { "type": "http", "url": "http://localhost:8000/mcp" } } }
## 使用示例
### 工作空间管理
在Web界面中:
1. 单击右上角的工作区下拉列表
1. 点击“管理”打开工作区管理器
1. 创建、重命名或删除工作区
通过MCP/AI代理:
- “当前的工作区是什么?”
- “列出所有工作区”
- “切换到项目-工作区”
- “创建一个名为个人的新工作区”
- “将工作区dev重命名为development”
- “删除旧工作区”
### AI Agent自然语言操作
- “显示我需要完成的任务”
- “添加任务:完成项目文档”
- “将任务#1标记为已完成”
- 搜索所有包含“文档”的任务
- “删除任务#5”
- “此任务可以分解为更多子任务吗?”
### 实时同步
- 在Web界面或通过AI代理所做的更改会立即同步
- 浏览器自动更新,无需刷新
- 多个浏览器窗口/选项卡实时保持同步
- 工作区开关在所有客户端之间同步
- 适用于同一局域网上的多个设备
## 数据库结构
每个工作区对应于 `workspaces/` 目录:
- `workspaces/default.db` -默认工作区
- `workspaces/project-a.db` -自定义工作区
- `workspaces/personal.db` -个人工作空间
- ...
当前活动工作区保存在 `workspaces/workspace_config.json`.
## 模型提供者架构
该系统使用支持多个LLM后端的模型提供者抽象层:
### 支持的提供商
1. **奥拉玛** (默认)
- 本地LLM支持
- 支持 `no_think` 模式
- 支持流式响应
1. **OpenAI**
- 基于云的LLM支持
- 支持自定义端点(例如Azure OpenAI)
- 支持流式响应
### 添加新提供商
要添加新的模型提供程序,请执行以下操作:
1. 在中创建新的提供程序类 `model_providers/` 实施 `ModelProvider` 接口
1. 实施所需方法: `chat()`, `convert_tools()`
1. 在中添加提供程序创建逻辑 `model_providers/factory.py`
1. 更新 `agent_config.toml` 验证中 `task_agent.py`
看 `model_providers/base.py` 对于接口定义。
## 发展
### 修改前端代码
Edit src/app.tsx then rebuild
node build.js
### 运行测试
Run model provider unit tests
python tests/test_model_providers.py
Run integration tests
python tests/test_provider_integration.py
