ChatLab /ChatLab

Local-first chat history analyzer with AI. | 本地优先的 AI 聊天记录分析工具

★ 7,617⑂ 1,544👁 18▤ 83
TypeScriptCreated 2025-11-26chatlab.fun
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

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON