一套面向「技术学习者」的 LangBot 架构深度导览。目标不是教你怎么用,而是带你看清这个 LLM-native 即时通讯机器人平台 是怎么搭起来的、每个设计为什么是现在这个样子。 写作基准版本:langbot 4.10.4,langbot-plugin 0.4.6,Python >=3.11,<4.0。
本系列按「先鸟瞰全局 → 沿一条消息的生命周期纵向穿透 → 补齐横切子系统」编排。建议顺序阅读,下方子页即为各篇正文。
| # | 篇目 | 你会搞懂 |
|---|---|---|
| 01 | 架构总览 | 分层全景、技术选型、贯穿全局的设计原则 |
| 02 | 启动与生命周期 | 应用如何被分阶段组装,任务如何被作用域化管理 |
| 03 | 消息的旅程(上):平台层 | 异构 IM 事件如何归一成统一的 Query |
| 04 | 消息的旅程(下):流水线引擎 | 责任链 + 异步生成器混合的处理模型 |
| 05 | Provider 层:模型与工具抽象 | 100+ 模型的统一接入与 Function-Calling 全链路 |
| 06 | 插件系统:进程隔离的 RPC 桥 | 为什么插件跑在独立进程、stdio 与 WebSocket 之争 |
| 07 | Box 代码沙箱 | 让 Agent 安全跑代码:后端、隔离、附件、技能挂载 |
| 08 | HTTP API 与 Agent 友好表面 | Quart 分层、鉴权、MCP Server、Skills 单一事实源 |
| 09 | 持久化与数据库迁移 | 一套脚本通吃 SQLite 与 PostgreSQL |
| 10 | 横切关注点与收尾 | 可观测性、i18n、安全,以及「想改某功能从哪入手」 |
flowchart TB
subgraph IM["IM 平台"]
QQ["QQ / 微信 / Discord / Telegram ..."]
end
subgraph LB["LangBot 后端 (Quart, :5300)"]
PLAT["Platform 层<br>适配器 + RuntimeBot"]
POOL["QueryPool 查询池"]
PIPE["Pipeline 流水线引擎<br>责任链 Stage"]
PROV["Provider 层<br>模型 + 工具"]
API["HTTP API + MCP"]
DB["Persistence<br>SQLite / PostgreSQL"]
end
subgraph EXT["独立进程"]
PRT["Plugin Runtime"]
BOX["Box 沙箱<br>Docker / nsjail / E2B"]
end
WEB["Web 前端 SPA<br>Vite + React"]
QQ <--> PLAT
PLAT --> POOL --> PIPE
PIPE <--> PROV
PIPE <--> PRT
PROV <--> BOX
PIPE <--> DB
WEB <--> API
API <--> DB
src/langbot/pkg/core/boot.py:17),行号以撰写时源码为准。