feat: 添加任务管理系统目录结构和脚本
This commit is contained in:
Executable
+24
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
# 极简Agent检查脚本
|
||||
AGENT=$1
|
||||
|
||||
echo "$(date) - ${AGENT} 启动监控"
|
||||
|
||||
while true; do
|
||||
# 检查是否有.task文件
|
||||
TASK_FILE=$(ls management/agents/${AGENT}/*.task 2>/dev/null | head -1)
|
||||
|
||||
if [ -n "$TASK_FILE" ]; then
|
||||
echo "$(date) - ${AGENT} 发现新任务: $(basename $TASK_FILE)"
|
||||
|
||||
# 这里Agent自己决定如何处理任务
|
||||
echo "$(date) - ${AGENT} 开始执行任务..."
|
||||
|
||||
# 完成任务后删除.task文件
|
||||
rm "$TASK_FILE"
|
||||
echo "$(date) - ${AGENT} 完成任务"
|
||||
fi
|
||||
|
||||
sleep 30
|
||||
done
|
||||
EOF && chmod +x management/workflow/scripts/agent_check.sh
|
||||
Executable
+13
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
# 极简分配任务脚本
|
||||
TASK_ID=$1
|
||||
AGENT=$2
|
||||
|
||||
# 从pending移动到assigned
|
||||
mv "management/tasks/pending/${TASK_ID}.md" "management/tasks/assigned/${TASK_ID}.md"
|
||||
|
||||
# 创建Agent通知文件
|
||||
cp "management/tasks/assigned/${TASK_ID}.md" "management/agents/${AGENT}/${TASK_ID}.task"
|
||||
|
||||
echo "任务 ${TASK_ID} 分配给 ${AGENT}"
|
||||
EOF && chmod +x management/workflow/scripts/assign_task.sh
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
TASK_ID="TASK-$(date +%Y%m%d%H%M%S)"
|
||||
TASK_FILE="management/tasks/pending/${TASK_ID}.md"
|
||||
|
||||
echo "# 任务ID: $TASK_ID" > "$TASK_FILE"
|
||||
echo "# 状态: pending" >> "$TASK_FILE"
|
||||
echo "# 创建时间: $(date)" >> "$TASK_FILE"
|
||||
echo "" >> "$TASK_FILE"
|
||||
echo "## 任务需求" >> "$TASK_FILE"
|
||||
echo "$1" >> "$TASK_FILE"
|
||||
|
||||
echo "任务创建: $TASK_ID"
|
||||
echo "文件: $TASK_FILE"
|
||||
EOF && chmod +x management/workflow/scripts/create_simple.sh
|
||||
Executable
+21
@@ -0,0 +1,21 @@
|
||||
#!/bin/bash
|
||||
# 极简创建任务脚本
|
||||
TASK_ID="TASK-$(date +%Y%m%d%H%M%S)"
|
||||
TASK_FILE="management/tasks/pending/${TASK_ID}.md"
|
||||
|
||||
cat > "$TASK_FILE" << TASK_EOF
|
||||
# 任务ID: $TASK_ID
|
||||
# 状态: pending
|
||||
# 创建时间: $(date)
|
||||
# 负责人:
|
||||
|
||||
## 任务需求
|
||||
$1
|
||||
|
||||
## 附加说明
|
||||
将军自主决定如何完成任务
|
||||
TASK_EOF
|
||||
|
||||
echo "任务创建: $TASK_ID"
|
||||
echo "文件: $TASK_FILE"
|
||||
EOF && chmod +x management/workflow/scripts/create_task.sh
|
||||
Executable
+60
@@ -0,0 +1,60 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Agent监控启动脚本
|
||||
# 用法: ./start_agent.sh <agent-name>
|
||||
#
|
||||
|
||||
AGENT_NAME=$1
|
||||
|
||||
if [ -z "$AGENT_NAME" ]; then
|
||||
echo "Usage: $0 <agent-name>"
|
||||
echo "Available agents: zhangfei guanyu zhaoyun jiangwei"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=============================================="
|
||||
echo "🚀 启动 $AGENT_NAME Agent监控"
|
||||
echo "=============================================="
|
||||
|
||||
# 创建任务目录
|
||||
mkdir -p .tasks/$AGENT_NAME
|
||||
|
||||
# 启动监控循环
|
||||
echo "📋 监控已启动,开始检查任务..."
|
||||
echo "⏰ 每30秒检查一次任务目录"
|
||||
echo ""
|
||||
|
||||
while true; do
|
||||
# 检查是否有新任务
|
||||
TASK_FILES=$(find .tasks/$AGENT_NAME -name "*.task" 2>/dev/null | sort)
|
||||
|
||||
if [ -n "$TASK_FILES" ]; then
|
||||
for TASK_FILE in $TASK_FILES; do
|
||||
echo "=================================================="
|
||||
echo "📥 收到新任务: $TASK_FILE"
|
||||
echo "=================================================="
|
||||
|
||||
# 读取任务
|
||||
TASK_NAME=$(grep -E "^#.*TASK_NAME:" "$TASK_FILE" | sed 's/.*TASK_NAME: //')
|
||||
TASK_DESC=$(grep -E "^#.*TASK_DESC:" "$TASK_FILE" | sed 's/.*TASK_DESC: //')
|
||||
|
||||
echo "📋 任务名称: $TASK_NAME"
|
||||
echo "📝 任务描述: $TASK_DESC"
|
||||
echo ""
|
||||
|
||||
# 标记为进行中
|
||||
mv "$TASK_FILE" "$TASK_FILE.processing"
|
||||
|
||||
# 执行任务 - 这里需要用户手动执行
|
||||
echo "👉 请手动执行任务内容,完成后:"
|
||||
echo " 1. 完成工作"
|
||||
echo " 2. mv $TASK_FILE.processing $TASK_FILE.done"
|
||||
echo " 3. git add/commit/push"
|
||||
echo " 4. 通知发起者"
|
||||
echo ""
|
||||
done
|
||||
fi
|
||||
|
||||
# 等待30秒
|
||||
sleep 30
|
||||
done
|
||||
Reference in New Issue
Block a user