# 任务自动执行 - 快速开始指南 ## 🎯 问题与解决方案 ### 问题诊断 您遇到的问题: - ✅ task-manager MCP已读取任务 - ✅ 任务状态已改为processing - ❌ **但Cursor没有收到任务指令,没有开始执行** ### 根本原因 **MCP协议是被动的**: - MCP工具必须被主动调用才会执行 - 即使MCP读取了任务,也只是返回文本结果 - **不会自动触发Cursor执行任何操作** ### 解决方案 我们提供了3种方式让Cursor自动感知并执行任务。 --- ## 🚀 方式1:最简单 - 直接在Cursor中说(推荐) 在Cursor Chat中输入: ``` 请检查并执行所有pending任务 ``` 或者: ``` @task-manager 执行所有pending任务 ``` Cursor会自动: 1. 调用`get_pending_tasks`获取任务 2. 对每个任务调用`execute_task` 3. 根据任务描述生成Python代码 4. 自动更新任务状态为completed **优点**: - ✅ 最简单,无需配置 - ✅ 立即执行 - ✅ 适合临时使用 **缺点**: - ❌ 需要手动触发 --- ## 🤖 方式2:自动化 - Python自动执行脚本(推荐生产环境) ### 2.1 执行一次检查 ```bash python scripts/auto_execute_tasks.py --once ``` ### 2.2 持续监控(每5分钟检查一次) ```bash python scripts/auto_execute_tasks.py --interval 300 ``` ### 2.3 在后台运行 **Windows(PowerShell):** ```powershell Start-Process python -ArgumentList "scripts/auto_execute_tasks.py" -WindowStyle Hidden ``` **Linux/Mac:** ```bash nohup python scripts/auto_execute_tasks.py > logs/auto_execute.log 2>&1 & ``` **优点**: - ✅ 真正的自动化 - ✅ 无需人工干预 - ✅ 适合生产环境 **缺点**: - ❌ 需要运行额外的Python进程 - ❌ 需要安装psycopg2:`pip install psycopg2-binary` --- ## 📋 方式3:任务提示 - Cursor Agent(友好提示) ### 执行一次 ```bash python scripts/cursor_task_agent.py --once ``` ### 守护进程模式 ```bash python scripts/cursor_task_agent.py --daemon --interval 300 ``` 这个脚本会: 1. 从数据库读取pending任务 2. 为每个任务创建Markdown提示文件 3. 文件保存在`.cursor/task_prompts/`目录 4. 用户打开提示文件可以看到任务详情 **优点**: - ✅ 友好的用户界面 - ✅ 任务信息可视化 **缺点**: - ❌ 不是完全自动化 - ❌ 用户仍需手动执行 --- ## 📚 完整文档 详细说明请参阅:[docs/CURSOR_AUTO_TASK_EXECUTION.md](./CURSOR_AUTO_TASK_EXECUTION.md) --- ## ✅ 当前状态 ### 已完成 1. ✅ **分析问题**:MCP与Cursor的互动机制 2. ✅ **创建脚本**: - `scripts/auto_execute_tasks.py` - 自动执行脚本 - `scripts/cursor_task_agent.py` - 任务提示脚本 3. ✅ **完成文档**: - `docs/CURSOR_AUTO_TASK_EXECUTION.md` - 完整指南 - `docs/TASK_EXECUTION_QUICK_START.md` - 快速开始 4. ✅ **测试验证**:成功执行task_id=8的任务 ### 测试结果 **任务8执行情况**: - 任务ID:8 - 任务名称:从数据源中导入科室对照表 - 状态:✅ completed - 生成文件: - `app/core/data_flow/import_dept_mapping.py` - 导入脚本 - `app/core/data_flow/import_dept_config.json` - 配置文件 --- ## 🎉 立即开始 ### 对于当前pending任务 在Cursor Chat中输入: ``` 请检查并执行所有pending任务 ``` ### 设置自动化(推荐) 1. 打开新终端 2. 运行: ```bash python scripts/auto_execute_tasks.py ``` 这个脚本会每5分钟自动检查新任务并执行它们。 --- ## 💡 使用建议 ### 开发环境 - 使用**方式1**(直接在Cursor中说) - 简单快速,适合调试 ### 生产环境 - 使用**方式2**(自动执行脚本) - 在后台运行,完全自动化 - 建议设置为系统服务 ### 团队协作 - 使用**方式3**(任务提示)+ **方式1** - Agent创建任务提示 - 开发者看到提示后在Cursor中执行 --- ## 🔧 故障排查 ### 问题:脚本报错"ModuleNotFoundError" **解决**: ```bash pip install psycopg2-binary ``` ### 问题:无法连接数据库 **检查**: 1. PostgreSQL服务是否运行 2. `mcp-servers/task-manager/config.json` 中的数据库URI是否正确 3. 网络连接是否正常 ### 问题:任务一直是processing状态 **原因**:任务被执行但没有调用`update_task_status`更新状态 **解决**: 1. 手动更新任务状态(在Cursor中): ``` 调用工具: update_task_status 参数: { "task_id": <任务ID>, "status": "completed", "code_name": "<文件名>.py", "code_path": "app/core/data_flow" } ``` 2. 或重置任务为pending(在数据库中): ```sql UPDATE task_list SET status = 'pending' WHERE task_id = <任务ID>; ``` --- ## 📞 获取帮助 如有问题,请查看: - 完整文档:`docs/CURSOR_AUTO_TASK_EXECUTION.md` - 日志文件:`logs/cursor_task_agent.log` 或 `logs/auto_execute.log` - Task Manager README:`mcp-servers/task-manager/README.md` --- **祝您使用愉快!🚀**