🚀 进化完成:全能 Telegram AI Bot V2.0 —— 多模型矩阵、持久化记忆与深层调研模式
在 Telegram 的世界里,Bot(机器人)就像一个全能的“数字胶水”。你可以用它来自动化下载、监控服务器,甚至玩文字游戏。但当你把 Telegram 的灵活性、Python 的胶水特性 以及 大语言模型(LLM)的推理能力 结合在一起时,你会得到一个真正的“私人数字特工”。
这就是 TeleIntelliChat 项目。它不是一个简单的对话机器人,而是一套完整的 AI Agent(智能体)集成框架。本次 V2.0 版本 经历了从底层架构到功能逻辑的全面进化,让这个“外壳”里的灵魂变得更加深邃。
这不仅仅是个 Bot:它的四大核心“超能力”
为了让你明白它有多强,我们直接看它能为你解决什么问题:
1. 它长了“眼睛”和“腿”:实时联网与深度阅读
普通的 AI 知识库通常停留在几个月前。
- 实时搜索:当你问“今天科技圈有什么大事?”它会启动内置的
web_search工具,通过搜索引擎抓取最新动态。 - 深度阅读:它不只是看个标题。通过
web_fetch功能,它可以潜入网页内部,抓取数千字的正文进行深度总结。 - 引用模式 (
/cite on):拒绝 AI 幻觉!开启后,它的每一个回答都会附带原始链接,让你随时复核信息来源。
2. 它拥有“永恒记忆”:SQLite 数据库驱动
大部分 Bot 重启就“失忆”,但 TeleIntelliChat V2.0 引入了工业级的 SQLite 数据库。
- 长期记忆 (
/memory):你可以告诉它“我喜欢简洁的回答”或者“我在学习 Python”。这些信息会被永久存入数据库。 - 跨会话保留:哪怕机器人关机重启,它依然记得你的偏好。只有当你输入
/memory clear时,它才会忘记。
3. 模型“大阅兵”:多厂商自动路由
不用再纠结用 GPT-4 还是 Qwen 还是 Llama。
- 一键切换 (
/model):系统内置了动态探活机制,会自动检测 NVIDIA、OpenAI 等多个平台的模型是否在线。 - 性能监控:你可以实时看到哪个模型反应最快、哪个最聪明,随时根据需求切换“大脑”。
4. 它是“透明”的助理:SRE 级监控统计
想知道自己用了多少 Token?花了多少钱?
- 统计面板 (
/stats):直接输入命令,查看过去 24 小时的 Token 消耗、成功率和最常使用的工具。 - 成本控制:管理员可以精准限制上下文长度 (
CTX_SIZE),防止 Token 意外爆表。
🛠️ 给管理员:如何把这台“猛兽”装进你的服务器?
这次更新我们对架构进行了彻底重构,部署变得极其优雅。
1. 核心目录结构
项目采用了清晰的模块化设计,所有的配置都通过 .env 文件一键管理:
Plaintext
tg_bot/├─ tg_bot.py # 核心逻辑:大脑所在├─ .env # 神经中枢:所有的 API Key 和参数都在这里├─ requirements.txt # 项目依赖├─ bot_data.db # 记忆细胞:SQLite 数据库 首次自动创建└─ bot.log # 运行日志:所有的动作都有迹可循 首次自动创建2. 生产环境的“不计成本”配置
如果你追求极致的回答质量(比如做每日新闻简报),我们为你准备了**“高质量模式”**配置:
- 更大的胃口:
CTX_SIZE=22000,让它能读完一整篇长文。 - 更深的思考:
MAX_TOOL_LOOPS=10,允许它反复搜索 10 次直到找到满意答案。 - 自动补救:开启
EMPTY_CONTENT_RETRY_ON,如果模型由于网络波动没说话,它会自动重试,直到产出结果。
📌 部署与运行步骤
以下步骤假设你已经安装 Python 3.10+,并具备
pip环境。
# ② 创建虚拟环境(WIN推荐)python -m venv venv.\venv\Scripts\activate
# ② 创建虚拟环境(Macos Liunx推荐)python3 -m venv venvsource venv/bin/activate
# ③ 安装依赖pip install -r requirements.txt # Winpip3 install -r requirements.txt # Macos Liunx复制 .env.example 改名 .env 模型配置示例
# 默认模型(真实模型 ID;最好在 DEFAULT_PROVIDER 对应模型列表中存在)DEFAULT_MODEL=openai/gpt-oss-120b
# 默认模型别名(可选;用于在未配置模型列表时兜底显示)DEFAULT_MODEL_ALIAS=gpt-oss-120b
# ---- NVIDIA 示例 ----LLM_API_URL_NVIDIA=https://integrate.api.nvidia.com/v1/chat/completionsLLM_API_KEY_NVIDIA=请替换为你的NVIDIA_KEYLLM_API_AUTH_HEADER_NVIDIA=AuthorizationLLM_API_AUTH_SCHEME_NVIDIA=BearerLLM_MODELS_NVIDIA=gpt-oss-120b=openai/gpt-oss-120b|qwen-coder=qwen/qwen3-coder-480b-a35b-instruct
# ---- OpenAI 示例 ----LLM_API_URL_OPENAI=https://api.openai.com/v1/chat/completionsLLM_API_KEY_OPENAI=请替换为你的OPENAI_KEYLLM_API_AUTH_HEADER_OPENAI=AuthorizationLLM_API_AUTH_SCHEME_OPENAI=BearerLLM_MODELS_OPENAI=gpt-4o=gpt-4o|gpt-4.1-mini=gpt-4.1-mini
# ---- DEEPSEEK 示例 ----LLM_API_URL_DEEPSEEK=https://api.deepseek.com/v1LLM_API_KEY_DEEPSEEK=请替换为你的DEEPSEEK_KEYLLM_API_AUTH_HEADER_DEEPSEEK=AuthorizationLLM_API_AUTH_SCHEME_DEEPSEEK=BearerLLM_MODELS_DEEPSEEK=LLM_MODELS_DEEPSEEK=deepseek-chat=deepseek-chat|deepseek-reasoner=deepseek-reasoner启动 Bot
python tg_bot.py # Winpython3 tg_bot.py # Macos Liunx📚 Telegram AI Bot 用户使用手册
1. 这个机器人能做什么
这是一个支持多模型、联网搜索、网页阅读、图片理解、长期记忆的 AI 助手。
你可以把它理解为“会聊天 + 会查资料 + 会记住偏好 + 可控成本”的私人助手。
核心能力:
- 普通问答:日常聊天、知识问答、写作润色、代码问题。
- 联网检索:可调用搜索与网页抓取工具,回答实时信息问题。
- 图片输入:支持图片场景下的理解与分析(受模型能力影响)。
- 长期记忆:记录你的偏好、身份信息、长期任务背景。
- 引用模式:开启后联网回答会尽量附来源链接。
- 成本控制:支持
/reset清空会话上下文,减少 token 消耗。
2. 快速开始
- 在 Telegram 打开机器人并发送
/start。 - 直接发送你的问题,例如:
- “帮我总结一下今天 AI 领域的重点新闻”
- “这段 Python 报错怎么修”
- 如果切换了话题,建议先发送
/reset再问新问题。
为什么建议 /reset:
上下文越长,模型每次请求带上的历史内容越多,token 成本越高。
切换话题时清空上下文,通常能明显降低消耗并提升回答稳定性。
3. 命令总览
菜单可点按命令:
/start、/model、/refreshmodels、/currentmodel、/reset、/memory、/stats、/cite
需要手动补参数输入的命令:
/start:查看欢迎信息和能力简介。/model:打开模型菜单并切换模型。/refreshmodels:强制刷新模型可用性状态(菜单可点按)。/model refresh:强制刷新模型可用性状态(文本命令写法,和上面等价)。/currentmodel:查看当前配置与最近一次实际使用的模型。/reset:清空当前会话上下文,不会清空长期记忆。/memory:查看长期记忆列表(等价于/memory list)。/memory add <fact|preference|task|other> <内容>:新增一条长期记忆。/memory delete <关键词>:按关键词删除匹配记忆。/memory clear:清空所有长期记忆。/stats:查看最近 24 小时调用统计。/cite on:开启引用模式(联网回答附来源)。/cite off:关闭引用模式。
4. 模型选择建议
使用 /model 可以手动选择模型,也可以回到自动路由模式。
推荐策略:
- 日常通用问答:自动路由。
- 代码任务:优先代码类模型。
- 强实时问题:可优先选择更适合联网任务的模型。
- 需要稳定成本:保持固定模型,搭配频繁
/reset。
5. /reset 的正确用法(重点)
/reset 只清空当前会话上下文,不会删除长期记忆。
建议你在以下场景使用:
- 话题从 A 完全切到 B。
- 连续多轮后感觉回答开始“跑偏”。
- 想主动降低 token 消耗。
- 想让模型“忘记刚才的临时上下文”重新开始。
示例:
- 你刚问完“Python 异步调试问题”。
- 接下来要问“旅游路线建议”。
- 先发
/reset,再发旅游问题。
6. 长期记忆怎么用
长期记忆用于“跨会话保留信息”,例如你的习惯和偏好。
记忆分类说明:
fact:稳定事实。例如“我在上海工作”。preference:偏好。例如“我喜欢简洁风格回答”。task:长期目标。例如“我在准备面试,重点是后端设计”。other:其他信息。
常用操作:
- 新增:
/memory add preference 回答尽量用中文并给步骤 - 查看:
/memory list - 删除:
/memory delete 中文 - 清空:
/memory clear
建议:
- 只存“长期有价值的信息”,不要把一次性问题存进去。
- 如果记忆过多且无关,及时删除,避免干扰回答。
7. 引用模式怎么用
当你需要“可追溯”答案时,开启引用模式:
/cite on
适合场景:
- 新闻、政策、市场、产品版本等实时信息。
- 你需要复核来源链接。
当你只想快速结果时,可关闭:
/cite off
8. 统计面板怎么看
/stats 返回最近 24 小时的运行统计,通常包括:
- 总事件数
- Prompt Tokens
- Completion Tokens
- 失败次数
- 高频模型
- 高频工具
用途:
- 观察是否有异常消耗。
- 评估是否需要更频繁使用
/reset。 - 了解自己常用模型和工具情况。
9. 图片输入说明
你可以直接发送图片并附文字问题,例如:
- “这张图里有什么关键信息?”
- “帮我提取图中流程并总结”
注意:
- 是否能进行高质量视觉理解,取决于当前所选模型。
- 如果当前模型不支持视觉能力,系统会自动降级处理并给出提示。
10. 常见问题(FAQ)
Q1:为什么有时回答变慢?
A:可能因为联网搜索、网页抓取、模型负载或上下文过长。可先 /reset 再试。
Q2:为什么有时回答不够准确?
A:实时问题建议开启 /cite on,并明确时间范围与地区范围。
Q3:/reset 会不会把我的长期偏好清掉?
A:不会。/reset 只清当前会话上下文。长期记忆用 /memory clear 才会清空。
Q4:怎么最省 token?
A:固定模型 + 话题切换时 /reset + 问题描述更具体 + 避免冗长来回。
Q5:模型菜单里有些显示不可用怎么办?
A:发送 /refreshmodels(或 /model refresh)强制刷新状态,或切换其他可用模型。
11. 最佳实践(推荐)
- 每次提问写清目标、约束、输出格式。
- 实时问题先开
/cite on,拿到来源后再深入。 - 话题切换时一定
/reset。 - 把长期有价值信息写进
/memory,临时信息不要存。 - 通过
/stats定期观察 token 和失败率。
💡 用户使用小窍门 (Best Practices)
为了让你的 Bot 更好用,请记住以下三点:
- 话题切断用
/reset:当你聊完一个话题想开始新话题时,发一个/reset。这样可以清空旧的上下文,既省钱又让 Bot 的反应更快。 - 善用
/memory add:把你的身份、常用开发语言、喜欢的写作风格存进去。它会越用越像你。 - 遇到问题先
/refreshmodels:如果觉得 AI 反应慢,点一下刷新,看看是不是某个模型节点挂了,换一个立刻满血复活。
🎯 结语:这才是 AI 时代的正确打开方式
TeleIntelliChat V2.0 不再是一个只会“接话”的脚本,它是一个具备感知(联网)、认知(多模型)、**持久记忆(数据库)和自我监控(统计)**的完整系统。
无论你是开发者需要一个代码助手,还是研究员需要一个资料搜集器,它都能成为你 Telegram 里最得力的伙伴。