99 lines
2.9 KiB
Bash
Executable File
99 lines
2.9 KiB
Bash
Executable File
#!/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"
|