每日备份 2026-06-10 12:57:13

This commit is contained in:
root-backup committed 2026-06-10 12:57:14 +08:00
1 parent fda2ccb8c2
commit 3d2e638c6a
244 files changed
+58890 -3

No files matched your search

@@ -0,0 +1,134 @@
#!/bin/bash
# SEO进化猎手完整流程 v1.0
# 扫描 → 评估 → 安装 → 沉淀
PROGRESS_FILE="/root/.openclaw/workspace/seo/evolution-hunter-progress.md"
CANDIDATES="/root/.openclaw/workspace/seo/evolution-candidates.txt"
EVAL_LOG="/root/.openclaw/workspace/seo/evolution-log.md"
LOG_FILE="/root/.openclaw/logs/seo-evolution.log"
PROXY="http://192.168.0.66:7890"
TIMEOUT=20
log() { echo "[$(date '+%H:%M:%S') $1" | tee -a "$LOG_FILE" 2>/dev/null; }
# 资源检查
check_resource() {
bash /root/.openclaw/scripts/resource-guard.sh > /dev/null 2>&1
}
# GitHub搜索
github_search() {
local query="$1"
local url="https://api.github.com/search/repositories?q=$(echo "$query" | python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.stdin.read().strip()))&sort=stars&order=desc&per_page=10"
curl -s --max-time $TIMEOUT --proxy "$PROXY" \
-H "Accept: application/vnd.github.v3+json" \
-H "User-Agent: Mozilla/5.0" "$url" 2>/dev/null | python3 -c "
import json,sys
try:
data=json.load(sys.stdin)
for item in data.get('items',[])[:5]:
stars=item.get('stargazers_count',0)
lang=item.get('language','N/A') or 'N/A'
desc=str(item.get('description','N/A'))[:80]
url=item.get('html_url','N/A')
name=item.get('full_name','')
print(f'NAME:{name}')
print(f'STARS:{stars}')
print(f'DESC:{desc}')
print(f'LANG:{lang}')
print(f'URL:{url}')
print('---')
except: pass
" 2>/dev/null
}
# 评估项目
evaluate_project() {
local name="$1"
local stars="$2"
local desc="$3"
local url="$4"
# 高价值关键词
case "$desc $name" in
*seo*|*search*|*keyword*|*ranking*)
echo "SEO直接相关"
return 2
;;
*scraper*|*crawler*|*browser*|*automation*)
echo "自动化工具"
return 2
;;
*playwright*|*selenium*|*puppeteer*)
echo "浏览器自动化"
return 2
;;
*agent*|*tool*|*cli*|*api*)
echo "Agent/工具"
return 1
;;
*)
return 0
;;
esac
}
# 主流程
main() {
log "========== SEO进化猎手启动 =========="
check_resource || { log "资源不足"; exit 0; }
mkdir -p "$(dirname "$CANDIDATES")"
> "$CANDIDATES"
# 扫描
log "扫描SEO相关项目..."
for query in "SEO tool python" "web scraper python" "keyword research" "content generator python"; do
github_search "$query" >> "$EVAL_LOG"
done
# 提取候选
log "评估候选项目..."
while IFS=: read -r field value; do
case $field in
NAME*) name="$value" ;;
STARS*) stars="$value" ;;
DESC*) desc="$value" ;;
URL*) url="$value" ;;
---)
if [ -n "$name" ]; then
result=$(evaluate_project "$name" "$stars" "$desc" "$url")
priority=$?
if [ $priority -ge 1 ]; then
echo "【$result】⭐$stars $name" >> "$CANDIDATES"
echo " $desc" >> "$CANDIDATES"
echo " $url" >> "$CANDIDATES"
echo "" >> "$CANDIDATES"
fi
fi
name=""
;;
esac
done < "$EVAL_LOG"
# 统计
count=$(wc -l < "$CANDIDATES" 2>/dev/null || echo 0)
log "发现 $count 个候选"
# 自动安装高优先级
log "处理候选安装..."
while IFS= read -r line; do
echo "$line"
done < "$CANDIDATES"
# 记录
echo "## $(date '+%Y-%m-%d %H:%M'" >> "$PROGRESS_FILE"
echo "" >> "$PROGRESS_FILE"
cat "$CANDIDATES" >> "$PROGRESS_FILE"
echo "" >> "$PROGRESS_FILE"
log "========== 进化猎手完成 =========="
}
main