使用说明
Telegram谷歌Gemini代理(MCP)
该项目实现了一个智能代理,该代理集成了 电报, Google 工作区 (表格、Gmail、驱动器),以及 谷歌双子座法学硕士 使用 模型上下文协议(MCP).
特性
- 电报集成:通过Telegram Bot接收用户的消息。
- 双子座AI:使用谷歌的Gemini Pro模型处理用户查询(
gemini-2.0-flash或gemini-1.5-flash). - 谷歌表格:自动将用户查询和AI响应记录到Google表格中。
- Gmail通知:发送一封电子邮件通知,其中包含查询、响应和指向Google表格的直接链接。
- MCP架构:使用
FastMCPTelegram(SSE)和Google Workspace(Stdio)有单独的服务器。
先决条件
- Python 3.13+
uv包管理器(推荐)- 电报机器人令牌(来自@BotFather)
- 启用API的谷歌云项目:
- 谷歌网页API
- Google Drive API
- Gmail API
- Google Gemini API密钥
设置
-
克隆存储库:
git clone <repository-url> cd <repository-directory> -
安装依赖项:
uv sync # OR pip install -r requirements.txt -
配置环境变量: 创建一个
.env根目录中的文件:TELEGRAM_BOT_TOKEN=your_telegram_bot_token GOOGLE_CREDENTIALS_FILE=credentials.json TARGET_GMAIL_ADDRESS=your_email@gmail.com GEMINI_API_KEY=your_gemini_api_key SPREADSHEET_ID=optional_spreadsheet_id -
Google身份验证设置:
- 放置您的
credentials.json(OAuth 2.0客户端ID)位于根文件夹中。 - 确保您的Google Cloud项目已启用所需的API。
- 重要:如果您的项目处于“测试”模式,请将您的电子邮件添加到OAuth同意屏幕中的“测试用户”列表中。
- 放置您的
用法
-
启动Telegram MCP服务器:
uv run mcp_server_telegram.py -
启动主代理: 在单独的终端中:
uv run main_agent.py -
互动:
- 向您的Telegram Bot发送消息。
- 代理将与Gemini一起处理。
- 它会将结果附加到您的Google表格中。
- 您将收到一封包含详细信息的电子邮件。
故障排除
Google 403“权限被拒绝”错误
如果在创建或访问工作表时看到403错误:
- 检查API启用:确保在您的Google云控制台中为 正确的 项目。
- 检查范围:登录时,请务必检查 全部 权限框(驱动器、表格、Gmail)。
- 驱动器存储:确保您的Google云端硬盘未满。
- 变通方案:手动创建工作表,复制其ID,然后添加
SPREADSHEET_ID=your_id你的.env文件。
Gemini 404/429错误
- 404:型号名称可能不正确。尝试
gemini-1.5-flash或gemini-2.0-flash. - 429:您正在达到速率限制。请稍等,或切换到较小的型号。