Files
my-project/config/openclaw/scripts/learn-github-issues.sh
T

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"