项目简介
OmniTaskAgent 是一个基于 LangGraph 构建的多模型任务管理系统,旨在帮助用户连接多种任务管理系统,并通过智能体(Agent)协助用户选择和使用最佳的任务管理方案。它实现了 MCP 服务器功能,允许支持 MCP 协议的 LLM 客户端(如某些编辑器或AI应用)与其交互,获取任务管理能力。
主要功能点
- 任务管理: 支持创建、列出、更新、删除任务,并处理任务状态和依赖关系。
- 任务分解与分析: 能够将复杂任务分解为子任务,评估复杂度,并自动解析需求文档。
- 多模型兼容: 不限于特定API提供商,可与OpenAI、Claude等多种大型语言模型配合工作。
- 编辑器集成: 通过实现 MCP 协议,可无缝集成到支持 MCP 的编辑器中,提供流畅的开发体验。
- 智能工作流: 基于 LangGraph 的 ReAct 模式实现智能化的任务管理流程。
- 多系统集成: 可连接到外部专业的任务管理系统,扩展能力。
安装步骤
- 确保你的系统中已安装 Python 3.8+ 和 Node.js。
- 克隆仓库到本地。
- 安装 Python 依赖:
# 使用 uv (推荐) uv pip install -e . # 或者使用 pip pip install -e . - 安装 Node.js 依赖(用于启动作为MCP客户端的子任务管理系统,如mcp-shrimp-task-manager):
npm install - 创建 '.env' 文件在项目根目录,配置API密钥等:
# 必须项: API 密钥 (至少配置一个) OPENAI_API_KEY=your_openai_api_key_here # 或 ANTHROPIC_API_KEY=your_anthropic_api_key_here # 可选项: 模型配置 LLM_MODEL=gpt-4o # 默认模型 TEMPERATURE=0.2 # 创造性参数 MAX_TOKENS=4000 # 最大 token 数
服务器配置(供MCP客户端使用)
OmniTaskAgent 可以作为 MCP 服务器运行,供支持 MCP 协议的客户端(如某些编辑器)连接。客户端需要以下配置信息来启动并连接到服务器:
{ "mcpServers": { "task-master-agent": { "type": "stdio", "command": "/path/to/python", "args": [ "/path/to/OmniTaskAgent/run_mcp.py" ], "env": { "OPENAI_API_KEY": "your-key-here", "PROJECT_ROOT": "/path/to/OmniTaskAgent" // 可以在此覆盖或添加其他环境变量,例如 LLM_MODEL 等 } } } }
- 'mcpServers': 这是 MCP 客户端配置中用于定义 MCP 服务器连接的键。
- 'task-master-agent': 给这个服务器连接起一个唯一的名称,客户端将使用此名称引用此服务器。
- 'type': 指定传输协议类型,'"stdio"' 表示使用标准输入输出进行通信。
- 'command': 指定用于启动 MCP 服务器进程的可执行程序路径,通常是 Python 解释器。
- 'args': 传递给 'command' 的参数列表。第一个参数通常是 'run_mcp.py' 脚本的绝对路径。
- 'env': 为启动的 MCP 服务器进程设置环境变量。至少需要包含 'OPENAI_API_KEY' (或 'ANTHROPIC_API_KEY') 和 'PROJECT_ROOT' (项目根目录路径,确保能找到 'node_modules' 等)。
将上述配置添加到你的 MCP 客户端(如编辑器)的相应设置中,客户端即可在需要时启动并连接到 OmniTaskAgent MCP 服务器。
基本使用方法
- 启动 MCP 服务器: 在项目根目录运行 'python run_mcp.py'。这将启动一个使用 STDIO 传输协议的 MCP 服务器进程。
- 连接 MCP 客户端: 在支持 MCP 协议的编辑器或客户端中,使用上文提供的配置信息连接到正在运行的 MCP 服务器。
- 通过客户端交互: 一旦连接成功,你的 MCP 客户端将能发现 OmniTaskAgent 服务器提供的工具(通常会暴露一个名为 "Task_Master_Agent" 的工具)。你可以通过客户端界面或功能(例如,通过 LLM 与之对话)调用该工具,并向其发送任务管理相关的指令(如 "Create task: Write documentation" 或 "List all tasks")。服务器将处理这些请求,执行相应的任务管理操作,并将结果返回给客户端。
信息
分类
生产力应用