Skip to main content
Glama

TaskMateAI

AI/MCP TODO任务管理应用

TaskMateAI是一个简单的任务管理应用程序,可以使AI自主管理和执行任务,并可以通过MCP(模型上下文协议)进行操作。

README 可在此处获取

Related MCP server: Personal Task Manager MCP

特征

  • 通过 MCP 创建和管理任务

  • 子任务支持

  • 基于优先级的任务处理

  • 任务进度管理及汇报功能

  • 添加注释功能

  • 通过 JSON 文件进行数据持久化

  • 通过代理ID管理多个AI的任务

  • 按项目组织任务

安装

先决条件

  • Python 3.12 或更高版本

  • uv(Python 包管理器)

  • WSL(适用于 Linux 的 Windows 子系统)*适用于 Windows 环境

安装说明

  1. 克隆或下载存储库:

git clone https://github.com/YourUsername/TaskMateAI.git
cd TaskMateAI
  1. 安装所需的软件包:

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 工具:

  1. get_tasks - 获取任务列表(可以按状态和优先级进行过滤)

  2. get_next_task - 获取下一个高优先级任务(自动更新为进行中状态)

  3. create_task - 创建新任务(带有子任务)

  4. update_progress - 更新任务的进度

  5. complete_task - 将任务标记为完成

  6. **add_subtask——**向现有任务添加子任务

  7. update_subtask - 更新子任务的状态

  8. add_note - 为任务添加注释

  9. list_agents - 获取可用代理 ID 列表

  10. 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のタスクファイル

应用程序运行时,每个任务文件都会自动生成和更新。

管理代理和项目

要管理特定代理或项目的任务,您可以:

  1. 在您的 MCP 设置中指定默认代理:通过在defaultArguments中指定agent_id ,它将在所有请求中自动使用。

  2. 在 AI 对话中指定项目:您可以在对话中指定项目,例如“向项目 X 添加新任务”。

  3. AI直接指定:您可以在请求参数中包含agent_idproject_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

测试类型

  1. 单元测试:确保应用程序的各个组件正常运行

    • test_task_utils.py :测试读写任务、生成ID等基本功能。

    • test_mcp_tools.py :测试 MCP 工具的功能(创建、更新、完成任务等)

    • test_agent_projects.py :测试代理ID和项目管理功能

  2. 集成测试:确保多个组件正确协同工作(计划未来扩展)

如何运行测试

您可以使用以下命令运行测试:

  1. 运行所有测试:

cd /path/to/TaskMateAI
uv run python -m pytest -xvs
  1. 运行特定的测试文件:

uv run python -m pytest -xvs tests/unit/test_task_utils.py
  1. 运行特定的测试类:

uv run python -m pytest -xvs tests/unit/test_mcp_tools.py::TestMCPTools
  1. 运行特定的测试功能:

uv run python -m pytest -xvs tests/unit/test_task_utils.py::TestTaskUtils::test_read_tasks_with_data

测试参数解释:

  • -x :发生错误时停止测试

  • -v :显示详细输出

  • -s :测试期间显示标准输出

待修复项目

  • 实现任务模板功能

  • 构建任务之间的依赖管理系统

  • 增加日程安排功能

  • 引入基于标签的任务分类系统

  • 实施里程碑管理功能

执照

麻省理工学院

作者

全新 AI T 恤

Related MCP Connectors

Related MCP Servers