Telegram-Gemini智能代理

一个集成Telegram、Google Workspace和Google Gemini LLM的智能代理,通过Model Context Protocol (MCP)实现消息处理、AI查询、数据记录和邮件通知功能。

  • by Shankarganesh127
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Shankarganesh127/TSAI_EAG_v2_sse_mcp_S8

使用说明

Telegram谷歌Gemini代理(MCP)

该项目实现了一个智能代理,该代理集成了 电报, Google 工作区 (表格、Gmail、驱动器),以及 谷歌双子座法学硕士 使用 模型上下文协议(MCP).

特性

  • 电报集成:通过Telegram Bot接收用户的消息。
  • 双子座AI:使用谷歌的Gemini Pro模型处理用户查询(gemini-2.0-flash 或 gemini-1.5-flash).
  • 谷歌表格:自动将用户查询和AI响应记录到Google表格中。
  • Gmail通知:发送一封电子邮件通知,其中包含查询、响应和指向Google表格的直接链接。
  • MCP架构:使用 FastMCP Telegram(SSE)和Google Workspace(Stdio)有单独的服务器。

先决条件

  • Python 3.13+
  • uv 包管理器(推荐)
  • 电报机器人令牌(来自@BotFather)
  • 启用API的谷歌云项目:
    • 谷歌网页API
    • Google Drive API
    • Gmail API
  • Google Gemini API密钥

设置

  1. 克隆存储库:

    git clone <repository-url>
    cd <repository-directory>
    
  2. 安装依赖项:

    uv sync
    # OR
    pip install -r requirements.txt
    
  3. 配置环境变量: 创建一个 .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
    
  4. Google身份验证设置:

    • 放置您的 credentials.json (OAuth 2.0客户端ID)位于根文件夹中。
    • 确保您的Google Cloud项目已启用所需的API。
    • 重要:如果您的项目处于“测试”模式,请将您的电子邮件添加到OAuth同意屏幕中的“测试用户”列表中。

用法

  1. 启动Telegram MCP服务器:

    uv run mcp_server_telegram.py
    
  2. 启动主代理: 在单独的终端中:

    uv run main_agent.py
    
  3. 互动:

    • 向您的Telegram Bot发送消息。
    • 代理将与Gemini一起处理。
    • 它会将结果附加到您的Google表格中。
    • 您将收到一封包含详细信息的电子邮件。

故障排除

Google 403“权限被拒绝”错误

如果在创建或访问工作表时看到403错误:

  1. 检查API启用:确保在您的Google云控制台中为 正确的 项目。
  2. 检查范围:登录时,请务必检查 全部 权限框(驱动器、表格、Gmail)。
  3. 驱动器存储:确保您的Google云端硬盘未满。
  4. 变通方案:手动创建工作表,复制其ID,然后添加 SPREADSHEET_ID=your_id 你的 .env 文件。

Gemini 404/429错误

  • 404:型号名称可能不正确。尝试 gemini-1.5-flash 或 gemini-2.0-flash.
  • 429:您正在达到速率限制。请稍等,或切换到较小的型号。