tock
欧洲8年生产验证的开源对话AI平台,20+渠道开箱即用,Docker一键部署
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
欧洲8年生产验证的开源对话AI平台,20+渠道开箱即用,Docker一键部署
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
法国安盛保险(AXA)需要一套能同时对接网站客服、WhatsApp、Teams 和 Apple Business Chat 的智能对话系统。采购 Salesforce Einstein Bot?每年授权费动辄数十万欧元。自研?从头训练 NLP 模型、接入数十个消息渠道,光是渠道适配代码就要写上大半年。
2017 年,法国创业公司 SNCF Connect & Tech(现 SNCF Digital)交出了另一种答案——Tock(The Open Conversation Kit)。一个开源平台,让企业用 Kotlin 就能构建生产级对话式 AI 应用,支持 20+ 主流消息渠道,无需被任何云服务商锁定。

图1:Tock Studio 管理界面,支持故事流编排与对话分析
Tock 最早于 2017 年 3 月开源,至今已超过 8 年持续维护(最新版本 26.3.3)。项目采用 Apache-2.0 许可证,由法国国家铁路公司(SNCF)孵化并在其内部生产环境验证——每天处理数万次真实旅客问询对话,积累了金融、保险、交通、政务等多个行业的落地经验。
项目仓库包含 5547 个文件,涵盖 Kotlin 后端、NLP 模型、Web 管理界面、20+ 消息渠道连接器,以及 2024 年新增的 Gen AI 编排模块。贡献者遍布全球,不仅是法国项目,也是欧洲企业级对话 AI 的标杆开源选择。
Tock 的架构清晰分为四层,每层可独立使用或组合部署:
Tock 内置完整的自然语言理解流水线,兼容 OpenNLP、Stanford NLP、Rasa 和自定义模型。支持意图识别(Intent Classification)、实体抽取(Entity Extraction)、对话状态管理(Duckling 日期/数字识别)。NLP 模型可本地训练(支持 AWS Batch 按需训练),也可以接入 SageMaker 等云端服务。
// Kotlin DSL 定义意图
story("查询余额") {
intent("query_balance") {
// 实体提取
val accountType: String by extractedEntity()
// 业务逻辑
bot.ask(AccountTypeResponse)
}
}
Bot 引擎负责对话流程编排,支持:
Tock 最亮眼的部分——内置 20+ 消息渠道连接器,开箱即用:
| 类别 | 连接器 |
|---|---|
| 即时通讯 | Messenger、WhatsApp、WhatsApp Cloud、Telegram、Teams、Slack |
| 语音助手 | Google Assistant、Alexa、Apple Business Chat |
| 协作工具 | RocketChat、Mattermost、Google Chat、iAdvize |
| 其他 | Twitter、Open AI、Web(自定义嵌入)、Rest/Webhook |
| AI 服务 | OpenAI(ChatGPT 集成) |
2024 年新增的生成式 AI 模块,支持:

图2:Tock Google Chat 连接器支持紧凑模式和详细模式
Tock 提供开箱即用的 Web 管理界面 Tock Studio(Angular 17 + Nebular UI + ECharts 图表):
所有界面配置数据存储在 MongoDB,Bot 开发者无需直接操作数据库,通过 UI 即可完成 90% 的配置工作。
Tock 的部署高度容器化。虽然主仓库(tock)本身不含 Dockerfile,但官方提供了独立仓库 tock-docker(★26,36 forks)专门维护部署配置:
# 克隆部署仓库
git clone https://github.com/theopenconversationkit/tock-docker
cd tock-docker
# 一键启动完整平台(MongoDB + NLP Admin + Bot Admin + Bot API)
docker-compose up -d
# 或启动带 RAG 功能的版本
docker-compose -f docker-compose-rag.yml up -d
提供多种 compose 组合:
docker-compose.yml — 基础平台docker-compose-mongo-only.yml — 仅 MongoDBdocker-compose-rag.yml — 带 RAG 向量检索docker-compose-gen-ai-orchestrator.yml — 带 Gen AI 编排docker-compose-langfuse-only.yml — 仅 Langfuse 监控硬件需求:无需 GPU,4GB RAM + 2GB 磁盘即可运行基础版本。生产环境建议 8GB+ RAM。
| 组件 | 技术选型 | 说明 |
|---|---|---|
| 主力语言 | Kotlin 2.3.10 | JVM 17,协程支持 |
| Web 前端 | Angular 17 | Nebular UI 主题,ECharts 可视化 |
| 异步框架 | Vert.x 5.0 | 高性能响应式编程 |
| 数据库 | MongoDB | KMongo 5.6 驱动 |
| REST 客户端 | Retrofit 3 + OkHttp 5 | 渠道连接器通信 |
| JSON 处理 | Jackson 2.21 | 数据序列化 |
| 认证 | Pac4j 6.5 | 支持 OIDC/SAML |
| AI/LLM | OpenAI 4.x / 自训练 NLP | 双轨支持 |
| 构建工具 | Maven 3 | 根 pom 管理 7 大模块 |
优势:
局限:
一句话总结:Tock 是欧洲血统的企业级对话 AI 全栈平台,8 年生产验证,20+ 渠道开箱即用,Docker 一键部署,是构建企业级智能客服与对话助手的可靠选择。