#!/bin/bash # 管理员后台面板脚本 BOLD="\\033[1m" RESET="\\033[0m" GREEN="\\033[32m" BLUE="\\033[34m" YELLOW="\\033[33m" echo "==========================================" echo "${BOLD}📊 @ktfund_bot 管理员后台${RESET}" echo "==========================================" echo "" # 1. 统计信息 echo "${BOLD}${BLUE}📈 统计信息${RESET}" echo "----------------------------------------" # 用户统计 user_count=$(grep -oE "用户 [0-9]+" logs/integrated_bot_detailed.log 2>/dev/null | grep -oE "[0-9]+" | sort -u | wc -l) echo "👥 总访问用户数: ${GREEN}${user_count}${RESET}" # 搜索次数 search_count=$(grep -c "镜像.*已转发" logs/*.log 2>/dev/null) echo "🔍 搜索执行次数: ${search_count}" # AI对话次数 ai_count=$(grep -c "AI对话" logs/*.log 2>/dev/null) echo "💬 AI对话次数: ${ai_count}" # 运行时长 bot_pid=$(pgrep -f "integrated_bot_ai.py" | head -1) if [ -n "$bot_pid" ]; then uptime=$(ps -p $bot_pid -o etime= | tr -d ) echo "⏱ 运行时长: ${GREEN}${uptime}${RESET}" else echo "❌ 机器人未运行" fi echo "" # 2. 用户列表 echo "${BOLD}${BLUE}👥 访问用户列表 (Top 10)${RESET}" echo "----------------------------------------" grep -oE "用户 [0-9]+" logs/integrated_bot_detailed.log 2>/dev/null | \ grep -oE "[0-9]+" | sort | uniq -c | sort -rn | head -10 | \ awk {printf %2d. 用户 %s - %d次交互\n, NR, , } echo "" # 3. 最近活动 echo "${BOLD}${BLUE}📋 最近用户活动 (最后10条)${RESET}" echo "----------------------------------------" grep "用户 [0-9]" logs/integrated_bot_detailed.log 2>/dev/null | tail -10 | \ sed "s/^/ /" echo "" # 4. 缓存统计 echo "${BOLD}${BLUE}💾 缓存统计${RESET}" echo "----------------------------------------" if [ -f "/home/atai/bot_data/cache.db" ]; then cache_count=$(sqlite3 /home/atai/bot_data/cache.db "SELECT COUNT(*) FROM search_cache;" 2>/dev/null) cache_size=$(du -h /home/atai/bot_data/cache.db | cut -f1) echo "📦 缓存记录数: ${cache_count}" echo "💿 数据库大小: ${cache_size}" echo "" echo "🔝 热门搜索 (Top 5):" sqlite3 /home/atai/bot_data/cache.db " SELECT command, keyword, access_count FROM search_cache ORDER BY access_count DESC LIMIT 5; " 2>/dev/null | awk -F"|" {printf • %s %s (%d次)\n, , , } else echo "❌ 缓存数据库不存在" fi echo "" echo "==========================================" echo "💡 命令说明:" echo " ./admin_panel.sh - 查看完整面板" echo " ./admin_panel.sh users - 查看所有用户" echo " ./admin_panel.sh logs - 查看实时日志" echo "==========================================" # 交互命令 if [ "$1" == "users" ]; then echo "" echo "${BOLD}完整用户列表:${RESET}" grep -oE "用户 [0-9]+" logs/integrated_bot_detailed.log 2>/dev/null | \ grep -oE "[0-9]+" | sort | uniq -c | sort -rn | \ awk {printf %3d. 用户 %-12s - %d次交互\n, NR, , } elif [ "$1" == "logs" ]; then echo "" echo "${BOLD}实时日志监控 (Ctrl+C 退出):${RESET}" tail -f logs/integrated_bot_detailed.log 2>/dev/null | grep --line-buffered "用户" fi