TaskMateAI
AI/MCP TODO任务管理应用
TaskMateAI是一个简单的任务管理应用程序,可以使AI自主管理和执行任务,并可以通过MCP(模型上下文协议)进行操作。
README 可在此处获取
特征
- 通过 MCP 创建和管理任务
- 子任务支持
- 基于优先级的任务处理
- 任务进度管理及汇报功能
- 添加注释功能
- 通过 JSON 文件进行数据持久化
- 通过代理ID管理多个AI的任务
- 按项目组织任务
安装
先决条件
- Python 3.12 或更高版本
- uv(Python 包管理器)
- WSL(适用于 Linux 的 Windows 子系统)*适用于 Windows 环境
安装说明
- 克隆或下载存储库:
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 配置
与 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": ""
}
}
}
}
可用的 MCP 工具
TaskMateAI 提供以下 MCP 工具:
- get_tasks - 获取任务列表(可以按状态和优先级进行过滤)
- get_next_task - 获取下一个高优先级任务(自动更新为进行中状态)
- create_task - 创建新任务(带有子任务)
- update_progress - 更新任务的进度
- complete_task - 将任务标记为完成
- **add_subtask——**向现有任务添加子任务
- update_subtask - 更新子任务的状态
- add_note - 为任务添加注释
- list_agents - 获取可用代理 ID 列表
- list_projects - 获取与特定代理相关的项目列表
数据格式
使用以下结构来管理任务:
{
"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のタスクファイル
应用程序运行时,每个任务文件都会自动生成和更新。
管理代理和项目
要管理特定代理或项目的任务,您可以:
- 在您的 MCP 设置中指定默认代理:通过在
defaultArguments
中指定agent_id
,它将在所有请求中自动使用。 - 在 AI 对话中指定项目:您可以在对话中指定项目,例如“向项目 X 添加新任务”。
- AI直接指定:您可以在请求参数中包含
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 # テスト用フィクスチャの定義
├── 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
:测试期间显示标准输出
待修复项目
- 实现任务模板功能
- 构建任务之间的依赖管理系统
- 增加日程安排功能
- 引入基于标签的任务分类系统
- 实施里程碑管理功能
执照
麻省理工学院
作者
全新 AI T 恤