#!/bin/bash # GitHub Issues 学习脚本 v3.0 # 使用 API + 网页解析,学习最新5页 Issues echo "=== GitHub Issues 学习任务开始 ===" echo "时间: $(date '+%Y-%m-%d %H:%M:%S %Z')" echo "" LEARNING_FILE="/root/.openclaw/workspace/memory/github-issues-learning.md" # 使用 GitHub API 获取 Issues API_URL="https://api.github.com/repos/openclaw/openclaw/issues?state=open&per_page=100" echo "📥 通过 GitHub API 获取 Issues..." ISSUES_JSON=$(curl -s "$API_URL" 2>/dev/null) if [ -z "$ISSUES_JSON" ]; then echo "⚠️ API 获取失败,回退到网页解析..." # 回退方案:使用网页解析 PAGES=( "https://github.com/openclaw/openclaw/issues" "https://github.com/openclaw/openclaw/issues?page=2" "https://github.com/openclaw/openclaw/issues?page=3" "https://github.com/openclaw/openclaw/issues?page=4" "https://github.com/openclaw/openclaw/issues?page=5" ) { echo "# GitHub Issues 学习记录 (网页解析模式)" echo "更新时间: $(date '+%Y-%m-%d %H:%M:%S %Z')" echo "" } > "$LEARNING_FILE" for i in "${!PAGES[@]}"; do PAGE_NUM=$((i + 1)) URL="${PAGES[$i]}" echo "--- 第 $PAGE_NUM 页 ---" CONTENT=$(curl -s "$URL" 2>/dev/null) # 提取 Issues ISSUES=$(echo "$CONTENT" | grep -oE 'issues/[0-9]+' | sort -u) COUNT=$(echo "$ISSUES" | wc -l) { echo "## 第 $PAGE_NUM 页: $URL" echo "发现: $COUNT 个 Issues" echo "" } >> "$LEARNING_FILE" echo "📚 第 $PAGE_NUM 页: $COUNT 个 Issues" sleep 1 done else # API 模式 ISSUE_COUNT=$(echo "$ISSUES_JSON" | grep -o '"number"' | wc -l) { echo "# GitHub Issues 学习记录 (API 模式)" echo "更新时间: $(date '+%Y-%m-%d %H:%M:%S %Z')" echo "" echo "## API 获取成功" echo "获取到: $((ISSUE_COUNT / 3)) 个 Issues" echo "" echo "### 最新 Issues" echo "" } >> "$LEARNING_FILE" # 解析并显示最新 Issues echo "$ISSUES_JSON" | grep -E '"number"|"title"|"state"|"labels"' | head -80 >> "$LEARNING_FILE" echo "📚 API 模式: 获取到 $((ISSUE_COUNT / 3)) 个 Issues" fi # 添加学习建议 { echo "" echo "---" echo "" echo "## 学习建议" echo "" echo "1. **优先查看** - 今天新提交的 Issues" echo "2. **重点关注** - Bug 修复、已知问题" echo "3. **跟踪进度** - 有 PR 关联的 Issues" echo "4. **我们的环境** - 检查是否有 Linux/Telegram 相关问题" echo "" echo "### 相关链接" echo "" echo "- [GitHub Issues](https://github.com/openclaw/openclaw/issues)" echo "- [Discussions](https://github.com/openclaw/openclaw/discussions)" echo "- [Pull Requests](https://github.com/openclaw/openclaw/pulls)" echo "" echo "---" echo "学习完成: $(date '+%Y-%m-%d %H:%M:%S %Z')" } >> "$LEARNING_FILE" echo "" echo "✅ 学习任务完成" echo "📄 学习记录: $LEARNING_FILE"