LangBot 详细部署教程

项目概述

LangBot 是一个开源、生产级的 AI 即时通讯机器人平台。它能将大语言模型(LLM)连接到任何聊天平台,让你创建能够对话、执行任务并集成现有工作流的智能代理。

核心能力

  • AI 对话与 Agent:多轮对话、工具调用、多模态支持、流式输出。内置 RAG(知识库),深度集成 Dify、Coze、n8n、Langflow 等
  • 通用 IM 平台支持:一套代码适配 Discord、Telegram、Slack、LINE、QQ、微信、企业微信、飞书、钉钉、KOOK 等
  • 生产就绪:访问控制、速率限制、敏感词过滤、全面监控和异常处理
  • 插件生态:数百个插件、事件驱动架构、组件扩展和 MCP 协议支持
  • Web 管理面板:通过直观的浏览器界面配置、管理和监控机器人,无需编辑 YAML
  • 多流水线架构:为不同场景配置不同机器人,具备全面的监控和异常处理

技术栈:Python + Fastify + Next.js + SQLite/PostgreSQL


部署前准备

系统要求

项目 要求
操作系统 Windows / macOS / Linux
Docker 20.10+
Docker Compose v2.0+
内存 最低 1GB,推荐 2GB+
磁盘空间 最低 2GB
网络 需能访问大模型 API(如 OpenAI、DeepSeek 等)

环境检查

1
2
3
docker --version
docker compose version
git --version

方案一:Docker Compose 部署(推荐)

这是最简单、最稳定的生产级部署方式 。

步骤 1:克隆仓库

1
2
git clone https://github.com/langbot-app/LangBot
cd LangBot/docker

步骤 2:启动容器

完整模式(推荐,启用 Box Runtime 依赖的所有功能)

1
docker compose --profile all up -d

这会启动三个容器 :

  • langbot — 主应用(WebUI + webhook)
  • langbot_plugin_runtime — 插件运行时
  • langbot_box — Box 沙箱运行时

基础模式(不启用 Box Runtime)

1
docker compose up -d

步骤 3:访问 WebUI

打开浏览器访问 http://127.0.0.1:5300

首次启动会输出创建配置文件的提示,按照提示进行后续配置。

中国大陆用户优化

如果你的主机位于中国大陆,可以考虑将 docker-compose.yaml 文件中的镜像名称改为国内镜像源以加速下载 :

1
image: docker.langbot.app/langbot-public/rockchin/langbot:latest

同时推荐设置 Docker 容器代理,以保证 LangBot 运行期间的网络访问通畅 。


方案二:一键启动(uvx)

如果你已安装 uv,可以使用一行命令快速启动:

1
uvx langbot

然后访问 http://localhost:5300 即可 。

此方式适合快速体验,生产环境建议使用 Docker 部署。


方案三:Kubernetes 部署

适合需要在 Kubernetes 集群上实现可扩展、生产级 AI 机器人托管的场景 。

前置要求

  • Kubernetes 集群的基本使用(kubectl、Namespace、Deployment、Service、PVC)
  • 容器间网络通信与持久化存储的配置方式

步骤 1:克隆仓库

1
2
git clone https://github.com/langbot-app/LangBot
cd LangBot/docker

步骤 2:部署所有组件

1
kubectl apply -f kubernetes.yaml

步骤 3:查看状态

1
kubectl get all -n langbot

步骤 4:访问 WebUI

1
kubectl port-forward -n langbot svc/langbot 5300:5300

然后访问 http://localhost:5300

组件构成

清单会在 langbot 命名空间下创建以下组件 :

组件 说明 端口
langbot 主应用(WebUI + webhook) 5300 / 2280-2290
langbot-plugin-runtime 插件运行时 5400
langbot-box Box 沙箱运行时(可选) 5410

Box 沙箱运行时说明

langbot-box 为 LangBot 提供代码沙箱能力,支撑沙箱工具(exec / read / write / edit / glob / grep)、技能的 activate 工具与新增/编辑、以及 stdio 模式的 MCP 服务器 。

它是可选组件:不部署时 LangBot 仍可运行,仪表盘与技能列表只读可见,但上述能力会被禁用,此时请在 langbot 上设置 BOX__ENABLED=false

重要约束:Box 运行时通过挂载到节点的 Docker socket 创建沙箱容器。Box 工作区根目录必须在以下三处是同一个绝对路径 :

  1. 节点上的实际路径
  2. langbot-box 容器内的挂载路径
  3. 它创建的每个沙箱容器内的挂载路径

安全提示:挂载节点的 Docker socket 会让 Box 运行时获得对节点的实质 root 权限。请仅在你信任该工作负载的节点上部署 Box 。


端口说明

端口 用途 说明
5300 WebUI Web 管理面板入口
2280-2290 OneBot 适配器 供使用 OneBot 协议的消息平台适配器反向连接

首次配置

步骤 1:初始化

打开 WebUI 后,你可以选择:

使用 LangBot Space 初始化(推荐)

点击 「Initialize with Space」 ,这会将你的实例连接到 LangBot Space,获得 :

  • 20 个开箱即用的云端模型(附赠免费额度)
  • 一键安装插件
  • 托管式 API Key 管理

手动配置模型

如果你已有 API Key,可以手动配置大模型连接。

步骤 2:配置流水线

进入 流水线 页面,编辑默认的 ChatPipeline :

  1. 选择模型(如 deepseek-v3、gpt-5-mini、claude-sonnet-4-5)
  2. 自定义系统提示词
  3. 可选:关联知识库或启用工具调用

步骤 3:接入平台

进入 机器人 → 点击 + → 选择平台(Discord、Telegram 等)→ 填入 Bot Token 。

步骤 4:测试

使用内置的 Debug Chat 在上线前测试流水线 。


支持的平台与模型

即时通讯平台

平台 状态 说明
Discord 官方支持
Telegram 官方支持
Slack 官方支持
LINE 官方支持
QQ 个人 & 官方 API(频道、私聊、群聊)
企业微信 企业微信、外部客服、AI Bot
微信 个人 & 公众号
飞书 官方支持
钉钉 官方支持
KOOK 官方支持
Matrix 支持 Signal、WhatsApp 等桥接平台

大模型支持

提供商 类型 状态
OpenAI LLM
Anthropic LLM
DeepSeek LLM
Google Gemini LLM
Ollama 本地 LLM
LM Studio 本地 LLM
Dify LLMOps
MCP 协议
SiliconFlow 网关

更多集成请查看官方文档。


常见问题排查

问题 症状 解决方案
Box 沙箱启动失败 提示 “No sandbox backend (Docker/nsjail/E2B) is ready” 确认当前用户可访问 Docker:sudo usermod -aG docker $USER && newgrp docker && docker info,然后重启 LangBot
无法访问 WebUI 连接被拒绝 检查容器是否正常运行:docker ps,确认 5300 端口未被占用
消息平台连接失败 Bot 无响应 检查 Bot Token 是否正确,确认网络可访问对应平台
大模型调用失败 API 错误 检查 API Key 是否有效,确认账户余额充足
配置文件未生成 首次启动无提示 检查数据目录挂载权限,查看容器日志 docker logs langbot

数据持久化

LangBot 需要持久化以下数据 :

容器内路径 内容 是否必需
/app/data/config.yaml 主应用配置
/app/data/langbot.db SQLite 数据库(默认后端) 是(如使用 SQLite)
/app/data/plugins/ 插件源码和资源
/app/data/ (向量库子目录) ChromaDB 或其他本地向量库文件 是(如使用本地向量库)

更新到最新版本

1
2
3
cd LangBot/docker
docker compose pull
docker compose up -d

数据库选择

后端 适用场景 Kubernetes 考虑
SQLite 开发、单副本 需要 ReadWriteOnce PVC;无法水平扩展
PostgreSQL 生产、多副本 外部服务或独立的 StatefulSet;支持 ReadWriteMany 应用 Pod

对于多副本部署(如 replicas: 2),SQLite 不安全,因为多个 Pod 会同时写入同一文件。应使用外部 PostgreSQL 实例并在 config.yaml 中设置连接字符串 。


Agent 友好特性

LangBot 设计上对 AI Agent 友好——你的编码代理(Claude Code、Codex、Copilot、Cursor 等)可以操作、扩展和部署 LangBot :

  • MCP Server:LangBot 在 /mcp 暴露内置的 Model Context Protocol 端点,镜像 HTTP API,允许 Agent 以编程方式管理机器人、流水线、插件和模型
  • 仓库内 Skillsskills/ 目录是与 LangBot 协作的唯一真相来源
  • AGENTS.md:每个仓库都附带 AGENTS.md(符号链接到 CLAUDE.md),描述架构、约定和规则

总结

部署方案 适用场景 难度 推荐度
Docker Compose 大多数用户,生产环境 ⭐⭐⭐⭐⭐
uvx 一键启动 快速体验 ⭐⭐⭐
Kubernetes 企业级、需要扩展 ⭐⭐⭐⭐ ⭐⭐⭐⭐
云平台一键部署 无服务器管理需求 ⭐⭐⭐⭐

对于大多数用户,Docker Compose 完整模式是最简单直接的选择:

1
2
3
git clone https://github.com/langbot-app/LangBot
cd LangBot/docker
docker compose --profile all up -d

然后访问 http://127.0.0.1:5300,使用 LangBot Space 初始化或手动配置模型,即可在 5 分钟内将 AI 机器人部署到 Discord、Telegram、微信等平台。