64 lines
2.3 KiB
Bash
64 lines
2.3 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
# 教主 bot 创建 GitHub Issue
|
|||
|
|
|
|||
|
|
OPENCLAW=/opt/homebrew/bin/openclaw
|
|||
|
|
GH=/opt/homebrew/bin/gh
|
|||
|
|
REPO="fangxingyu123/ai-team-tasks"
|
|||
|
|
|
|||
|
|
MAX_RETRIES=15
|
|||
|
|
WAIT_AFTER_SEND=60
|
|||
|
|
|
|||
|
|
check_success() {
|
|||
|
|
$GH issue list -R "$REPO" --state all --json number,title --jq '.[] | select(.title | contains("教学验证")) | .number' 2>/dev/null | head -1
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo " 🦞 教学循环开始 [$(date '+%H:%M:%S')]"
|
|||
|
|
echo "=========================================="
|
|||
|
|
|
|||
|
|
for i in $(seq 1 $MAX_RETRIES); do
|
|||
|
|
echo ""
|
|||
|
|
echo ">>> 第 ${i}/${MAX_RETRIES} 次 [$(date '+%H:%M:%S')]"
|
|||
|
|
|
|||
|
|
EXISTING=$(check_success)
|
|||
|
|
if [ -n "$EXISTING" ]; then
|
|||
|
|
echo "✅ Bot 成功创建了 Issue #${EXISTING}!"
|
|||
|
|
echo "清理..."
|
|||
|
|
$GH issue close "$EXISTING" -R "$REPO" 2>/dev/null
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo " ✅ 教学成功!"
|
|||
|
|
echo "=========================================="
|
|||
|
|
exit 0
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "发送教学消息(独立 session,无历史干扰)..."
|
|||
|
|
# 用 --session-id 创建全新 session,避免旧上下文干扰
|
|||
|
|
RESULT=$($OPENCLAW agent --agent main --session-id "teach-$(date +%s)" --timeout 120 \
|
|||
|
|
--message '你需要立刻执行一条 shell 命令。使用 exec 工具执行以下命令:
|
|||
|
|
|
|||
|
|
gh issue create -R fangxingyu123/ai-team-tasks --title "教学验证:创建Issue测试" --body "教学验证" --label "status:pending" --label "role:qianwen-worker"
|
|||
|
|
|
|||
|
|
只需要执行这条命令,不需要做其他事情。不要用 message 工具。直接用 exec 工具执行上面的 gh 命令。' 2>&1)
|
|||
|
|
|
|||
|
|
echo "Bot 返回: $(echo "$RESULT" | grep -v "Config warn" | grep -v "^\[" | grep -v "^│" | grep -v "^├" | grep -v "^◇" | grep -v "^$" | head -5)"
|
|||
|
|
|
|||
|
|
echo "等 ${WAIT_AFTER_SEND}s 检查..."
|
|||
|
|
sleep $WAIT_AFTER_SEND
|
|||
|
|
|
|||
|
|
EXISTING=$(check_success)
|
|||
|
|
if [ -n "$EXISTING" ]; then
|
|||
|
|
echo "✅ Bot 成功创建了 Issue #${EXISTING}!"
|
|||
|
|
echo "清理..."
|
|||
|
|
$GH issue close "$EXISTING" -R "$REPO" 2>/dev/null
|
|||
|
|
echo "=========================================="
|
|||
|
|
echo " ✅ 教学成功!"
|
|||
|
|
echo "=========================================="
|
|||
|
|
exit 0
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "❌ 还没创建,继续..."
|
|||
|
|
done
|
|||
|
|
|
|||
|
|
echo "⚠️ 达到最大重试次数"
|
|||
|
|
exit 1
|