Files
msh-system/msh_single_uniapp/.fixes/scripts/auto-start-next.sh
scottpan 4be53dcd1b feat: 集成 KieAI 服务,移除 models-integration 子项目
- 添加 Gemini 2.5 Flash 对话接口(流式+非流式)
- 添加 NanoBanana 图像生成/编辑接口
- 添加 Sora2 视频生成接口(文生视频、图生视频、去水印)
- 移除 models-integration 子项目(功能已迁移至主后端)
- 新增测试文档和 Playwright E2E 配置
- 更新前端页面和 API 接口
- 更新后端配置和日志处理
2026-03-03 15:33:50 +08:00

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