- 添加 Gemini 2.5 Flash 对话接口(流式+非流式) - 添加 NanoBanana 图像生成/编辑接口 - 添加 Sora2 视频生成接口(文生视频、图生视频、去水印) - 移除 models-integration 子项目(功能已迁移至主后端) - 新增测试文档和 Playwright E2E 配置 - 更新前端页面和 API 接口 - 更新后端配置和日志处理
67 lines
1.8 KiB
Bash
Executable File
67 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# MSH 自动启动下一个修复任务脚本
|
|
# 由 Cron 每 10 分钟调用
|
|
|
|
FIX_DIR="/Users/apple/scott2026/msh-system/msh_single_uniapp/.fixes"
|
|
LOG_FILE="$FIX_DIR/logs/auto-start.log"
|
|
|
|
# 创建日志目录
|
|
mkdir -p "$FIX_DIR/logs"
|
|
|
|
# 记录执行时间
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 检查待处理任务..." >> "$LOG_FILE"
|
|
|
|
cd "$FIX_DIR" || exit 1
|
|
|
|
# 检查是否有进行中的任务
|
|
IN_PROGRESS_COUNT=$(ls -1 in-progress/ 2>/dev/null | wc -l)
|
|
|
|
if [ "$IN_PROGRESS_COUNT" -gt 0 ]; then
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 已有进行中的任务 ($IN_PROGRESS_COUNT 个),跳过" >> "$LOG_FILE"
|
|
echo "进行中的任务:"
|
|
ls -1 in-progress/
|
|
exit 0
|
|
fi
|
|
|
|
# 获取优先级最高的待处理任务
|
|
# 按 FIX-XXX 编号排序,编号小的优先
|
|
NEXT_FIX=$(ls -1 backlog/*.md 2>/dev/null | sort | head -1)
|
|
|
|
if [ -z "$NEXT_FIX" ]; then
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 没有待处理的任务" >> "$LOG_FILE"
|
|
exit 0
|
|
fi
|
|
|
|
# 提取 FIX ID
|
|
FIX_ID=$(basename "$NEXT_FIX" .md | cut -d'-' -f1-2)
|
|
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] 准备启动任务: $FIX_ID" >> "$LOG_FILE"
|
|
|
|
# 创建任务工作目录
|
|
mkdir -p "in-progress/$FIX_ID"
|
|
|
|
# 复制任务文件
|
|
cp "$NEXT_FIX" "in-progress/$FIX_ID/README.md"
|
|
|
|
# 更新状态
|
|
sed -i '' 's/状态.*$/状态: 进行中/' "in-progress/$FIX_ID/README.md"
|
|
sed -i '' "/实施步骤/,/## 完成记录/{
|
|
s/- \[ \]/- [x]/g
|
|
}" "in-progress/$FIX_ID/README.md"
|
|
|
|
# 从 backlog 移除
|
|
rm "$NEXT_FIX"
|
|
|
|
echo "[$(date '+%Y-%m-%d %H:%M:%S')] ✅ 任务 $FIX_ID 已自动启动" >> "$LOG_FILE"
|
|
echo ""
|
|
echo "🚀 自动启动任务: $FIX_ID"
|
|
echo "📁 工作目录: in-progress/$FIX_ID/"
|
|
echo ""
|
|
|
|
# 发送通知(如果配置了)
|
|
if command -v openclaw >/dev/null 2>&1; then
|
|
openclaw message send "MSH 自动启动了修复任务: $FIX_ID" 2>/dev/null || true
|
|
fi
|
|
|
|
exit 0
|