chore: initial commit
This commit is contained in:
243
core/setup.sh
Executable file
243
core/setup.sh
Executable 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 ""
|
||||
Reference in New Issue
Block a user