当前位置: 首页 > news >正文

2025最新Telegram快读助手:一款智能Telegram链接摘要机器人

Telegram快读助手:一款智能Telegram链接摘要机器人

在工作群、学习群或信息群中,经常会被各类链接刷屏:长篇文章、PDF文档、推特线程、LinkedIn帖子、YouTube视频……想快速判断链接里究竟讲了什么?【Telegram快读助手(telegram link summarizer agent)】来帮你!它能够自动识别链接类型,抓取内容并生成简洁摘要,让你一眼知晓要点,是内容过载时代的必备利器。


目录

  1. 项目简介

  2. 核心功能

  3. 技术架构

  4. 技术栈

  5. 快速上手

    • 克隆仓库
    • 安装依赖
    • 环境变量配置
  6. 使用示例

  7. 本地调试(Webhook & Polling)

  8. Docker 运行

  9. 自托管部署(Docker)

  10. 部署到 Google Cloud Run

  11. 总结与展望


在这里插入图片描述

项目简介

Telegram快读助手 是一款基于 Telegram Bot 的智能代理(agent),通过LangGraph和各类外部服务,多步归纳推理来完成以下任务:

  • 自动路由:判断链接类型(网页、PDF、推特/X、LinkedIn、YouTube 等)。
  • 内容提取:针对不同类型的链接调用最合适的抓取手段,如 Playwright、PyMuPDF、twitterapi.io、Tavily Search SDK 等。
  • 摘要生成:利用 BAML LLM 函数(如 RouteRequest)、Deepseek/Gemini 等大模型,生成结构化、简洁的链接摘要。
    在这里插入图片描述

图:Agent 多步骤执行可视化
在这里插入图片描述

图:系统架构示意图

项目源码:https://github.com/MaoTouHU/telegram_link_summarizer_agent


核心功能

  • 链接摘要:支持各种 URL,包括标准网页、PDF 文档、Twitter/X 帖子、LinkedIn 帖子及 YouTube 视频。
  • 智能路由:使用 LLM 判断链接类型,自动选择最佳抓取 & 处理流程。
  • YouTube 支持:通过 Playwright + AgentQL 抓取视频标题与描述。
  • Twitter/X 支持:使用 twitterapi.io 获取推特内容(支持线程)。
  • LinkedIn 支持:使用 Playwright + AgentQL 解析 LinkedIn 帖子。
  • PDF 支持:通过 PyMuPDF(fitz)处理并提取 PDF 文本。
  • 多步骤 Agentic 工作流:基于 LangGraph,串联多个工具与 LLM,实现稳定可靠的处理流程。
  • 静默失败:Telegram Bot 接口可在抓取失败时静默处理,不打扰群聊体验。

技术架构

整个系统由三大部分组成:

  1. 路由与摘要生成(BAML + LLM)
  2. 抓取与解析工具链(Playwright、PyMuPDF、Tavily、twitterapi.io、AgentQL)
  3. Telegram Bot 接口python-telegram-bot + FastAPI + Uvicorn)

LangGraph 负责将用户输入(链接)经过 RouteRequest 路由至不同子图,再由子图调度相应工具,最终将结果反馈给用户。


技术栈

  • Orchestration:LangGraph
  • LLM & Routing:BAML 函数,Deepseek/Gemini
  • 网页提取:Tavily Search SDK
  • YouTube:Playwright + AgentQL
  • Twitter/X:twitterapi.io + requests
  • LinkedIn:Playwright + AgentQL
  • PDF:PyMuPDF (fitz)
  • Bot 框架python-telegram-bot
  • Web 框架:FastAPI + Uvicorn
  • 部署:Docker、Google Cloud Run

快速上手

1. 克隆仓库

git clone https://github.com/MaoTouHU/telegram_link_summarizer_agent.git
cd telegram_link_summarizer_agent

2. 安装依赖

推荐使用 uv 或者 pip

# 使用 uv(推荐)
uv pip install -e .# 或者使用 pip
pip install -e .

安装 Playwright 浏览器:

playwright install

3. 环境变量配置

在项目根目录新建 .env 文件,并添加以下配置(替换为你的实际值):

# --- 核心 API Key ---
# 任选一种 LLM 提供商
# GEMINI_API_KEY="your_google_gemini_api_key"
DEEPSEEK_API_KEY="your_deepseek_api_key"
GOOGLE_API_KEY="your_google_cloud_api_key"# 工具 API Key
TAVILY_API_KEY="your_tavily_api_key"
TWITTER_API_IO_KEY="your_twitterapi.io_api_key"
AGENTQL_API_KEY="your_agentql_api_key"# Telegram Bot
TELEGRAM_BOT_TOKEN="your_telegram_bot_token"# Webhook(部署时使用)
USE_POLLING="true"  # true 则忽略 WEBHOOK_URL 等配置
# WEBHOOK_URL="https://<your-ngrok-or-domain>"
# TELEGRAM_WEBHOOK_SECRET_TOKEN="your_secret_token"

⚠️ 重要

  • TWITTER_API_IO_KEY 可在 twitterapi.io 获取。
  • 保证 .env 不被提交至代码仓库(已在 .gitignore 中)。

使用示例

  • 测试脚本
    修改 agent.py 底部的测试用例后运行:

    python agent.py
    
  • 可视化
    生成 LangGraph 可视化图:

    python agent_viz.py
    # 会输出 agent_graph.png
    

本地调试(Webhook & Polling)

Polling 模式(推荐)

export USE_POLLING="true"
uvicorn bot:app --reload

Bot 会自动以长轮询方式获取消息,无需公网或 ngrok。

Webhook 模式(开发/测试)

  1. 启动本地服务器:

    ./scripts/run_local.sh
    
  2. 使用 ngrok 暴露端口:

    ngrok http 8080
    
  3. 将生成的 https://xxxx.ngrok-free.app 填入 .env 中的 WEBHOOK_URL,重启服务。


Docker 运行

chmod +x ./scripts/run_docker.sh
./scripts/run_docker.sh
  • 默认映射本地 8080 端口。
  • 可通过 docker logs -f telegram-summarizer 查看日志。

自托管部署(Docker)

  1. 服务器准备:安装 Git、Docker,并确保 Docker 服务启动。

  2. 克隆 & 配置:与上文“快速上手”部分一致,配置好 .env

  3. 运行部署脚本

    chmod +x ./scripts/deploy_server.sh
    ./scripts/deploy_server.sh
    
  4. 监控管理

    docker ps
    docker logs -f telegram-summarizer
    docker restart telegram-summarizer
    

若采用 Webhook 模式,务必确保 WEBHOOK_URLTELEGRAM_WEBHOOK_SECRET_TOKEN 配置正确,并开放对应端口(如 8080 或 443)。


部署到 Google Cloud Run

  1. 配置 Secret Manager
    编辑并运行 scripts/setup_secrets.sh,按照提示将 .env 中的各 API Key 同步到 GCP Secret Manager。

  2. 构建 & 部署
    scripts/deploy_cloud_run.sh 中配置好 SECRETS_TO_MAP,然后运行:

    chmod +x ./scripts/deploy_cloud_run.sh
    ./scripts/deploy_cloud_run.sh
    
    • 自动构建 Docker 镜像、推送到 Artifact Registry
    • 部署到 Cloud Run,自动设置 Telegram Webhook

总结与展望

Telegram快读助手利用 多工具+多模型 的 Agent 架构,实现对常见链接类型的一站式摘要处理。接下来可考虑:

  • 支持更多平台:如 Reddit 帖子、GitHub Issue/PR 摘要
  • 多语言摘要:自动识别语言并翻译/摘要
  • 个性化摘要模板:可配置不同场景下的摘要风格

欢迎在 GitHub 上 ★ 本项目,并提出 PR 或 Issue,让我们一起把它打磨得更好!

仓库地址:https://github.com/MaoTouHU/telegram_link_summarizer_agent
有任何问题或建议,欢迎 Issues 或 Discussions!

在这里插入图片描述

http://www.lryc.cn/news/581194.html

相关文章:

  • 【leetcode100】最长回文子串
  • 探索 .NET 桌面开发:WinForms、WPF、.NET MAUI 和 Avalonia 的全面对比(截至2025年7月)
  • MAX3485在MCU芯片AS32S601-485通信外设中的应用
  • Java 创建对象过程 JVM 内存分配并发安全笔记
  • 介绍Flutter
  • 2025最新软件测试面试八股文
  • 在SoC数据加解密验证中使用 Python 的 gmssl 库
  • 【论文笔记】OctoThinker:突破 Llama 推理瓶颈的中期训练范式
  • web前端面试-- MVC、MVP、MVVM 架构模式对比
  • 硬件嵌入式工程师学习路线终极总结(二):Makefile用法及变量——你的项目“自动化指挥官”!
  • WEB攻防-文件包含LFIRFI伪协议编码算法无文件利用黑白盒
  • Go语言的web框架--gin
  • NX二次开发——NX二次开发-检查点是否在面上或者体上
  • MyChrome.exe与Selenium联动避坑指南:User Data目录冲突解决方案
  • 一篇文章快速入门TypeScript基础语法
  • 超详细yolov8/11-segment实例分割全流程概述:配置环境、数据标注、训练、验证/预测、onnx部署(c++/python)详解
  • Zigbee/Thread
  • Xshell使用技巧
  • 七牛云前端面试题及参考答案 (上)
  • 2025使用VM虚拟机安装配置Macos苹果系统下Flutter开发环境保姆级教程--下篇
  • C语言socket编程-补充
  • 测试时学习(TTT):打破传统推理界限的动态学习革命
  • vue router 里push方法重写为什么要重绑定this
  • JVM与JMM
  • RAL-2025 | 清华大学数字孪生驱动的机器人视觉导航!VR-Robo:面向视觉机器人导航与运动的现实-模拟-现实框架
  • rpgmaker android js常用属性解析
  • UI前端大数据可视化实战:如何设计高效的数据交互界面?
  • FLAN-T5:规模化指令微调的语言模型
  • 职坐标:AI图像识别NLP推荐算法实战
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第5章 索引与算法