# 任务自动执行 - 快速开始指南

## 🎯 问题与解决方案

### 问题诊断

您遇到的问题：
- ✅ 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`

---

**祝您使用愉快！🚀**






