Skip to content

认识 LenBot ​

LenBot 是面向群聊的自主决策 Agent 框架,接入 QQ、Telegram 和飞书。何时开口、回复谁、先查什么、何时跟进,由 ReAct Loop 决定。

LenBot 通过已登录 QQ 的 OneBot v11 实现(例如 SnowLuma,推荐使用)收发 QQ 消息,直接调用 Telegram Bot API 和飞书开放平台收发另外两个平台的消息,几个平台可以同时运行。模型服务由部署者自行配置,只需准备一个聊天模型及其 API Key(例如 DeepSeek)。

日常对话无需输入命令前缀。群友 @ Bot、回复 Bot 或提到角色名字时,Bot 读取近期上下文并决定如何回应;开启同时参与群内讨论后,Bot 也会在群聊讨论活跃时自主判断是否接话。

核心能力 ​

能力说明详见
群聊节奏每个群保持连续对话,较早内容自动压缩为回想。支持合并连发消息、引用原消息、@ 群友、分多条发送、发送表情或贴表情回应在群里聊天
联网与工具搜索网页、读取正文、查询历史聊天记录、查看图片、打开合并转发、登记提醒与持续关注,也可接入 MCP(Model Context Protocol,模型上下文协议)服务联网与工具
角色包名字、设定、说话方式、轮换风格、底线、样例、资料与表情独立存放在角色包中,各群可绑定不同角色并在线切换角色管理
记忆与学习记忆以本地 Markdown 文件按群保存。群内空闲时自动整理记忆,并学习群内的说法、黑话、表情和回复效果记忆与学习
资料检索上传 Markdown、纯文本或 PDF,或直接从 QQ 群文件中导入。Bot 回答时检索原文并标明文件名与小节或页码,各群资料相互隔离资料检索
插件用 Python 扩展命令、定时播报、模型工具或自定义长期记忆实现,支持同进程加载与独立进程隔离插件管理
后台任务编写报告、处理数据或渲染页面等耗时工作委托给隔离 Docker 容器中的后台任务,完成后将文件发回群内后台任务
网页面板首次配置、日常设置、隔离试聊、token 用量统计和逐回合诊断均在网页面板完成面板一览

运行条件 ​

  • 运行主机:支持 Linux、macOS 和 Windows。
  • 聊天平台:QQ 需要 OneBot v11 客户端,例如 SnowLuma(推荐使用),已登录 Bot 的 QQ 号并启用 WebSocket;Telegram 需要 Bot 令牌,见接入 Telegram;飞书需要企业自建应用,见接入飞书。
  • 聊天模型服务:支持 OpenAI 兼容聊天(openai-chat)、OpenAI Responses(openai-responses)、Anthropic Messages(anthropic)和 Gemini GenerateContent(gemini)四种协议。

向量检索服务、语音转写服务、外部搜索服务与 Docker 均为按需选配项。

常用术语 ​

实例目录 : 保存一个 Bot 全部运行配置与持久化数据的根目录。从源码运行时即仓库根目录。全部运行配置集中保存在 lenbot.config.json 一个文件中。

场景(scene) : 一个群聊或一段私聊。场景与账号均带平台前缀:群聊写作 onebot:group:80001,私聊写作 onebot:private:70001,个人账号写作 onebot:70001;Telegram 与飞书分别以 telegram:、feishu: 开头。

主人 : 权限最高的操作者账号,可使用全部管理命令并在群内通过自然语言让 Bot 修改设置。首次配置时填写首个主人,后续可在面板中增补。

群开关与聊天/插件模式 : 首页每个群右侧的开关决定群是否开启,关闭后聊天和插件都不响应,消息照常记录。开启时,方形按钮显示当前模式:聊天模式允许模型参与,插件模式继续响应插件和命令。

回合 : Bot 被唤醒后的一次完整决策循环,包含自动召回记忆、一至多步模型请求与工具调用,以及最终发出的发言或旁听结束。面板中每个回合渲染为一张可展开的步骤卡片。

回想 : 会话上下文接近压缩阈值时,由较早历史对话整理生成的摘要。回想始终保留在每轮上下文头部。

当前范围 ​

  • 平台接入支持 QQ(OneBot v11)、Telegram 和飞书,几个平台可以同时运行。群文件、成员资料查询、合并转发和表情回应只在 QQ 提供。
  • 配置语音转写模型后可理解群内语音消息,Bot 自身以文字、表情图片和文件形式回复。
  • 内置框架提示词为中文,网页面板界面支持中文和英文。

按角色阅读 ​

以 AGPL-3.0-only 发布