chore: initial commit

This commit is contained in:
你的用户名
2025-11-01 21:58:03 +08:00
commit a05a7dd40e
65 changed files with 16590 additions and 0 deletions

243
core/setup.sh Executable file
View File

@@ -0,0 +1,243 @@
#!/bin/bash
#
# Funstat MCP 自动部署脚本
# 用途:帮助新用户快速部署和配置 Funstat MCP 工具
#
set -e # 遇到错误立即退出
echo "=========================================="
echo "🚀 Funstat MCP 工具 - 自动部署向导"
echo "=========================================="
echo ""
# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 检查 Python
echo "📋 检查前置要求..."
echo ""
if ! command -v python3 &> /dev/null; then
echo -e "${RED}❌ 未找到 Python 3${NC}"
echo "请先安装 Python 3.10 或更高版本"
echo "访问https://www.python.org/downloads/"
exit 1
fi
PYTHON_VERSION=$(python3 --version | cut -d' ' -f2)
echo -e "${GREEN}✅ Python 版本: $PYTHON_VERSION${NC}"
# 检查 pip
if ! command -v pip3 &> /dev/null; then
echo -e "${RED}❌ 未找到 pip3${NC}"
exit 1
fi
echo -e "${GREEN}✅ pip3 已安装${NC}"
echo ""
# 安装依赖
echo "=========================================="
echo "📦 安装 Python 依赖包"
echo "=========================================="
echo ""
if [ ! -f "requirements.txt" ]; then
echo -e "${RED}❌ 未找到 requirements.txt${NC}"
echo "请确保在 funstat_mcp 目录中运行此脚本"
exit 1
fi
echo "正在安装依赖..."
pip3 install -r requirements.txt --quiet
if [ $? -eq 0 ]; then
echo -e "${GREEN}✅ 依赖安装成功${NC}"
else
echo -e "${RED}❌ 依赖安装失败${NC}"
exit 1
fi
echo ""
# 配置 API 凭证
echo "=========================================="
echo "🔑 配置 Telegram API 凭证"
echo "=========================================="
echo ""
echo -e "${YELLOW}重要:每个用户需要申请自己的 API 凭证${NC}"
echo ""
echo "步骤:"
echo "1. 访问https://my.telegram.org/apps"
echo "2. 登录你的 Telegram 账号"
echo "3. 创建新应用(如果还没有)"
echo "4. 获取 API ID 和 API Hash"
echo ""
read -p "你已经获取了 API 凭证吗?(y/n): " has_credentials
if [ "$has_credentials" != "y" ]; then
echo ""
echo "请先获取 API 凭证,然后重新运行此脚本"
echo "运行命令:./setup.sh"
exit 0
fi
echo ""
read -p "请输入你的 API ID: " api_id
read -p "请输入你的 API Hash: " api_hash
# 验证输入
if [ -z "$api_id" ] || [ -z "$api_hash" ]; then
echo -e "${RED}❌ API 凭证不能为空${NC}"
exit 1
fi
# 创建 .env 文件
echo ""
echo "正在创建配置文件..."
cat > .env << EOF
# Telegram API 凭证
# 请妥善保管,不要分享给他人
TELEGRAM_API_ID=$api_id
TELEGRAM_API_HASH=$api_hash
EOF
chmod 600 .env
echo -e "${GREEN}✅ API 凭证已保存到 .env 文件${NC}"
echo ""
# 更新 .gitignore
if [ ! -f ".gitignore" ]; then
cat > .gitignore << EOF
.env
*.session
*.session-journal
__pycache__/
*.pyc
.DS_Store
EOF
echo -e "${GREEN}✅ 创建了 .gitignore 文件${NC}"
fi
echo ""
# 创建 Session
echo "=========================================="
echo "📱 创建 Telegram Session"
echo "=========================================="
echo ""
echo "现在需要登录你的 Telegram 账号来创建 session 文件"
echo -e "${YELLOW}注意:验证码会发送到你的 Telegram 应用${NC}"
echo ""
read -p "准备好了吗?按 Enter 继续..."
# 检查是否存在 create_session_safe.py
if [ -f "../create_session_safe.py" ]; then
python3 ../create_session_safe.py
elif [ -f "create_session_safe.py" ]; then
python3 create_session_safe.py
else
echo -e "${RED}❌ 未找到 create_session_safe.py${NC}"
echo "请确保项目文件完整"
exit 1
fi
echo ""
# 检查 session 是否创建成功
if [ -f ~/telegram_sessions/funstat_bot.session ]; then
echo -e "${GREEN}✅ Session 创建成功${NC}"
else
echo -e "${RED}❌ Session 创建失败${NC}"
echo "请检查上面的错误信息"
exit 1
fi
echo ""
# 测试
echo "=========================================="
echo "🧪 测试 MCP 服务器"
echo "=========================================="
echo ""
if [ -f "test_server.py" ]; then
echo "正在测试连接..."
python3 test_server.py
if [ $? -eq 0 ]; then
echo ""
echo -e "${GREEN}✅ 测试通过!${NC}"
else
echo ""
echo -e "${YELLOW}⚠️ 测试遇到问题,但可能不影响使用${NC}"
fi
else
echo -e "${YELLOW}⚠️ 未找到测试脚本,跳过测试${NC}"
fi
echo ""
# 配置 Claude Code
echo "=========================================="
echo "⚙️ 配置 Claude Code"
echo "=========================================="
echo ""
CURRENT_DIR=$(pwd)
echo "请将以下配置添加到 Claude Code 配置文件:"
echo ""
echo -e "${YELLOW}配置文件位置:${NC}"
echo " macOS: ~/Library/Application Support/Claude/claude_desktop_config.json"
echo " Linux: ~/.config/claude-code/config.json"
echo ""
echo -e "${YELLOW}添加以下内容:${NC}"
echo ""
echo '{
"mcpServers": {
"funstat": {
"command": "python3",
"args": [
"'$CURRENT_DIR'/server.py"
]
}
}
}'
echo ""
read -p "按 Enter 继续..."
# 完成
echo ""
echo "=========================================="
echo "🎉 部署完成!"
echo "=========================================="
echo ""
echo -e "${GREEN}下一步:${NC}"
echo ""
echo "1. 配置 Claude Code复制上面的配置"
echo "2. 完全退出并重启 Claude Code"
echo "3. 在 Claude Code 中测试:"
echo " \"帮我搜索 Python 学习群组\""
echo ""
echo -e "${YELLOW}安全提醒:${NC}"
echo "• .env 文件包含你的 API 凭证,不要分享给他人"
echo "• ~/telegram_sessions/ 目录包含 session不要提交到 Git"
echo "• 建议定期备份 session 文件"
echo ""
echo -e "${GREEN}文档:${NC}"
echo "• 快速开始QUICK_START_GUIDE.md"
echo "• Session 管理SESSION_MANAGEMENT.md"
echo "• 完整文档README.md"
echo ""
echo "🎊 享受使用 Funstat MCP 工具!"
echo ""