TaskMateAI是一款简单的任务管理应用程序,通过MCP(模型上下文协议)实现AI自主地管理和执行任务。
git clone https://github.com/YourUsername/TaskMateAI.git
cd TaskMateAI
uv install -r requirements.txt
在WSL环境中,可以这样运行应用程序:
cd /path/to/TaskMateAI/src/TaskMateAI
uv run TaskMateAI
以下是用于MCP的配置示例:
{
"mcpServers": {
"TodoApplication": {
"command": "uv",
"args": [
"--directory",
"/绝对路径/TaskMateAI",
"run",
"TaskMateAI"
],
"env": {},
"alwaysAllow": [
"get_tasks", "get_next_task", "create_task", "update_progress",
"complete_task", "add_subtask", "update_subtask", "add_note",
"list_agents", "list_projects"
],
"defaultArguments": {
"agent_id": "agent_123",
"project_name": ""
}
}
}
}
{
"mcpServers": {
"TodoApplication": {
"command": "wsl.exe",
"args": [
"-e",
"bash",
"-c",
"cd /绝对路径/TaskMateAI && /home/用户/.local/bin/uv run TaskMateAI"
],
"env": {},
"alwaysAllow": [
"get_tasks", "get_next_task", "create_task", "update_progress",
"complete_task", "add_subtask", "update_subtask", "add_note",
"list_agents", "list_projects"
],
"defaultArguments": {
"agent_id": "agent_123",
"project_name": ""
}
}
}
}
TaskMateAI提供了以下MCP工具:
任务按照如下结构进行管理:
{
"id": 1,
"title": "任务的标题",
"description": "任务的详细描述",
"priority": 3,
"status": "todo", // "todo", "in_progress", "done" 中的一个
"progress": 0, // 进度百分比,0-100
"subtasks": [
{
"id": 1,
"description": "子任务的描述",
"status": "todo" // "todo", "in_progress", "done" 中的一个
}
],
"notes": [
{
"id": 1,
"content": "笔记的内容",
"timestamp": "2025-02-28T09:22:53.532808"
}
]
}
任务数据以层次结构保存:
output/
├── tasks.json # 默认的任务文件
├── agent1/
│ ├── tasks.json # agent1的任务文件
│ ├── project1/
│ │ └── tasks.json # agent1的project1的任务文件
│ └── project2/
│ └── tasks.json # agent1的project2的任务文件
└── agent2/
├── tasks.json # agent2的任务文件
└── projectA/
└── tasks.json # agent2的projectA的任务文件
每个任务文件会在应用程序运行时自动生成和更新。
要管理特定代理或项目的任务,可以采用以下方式:
defaultArguments中的agent_id指定,默认应用于所有请求。agent_id和project_name。TaskMateAI/
├── src/
│ └── TaskMateAI/
│ ├── __init__.py # 包初始化
│ └── __main__.py # 主应用程序代码
├── output/ # 数据保存目录
│ └── tasks.json # 任务数据 (自动生成)
├── tests/ # 测试代码
│ ├── unit/ # 单元测试
│ └── integration/ # 集成测试
├── requirements.txt # 依赖包列表
└── README.md # 此文件
为了确保功能的可靠性,TaskMateAI提供了全面的测试套件。
测试按照以下目录结构进行管理:
tests/
├── __init__.py # 测试包的初始化
├── conftest.py # 测试用fixture定义
├── unit/ # 单元测试
│ ├── __init__.py
│ ├── test_task_utils.py # 任务相关实用程序的测试
│ ├── test_mcp_tools.py # MCP工具功能的测试
│ └── test_agent_projects.py # 代理和项目管理的测试
└── integration/ # 集成测试
└── __init__.py
单元测试:确认应用程序各个组件正确工作
test_task_utils.py: 测试任务的读写、ID生成等基础功能test_mcp_tools.py: 测试MCP工具的功能(如任务的创建、更新、完成等)test_agent_projects.py: 测试代理ID和项目管理功能集成测试:确认多个组件协同工作正确(未来扩展)
可以使用以下命令执行测试:
cd /path/to/TaskMateAI
uv run python -m pytest -xvs
uv run python -m pytest -xvs tests/unit/test_task_utils.py
uv run python -m pytest -xvs tests/unit/test_mcp_tools.py::TestMCPTools
uv run python -m pytest -xvs tests/unit/test_task_utils.py::TestTaskUtils::test_read_tasks_with_data
测试参数说明:
-x: 在发生错误时停止测试-v: 显示详细输出-s: 显示测试过程中的标准输出MIT