7,617
stars
+0+5+136
1,544
forks
18
watchers
–
prs
–
issues
83
releases
–
discussions
README
聊天记忆驱动的 AI Agent English | 简体中文 官网 · 文档 · 快速开始 · 路线图 · Releases ChatLab 是一个专注于聊天记录分析的本地化应用。通过 AI Agent和灵活的 SQL 引擎,你可以自由地分析你的聊天记录数据。 目前已支持:WhatsApp、LINE、QQ、Discord、Instagram、Telegram、iMessage、Google Chat。即将支持:Messenger、KakaoTalk。 首次安装?从这里开始:快速开始 核心特性 - 🚀 极致性能:使用流式计算与多线程并行架构,就算是百万条级别的聊天记录,依然拥有丝滑交互和响应。 - 🔒 保护隐私:聊天记录和配置都存在你的本地数据库,所有分析都在本地进行(AI 功能例外)。 - 🤖 智能 AI Agent:集成 24+ Function Calling 工具,支持动态调度,深度挖掘聊天记录中的更多有趣。 - 📊 多维数据可视化:提供活跃度趋势、时间规律分布、成员排行等多个维度的直观分析图表。 - 🧩 格式标准化:通过强大的数据抽象层,抹平不同聊天软件的格式差异,即使是再小众的聊天软件,也能分析。 安装 桌面端 前往官网或 GitHub Releases 下载对应操作系统的安装包,双击安装即可。 CLI 需要 Node.js ≥ 20。 bash npm i chatlab-cli -g 启动 ChatLab: bash clb web 启动 API + Web UI,并在浏览器中打开 clb web --no-open 启动 API + Web UI,但不自动打开浏览器 clb web --headless 仅启动 API,不挂载 Web UI(供脚本 / AI Agent 调用) 常用选项:--port (默认 3110)、--host 、--token 。 如果希望服务常驻后台(开机自启 + 崩溃自动重启): bash clb web --daemon 注册为系统服务(macOS / Linux) clb status 查看常驻状态 clb stop 停止并取消常驻 完整使用说明请见快速开始指南。 使用指南 - 下载 ChatLab 指南 - 导出聊天记录指南 - 标准化格式规范 - 故障排查指南 预览界面 预览更多请前往官网 chatlab.fun !预览界面 架构概览 ChatLab 是一个基于 pnpm monorepo 的工程,桌面端使用 Electron + Vue 3 + Nuxt UI + Tailwind CSS,核心业务逻辑沉淀在共享包(@openchatlab/core、@openchatlab/node-runtime、@openchatlab/tools),桌面端与 CLI 服务端复用同一份逻辑,保持功能同步。 数据流分五个阶段:格式嗅探 → 流式解析 → 本地落盘 → SQL + AI 查询 → 可视化呈现。 详细架构请参考项目文档。 架构原则 - Local-first by default:原始聊天记录、索引与配置默认留在本地,优先保护隐私边界。 - Streaming over buffering:以流式解析和增量处理为核心,面向大体量导出文件保持稳定吞吐。 - Composable intelligence:AI 能力通过 Agent + Tool Calling 组合,避免将业务逻辑硬编码到单一模型。 - Schema-first evolution:围绕统一数据结构构建导入、查询、分析与可视化,降低演进成本。 --- 本地开发 完整协作者说明见开发指南。 环境要求 - Node.js = 24 = 11 License AGPL-3.0 License