# 🚀 极简任务分发工作流 - 端到端使用指南

## 📋 方案概述

**基于 Gitee + 文件系统轮询** 的极简任务分发方案，替代 session_send 直接通知，稳定可靠不丢任务。

### 核心优势
- ✅ **极简单**：纯 Bash 脚本，纯文件操作，无复杂依赖
- ✅ **极可靠**：任务存在 Git 上，永远不会丢
- ✅ **易排查**：所有操作都有日志，出问题一看就懂
- ✅ **分布式**：多节点协作，各拉各的任务

---

## 🏗️ 系统架构

### 目录结构
```
management/
├── tasks/
│   ├── pending/    # 待分配任务
│   ├── assigned/   # 已分配任务
│   └── completed/  # 已完成任务
├── agents/
│   └── pangtong/   # 每个Agent一个目录
│       ├── *.task  # 待执行任务
│       └── *.done  # 已完成标记
└── workflow/
    └── scripts/
        ├── create_simple.sh       # 创建任务
        ├── assign_simple.sh       # 分配任务
        ├── agent_monitor_fixed.sh # Agent监控脚本
        └── agent_check_and_start.sh # 检查并启动
```

---

## 🔄 完整工作流程

### 第一步：Agent 启动监控（只需一次）

```bash
cd /path/to/sanguo_quant_live

# 方法1：直接启动
nohup ./management/workflow/scripts/agent_monitor_fixed.sh pangtong > pangtong_monitor.log 2>&1 &

# 方法2：检查并启动（推荐，如果没运行才启动）
./management/workflow/scripts/agent_check_and_start.sh pangtong
```

**监控做什么：**
- 每30秒检查一次 `management/agents/pangtong/` 目录
- 发现 `.task` 文件 → 读取任务内容 → 记录日志 → 删除 `.task` → 创建 `.done` 标记
- 你根据任务内容执行，完成后提交 Git 即可

---

### 第二步：诸葛亮创建并分配任务

诸葛亮操作：
```bash
# 1. 创建任务
./management/workflow/scripts/create_simple.sh "测试任务：验证全天候轮动策略回测代码可运行性"

# 输出示例：
# 任务创建: TASK-20260323100500
# 文件: management/tasks/pending/TASK-20260323100500.md

# 2. 分配任务给你
./management/workflow/scripts/assign_simple.sh TASK-20260323100500 pangtong

# 3. 提交到Gitee
git add .
git commit -m "test: 创建测试任务给庞统"
git push origin main
```

---

### 第三步：你拉取并执行任务

你操作：
```bash
# 1. 拉取最新代码
git pull origin main

# 2. 监控会自动发现任务，记录到日志
tail -f pangtong_monitor.log  # 可以看到任务发现记录

# 3. 查看任务内容（任务ID看日志）
cat management/tasks/assigned/TASK-XXXX.md

# 4. 按任务需求执行
# ... 你的工作 ...

# 5. 完成后，标记完成并推送
echo "任务完成，结果：xxx" > management/agents/pangtong/TASK-XXXX.done
git add .
git commit -m "done: 完成测试任务 TASK-XXXX"
git push origin main
```

---

### 第四步：诸葛亮确认结果

诸葛亮拉取代码，看到 `.done` 文件，任务完成。

---

## 📝 常用命令

### 检查监控状态
```bash
# 检查你的监控是否运行
ps aux | grep "agent_monitor_fixed.sh pangtong"

# 查看日志
tail -20 pangtong_monitor.log
```

### 重启监控
```bash
# 杀掉旧进程
pkill -f "agent_monitor_fixed.sh pangtong"

# 重新启动
./management/workflow/scripts/agent_check_and_start.sh pangtong
```

### 一键启动所有Agent
```bash
# 项目根目录
./start_all_agents.sh
```

---

## 🔍 故障排除

### Q: 监控没发现任务？
**A:**
1. 检查是否 `git pull` 了
2. 检查任务文件是否存在：`ls management/agents/pangtong/*.task`
3. 检查监控是否在运行：`ps aux | grep pangtong`

### Q: 任务执行出错了怎么办？
**A:**
- 直接在 `.done` 文件里写明错误信息
- 提交Git，诸葛亮会看到并重新分配

### Q: 监控日志太大了？
**A:**
- 日志是追加模式，定期清理就行
- `cat /dev/null > pangtong_monitor.log`

---

## ✅ 本次验证要点

1. **验证监控能否自动发现任务**
2. **验证任务文件流转是否正确**
3. **验证Git同步流程**
4. **验证完成回传流程**

---

**最后更新**：2026-03-23  
**更新人**：诸葛亮  
**状态**：待验证
