#!/bin/bash # SEO进化知识吸收 v1.0 # 发现项目 → 分析 → 提取知识 → 优化自己的系统 CANDIDATES="/root/.openclaw/workspace/seo/evolution-candidates.md" KNOWLEDGE="/root/.openclaw/workspace/seo/knowledge-absorbed.md" LOG="/root/.openclaw/logs/evolution-absorb.log" log() { echo "[$(date '%H:%M:%S')] $1" | tee -a "$LOG"; } # 分析项目并提取知识 analyze_project() { local url="$1" local name="$2" local proxy="http://192.168.0.31:7890" local token="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" log "分析: $name" # 获取项目详情(带认证) local content=$(curl -s --proxy "$proxy" --max-time 20 \ -H "Authorization: token $token" \ "https://api.github.com/repos/$name" 2>/dev/null) [ -z "$content" ] && return # 提取有用信息 local stars=$(echo "$content" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('stargazers_count','0')" 2>/dev/null || echo "0") local desc=$(echo "$content" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('description','')" 2>/dev/null || echo "") local lang=$(echo "$content" | python3 -c "import sys,json; d=json.load(sys.stdin); print(d.get('language','')" 2>/dev/null || echo "") log "⭐$stars $name ($lang)" log " $desc" # 提取技术要点 case "$desc" in *SEO*) log " → SEO相关知识" echo "## SEO知识: $name" >> "$KNOWLEDGE" echo "⭐$stars $desc" >> "$KNOWLEDGE" echo "链接: https://github.com/$name" >> "$KNOWLEDGE" echo "" >> "$KNOWLEDGE" ;; *keyword*|*crawl*|*scrap*) log " → 爬虫技术" echo "## 爬虫技术: $name" >> "$KNOWLEDGE" echo "⭐$stars $desc" >> "$KNOWLEDGE" echo "" >> "$KNOWLEDGE" ;; esac } # 主流程 log "=== 知识吸收开始 ===" # 读取候选项目并分析 if [ -f "$CANDIDATES" ]; then while IFS= read -r line; do [[ "$line" =~ github.com/([^/]+/[^\s]+) ]] && analyze_project "${BASH_REMATCH[1]}" "${BASH_REMATCH[1]}" done < "$CANDIDATES" fi log "=== 知识吸收完成 ==="