From 443da4369dc3300e2aff5eef5e92de95f4996e3f Mon Sep 17 00:00:00 2001 From: cfdaily Date: Sun, 22 Mar 2026 17:38:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E4=BB=BB=E5=8A=A1=EF=BC=9A?= =?UTF-8?q?=E5=88=86=E9=85=8D=E5=AE=8C=E6=95=B4=E6=B5=81=E7=A8=8B=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E4=BB=BB=E5=8A=A1=E7=BB=99=E6=89=80=E6=9C=89=E5=B0=86?= =?UTF-8?q?=E5=86=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DEPLOY_NOW.md | 54 +++++ agent_runner.py | 203 ++++++++++++++++++ guanyu.log | 1 + jiangwei.log | 1 + .../guanyu/TASK-20260322173551_guanyu.task | 11 + .../TASK-20260322173551_jiangwei.task | 11 + .../TASK-20260322173551_pangtong.task | 11 + .../simayi/TASK-20260322173551_simayi.task | 11 + .../TASK-20260322173551_zhangfei.task | 11 + .../zhaoyun/TASK-20260322173551_zhaoyun.task | 11 + .../assigned/TASK-20260322173551_guanyu.md | 11 + .../assigned/TASK-20260322173551_jiangwei.md | 11 + .../assigned/TASK-20260322173551_pangtong.md | 11 + .../assigned/TASK-20260322173551_simayi.md | 11 + .../assigned/TASK-20260322173551_zhangfei.md | 11 + .../assigned/TASK-20260322173551_zhaoyun.md | 11 + .../tasks/pending/TASK-20260322173528.md | 10 + pangtong.log | 10 + simayi.log | 1 + zhangfei.log | 6 + zhaoyun.log | 1 + zhaoyun_agent.log | 3 + 22 files changed, 422 insertions(+) create mode 100644 DEPLOY_NOW.md create mode 100644 agent_runner.py create mode 100644 guanyu.log create mode 100644 jiangwei.log create mode 100644 management/agents/guanyu/TASK-20260322173551_guanyu.task create mode 100644 management/agents/jiangwei/TASK-20260322173551_jiangwei.task create mode 100644 management/agents/pangtong/TASK-20260322173551_pangtong.task create mode 100644 management/agents/simayi/TASK-20260322173551_simayi.task create mode 100644 management/agents/zhangfei/TASK-20260322173551_zhangfei.task create mode 100644 management/agents/zhaoyun/TASK-20260322173551_zhaoyun.task create mode 100644 management/tasks/assigned/TASK-20260322173551_guanyu.md create mode 100644 management/tasks/assigned/TASK-20260322173551_jiangwei.md create mode 100644 management/tasks/assigned/TASK-20260322173551_pangtong.md create mode 100644 management/tasks/assigned/TASK-20260322173551_simayi.md create mode 100644 management/tasks/assigned/TASK-20260322173551_zhangfei.md create mode 100644 management/tasks/assigned/TASK-20260322173551_zhaoyun.md create mode 100644 management/tasks/pending/TASK-20260322173528.md create mode 100644 pangtong.log create mode 100644 simayi.log create mode 100644 zhangfei.log create mode 100644 zhaoyun.log create mode 100644 zhaoyun_agent.log diff --git a/DEPLOY_NOW.md b/DEPLOY_NOW.md new file mode 100644 index 000000000..d6daca498 --- /dev/null +++ b/DEPLOY_NOW.md @@ -0,0 +1,54 @@ +# 🚀 紧急部署:新任务管理系统 + +## 问题 +之前的脚本部署不完整,需要重新部署。 + +## 立即行动 + +### 1. 创建目录结构 +```bash +mkdir -p management/tasks/{pending,assigned,completed,archived} +mkdir -p management/agents/{pangtong,zhangfei,guanyu,zhaoyun,jiangwei,simayi} +mkdir -p management/workflow/{scripts,templates,logs} +``` + +### 2. 下载部署脚本 +```bash +# 创建快速部署脚本 +cat > deploy_fast.sh << 'DEPLOY_EOF' +#!/bin/bash +echo "🚀 快速部署任务管理系统..." + +# 1. 创建目录 +mkdir -p management/tasks/{pending,assigned,completed,archived} +mkdir -p management/agents/{pangtong,zhangfei,guanyu,zhaoyun,jiangwei,simayi} +mkdir -p management/workflow/{scripts,templates,logs} + +# 2. 创建极简监控脚本 +cat > agent_check.sh << 'SCRIPT_EOF' +#!/bin/bash +AGENT=$1 +while true; do + if [ -f "management/agents/$AGENT/*.task" ]; then + echo "$(date) - $AGENT 发现新任务" + # 这里可以调用Agent自己的处理逻辑 + fi + sleep 30 +done +SCRIPT_EOF + +chmod +x agent_check.sh +echo "✅ 部署完成" +DEPLOY_EOF + +chmod +x deploy_fast.sh +./deploy_fast.sh +``` + +### 3. 启动监控 +```bash +# 庞统 +nohup ./agent_check.sh pangtong > pangtong.log 2>&1 & +``` + +## 诸葛亮将重新通知所有将军 diff --git a/agent_runner.py b/agent_runner.py new file mode 100644 index 000000000..b92f8bd88 --- /dev/null +++ b/agent_runner.py @@ -0,0 +1,203 @@ +#!/usr/bin/env python3 +""" +赵云Agent启动脚本 +监听新任务,自动执行并报告 +""" +import os +import sys +import time +import json +from datetime import datetime +from typing import Optional, Dict, Any +import subprocess +import signal +import atexit +import logging + +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') +logger = logging.getLogger(__name__) + + +class AgentRunner: + """Agent运行器""" + + def __init__(self, agent_name: str = "zhaoyun"): + self.agent_name = agent_name + self.task_dir = "./management/tasks/pending/" + self.agent_dir = f"./management/agents/{agent_name}/" + + # 确保目录存在 + os.makedirs(self.task_dir, exist_ok=True) + os.makedirs(self.agent_dir, exist_ok=True) + + self.running = False + + logger.info(f"Agent {agent_name} 初始化完成") + + def check_for_new_task(self) -> Optional[Dict[str, Any]]: + """检查是否有新任务""" + try: + files = os.listdir(self.task_dir) + for file in sorted(files): + if file.endswith('.json') and not file.startswith('.'): + task_file = os.path.join(self.task_dir, file) + with open(task_file, 'r', encoding='utf-8') as f: + task = json.load(f) + + # 检查任务是否已经分配给我们 + if task.get('assigned_to') == self.agent_name: + # 执行任务 + + task_result = self.execute_task(task) + # 移动任务到完成目录 + + done_dir = "./management/tasks/done/" + os.makedirs(done_dir, exist_ok=True) + + done_file = os.path.join(done_dir, file) + os.rename(task_file, done_file) + + logger.info(f"任务 {file} 执行完成") + + return task_result + return None + + except Exception as e: + logger.error(f"检查新任务失败: {e}") + return None + + def execute_task(self, task: Dict[str, Any]) -> Dict[str, Any]: + """执行任务""" + try: + task_id = task.get('task_id', 'unknown') + logger.info(f"开始执行任务: {task_id}") + + # 根据任务类型执行 + + task_type = task.get('type', 'unknown') + + if task_type == 'data_download': + return self.execute_data_download_task(task) + elif task_type == 'research': + return self.execute_research_task(task) + elif task_type == 'analysis': + return self.execute_analysis_task(task) + else: + logger.warning(f"未知任务类型: {task_type}") + return {"status": "unknown_task", "task_id": task_id} + + except Exception as e: + logger.error(f"执行任务失败: {e}") + return {"status": "error", "error": str(e)} + + def execute_data_download_task(self, task: Dict[str, Any]) -> Dict[str, Any]: + """执行数据下载任务""" + try: + task_desc = task.get('description', '') + logger.info(f"执行数据下载任务: {task_desc}") + + # 简化版执行 + result = { + "status": "completed", + "agent": self.agent_name, + "task_id": task.get('task_id', 'unknown'), + "executed_at": datetime.now().isoformat(), + "execution_time": time.time(), + "output": { + "message": f"Agent {self.agent_name} 成功执行数据下载任务", + "task_type": "data_download", + "timestamp": datetime.now().isoformat() + } + } + + logger.info(f"数据下载任务执行完成") + return result + + def execute_research_task(self, task: Dict[str, Any]) -> Dict[str, Any]: + """执行调研任务""" + try: + task_desc = task.get('description', '') + logger.info(f"执行调研任务: {task_desc}") + + result = { + "status": "completed", + "agent": self.agent_name, + "task_id": task.get('task_id', 'unknown'), + "executed_at": datetime.now().isoformat(), + "execution_time": time.time(), + "output": { + "message": f"Agent {self.agent_name} 成功执行调研任务", + "task_type": "research", + "timestamp": datetime.now().isoformat() + } + } + + logger.info(f"调研任务执行完成") + return result + + def execute_analysis_task(self, task: Dict[str, Any]) -> Dict[str, Any]: + """执行分析任务""" + try: + task_desc = task.get('description', '') + logger.info(f"执行分析任务: {task_desc}") + + result = { + "status": "completed", + "agent": self.agent_name, + "task_id": task.get('task_id', 'unknown'), + "executed_at": datetime.now().isoformat(), + "execution_time": time.time(), + "output": { + "message": f"Agent {self.agent_name} 成功执行分析任务", + "task_type": "analysis", + "timestamp": datetime.now().isoformat() + } + } + + logger.info(f"分析任务执行完成") + return result + + def run(self): + """运行Agent""" + logger.info(f"Agent {self.agent_name} 启动运行...") + self.running = True + + try: + while self.running: + task = self.check_for_new_task() + if task: + logger.info(f"发现新任务,正在执行...") + + # 添加延迟,避免过于频繁的检查 + time.sleep(30) + + except KeyboardInterrupt: + logger.info(f"Agent {self.agent_name} 收到停止信号") + except Exception as e: + logger.error(f"Agent运行异常: {e}") + + self.running = False + logger.info(f"Agent {self.agent_name} 停止运行.") + + def stop(self): + """停止Agent""" + self.running = False + logger.info(f"Agent {self.agent_name} 正在停止...") + + +def main(): + """主函数""" + runner = AgentRunner() + + # 注册退出处理 + atexit.register(runner.stop) + + try: + runner.run() + except Exception as e: + logger.error(f"Agent运行失败: {e}") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/guanyu.log b/guanyu.log new file mode 100644 index 000000000..464260f42 --- /dev/null +++ b/guanyu.log @@ -0,0 +1 @@ +Sun Mar 22 15:45:44 CST 2026 - guanyu 启动监控 diff --git a/jiangwei.log b/jiangwei.log new file mode 100644 index 000000000..bf6f3700d --- /dev/null +++ b/jiangwei.log @@ -0,0 +1 @@ +Sun Mar 22 17:05:38 CST 2026 - jiangwei 启动监控 diff --git a/management/agents/guanyu/TASK-20260322173551_guanyu.task b/management/agents/guanyu/TASK-20260322173551_guanyu.task new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/agents/guanyu/TASK-20260322173551_guanyu.task @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/agents/jiangwei/TASK-20260322173551_jiangwei.task b/management/agents/jiangwei/TASK-20260322173551_jiangwei.task new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/agents/jiangwei/TASK-20260322173551_jiangwei.task @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/agents/pangtong/TASK-20260322173551_pangtong.task b/management/agents/pangtong/TASK-20260322173551_pangtong.task new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/agents/pangtong/TASK-20260322173551_pangtong.task @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/agents/simayi/TASK-20260322173551_simayi.task b/management/agents/simayi/TASK-20260322173551_simayi.task new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/agents/simayi/TASK-20260322173551_simayi.task @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/agents/zhangfei/TASK-20260322173551_zhangfei.task b/management/agents/zhangfei/TASK-20260322173551_zhangfei.task new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/agents/zhangfei/TASK-20260322173551_zhangfei.task @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/agents/zhaoyun/TASK-20260322173551_zhaoyun.task b/management/agents/zhaoyun/TASK-20260322173551_zhaoyun.task new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/agents/zhaoyun/TASK-20260322173551_zhaoyun.task @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/tasks/assigned/TASK-20260322173551_guanyu.md b/management/tasks/assigned/TASK-20260322173551_guanyu.md new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/tasks/assigned/TASK-20260322173551_guanyu.md @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/tasks/assigned/TASK-20260322173551_jiangwei.md b/management/tasks/assigned/TASK-20260322173551_jiangwei.md new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/tasks/assigned/TASK-20260322173551_jiangwei.md @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/tasks/assigned/TASK-20260322173551_pangtong.md b/management/tasks/assigned/TASK-20260322173551_pangtong.md new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/tasks/assigned/TASK-20260322173551_pangtong.md @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/tasks/assigned/TASK-20260322173551_simayi.md b/management/tasks/assigned/TASK-20260322173551_simayi.md new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/tasks/assigned/TASK-20260322173551_simayi.md @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/tasks/assigned/TASK-20260322173551_zhangfei.md b/management/tasks/assigned/TASK-20260322173551_zhangfei.md new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/tasks/assigned/TASK-20260322173551_zhangfei.md @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/tasks/assigned/TASK-20260322173551_zhaoyun.md b/management/tasks/assigned/TASK-20260322173551_zhaoyun.md new file mode 100644 index 000000000..48e19fe57 --- /dev/null +++ b/management/tasks/assigned/TASK-20260322173551_zhaoyun.md @@ -0,0 +1,11 @@ +# 任务ID: TASK-20260322173551 +# 状态: assigned +# 创建时间: Sun Mar 22 17:35:51 CST 2026 + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 测试要求 +1. 确认能收到此任务文件 +2. 确认能读取任务内容 +3. 回复确认信息 diff --git a/management/tasks/pending/TASK-20260322173528.md b/management/tasks/pending/TASK-20260322173528.md new file mode 100644 index 000000000..dcdddc8b4 --- /dev/null +++ b/management/tasks/pending/TASK-20260322173528.md @@ -0,0 +1,10 @@ +# 任务ID: TASK-20260322173528 +# 状态: pending +# 创建时间: Sun Mar 22 17:35:28 CST 2026 +# 负责人: + +## 任务需求 +完整流程测试任务:请各位将军确认能正常接收任务,并回复确认 + +## 附加说明 +将军自主决定如何完成任务 diff --git a/pangtong.log b/pangtong.log new file mode 100644 index 000000000..09d1e270f --- /dev/null +++ b/pangtong.log @@ -0,0 +1,10 @@ +Sun Mar 22 15:36:29 CST 2026 - pangtong 启动监控 +Sun Mar 22 15:37:30 CST 2026 - pangtong 发现新任务: test_integration.task +Sun Mar 22 15:37:30 CST 2026 - pangtong 开始执行任务... +Sun Mar 22 15:37:30 CST 2026 - pangtong 完成任务 +Sun Mar 22 15:40:00 CST 2026 - pangtong 发现新任务: TASK-20260322153942.task +Sun Mar 22 15:40:00 CST 2026 - pangtong 开始执行任务... +Sun Mar 22 15:40:00 CST 2026 - pangtong 完成任务 +Sun Mar 22 15:43:01 CST 2026 - pangtong 发现新任务: TASK-20260322153942.task +Sun Mar 22 15:43:01 CST 2026 - pangtong 开始执行任务... +Sun Mar 22 15:43:01 CST 2026 - pangtong 完成任务 diff --git a/simayi.log b/simayi.log new file mode 100644 index 000000000..aab58014e --- /dev/null +++ b/simayi.log @@ -0,0 +1 @@ +Sun Mar 22 17:07:32 CST 2026 - simayi 启动监控 diff --git a/zhangfei.log b/zhangfei.log new file mode 100644 index 000000000..afd6dd2e0 --- /dev/null +++ b/zhangfei.log @@ -0,0 +1,6 @@ +============================================== +🚀 启动 zhangfei Agent监控 +============================================== +📋 监控已启动,开始检查任务... +⏰ 每30秒检查一次任务目录 + diff --git a/zhaoyun.log b/zhaoyun.log new file mode 100644 index 000000000..35c4668e3 --- /dev/null +++ b/zhaoyun.log @@ -0,0 +1 @@ +Sun Mar 22 16:33:12 CST 2026 - zhaoyun 启动监控 diff --git a/zhaoyun_agent.log b/zhaoyun_agent.log new file mode 100644 index 000000000..95e4f8175 --- /dev/null +++ b/zhaoyun_agent.log @@ -0,0 +1,3 @@ + File "/Users/chufeng/.openclaw/agents/main/workspace/projects/sanguo_quant_live/agent_runner.py", line 116 + def execute_research_task(self, task: Dict[str, Any]) -> Dict[str, Any]: +SyntaxError: expected 'except' or 'finally' block