© 2026FindAgent  · @simprr
返回列表
h

hellodigua/ChatLab

Rediscover your social memories with local, AI-powered analysis. 本地化的聊天记录分析工具,通过 AI Agent 回顾你的社交记忆。

aichat-analysischat-historydata-analysisdata-visualizationelectronnlptypescript
⭐

5.2k

Stars

🔱

1.2k

Forks

👁

18

Watchers

📋

11

Issues

TypeScriptAGPL-3.0创建于 2025/11/26更新于 今天
在 GitHub 上查看访问主页
README
由 Gemini 翻译整理

ChatLab

通过本地化的 AI 分析,重新探索你的社交记忆。

English | 简体中文 | 繁體中文 | 日本語

官方网站 · 下载 · 文档 · 路线图 · 提交 Issue

ChatLab 是一款开源桌面应用,旨在帮你深入理解自己的社交对话。它结合了灵活的 SQL 引擎与 AI Agent,让你能够在本地机器上探索聊天模式、提出更有价值的问题,并从聊天数据中挖掘洞察。

目前支持:WhatsApp, LINE, WeChat, QQ, Discord, Instagram, 和 Telegram。即将支持:iMessage, Messenger, 和 KakaoTalk。

核心功能

  • 🚀 专为海量历史记录打造:流式解析与多线程处理确保了即使在百万级消息规模下,导入和分析依然流畅响应。
  • 🔒 默认隐私保护:你的聊天数据和设置均保存在本地。无需强制上传任何原始对话到云端。
  • 🤖 真正可操作数据的 AI:Agent + Function Calling 工作流能够结合上下文搜索、总结并分析聊天记录。
  • 📊 丰富的可视化洞察:在一个界面中查看趋势、时间模式、互动频率、排行榜等信息。
  • 🧩 跨平台标准化:将不同的导出格式映射到统一的数据模型中,从而实现一致的分析体验。

使用指南

  • 下载指南
  • 聊天记录导出指南
  • 标准化格式规范
  • 故障排除指南

预览

如需查看更多预览,请访问官方网站:chatlab.fun

Preview Interface

系统架构

架构原则

  • 默认本地优先:除非你明确选择,否则原始聊天数据、索引和设置均保留在设备上。
  • 流式处理优于缓存:优先采用流式解析和增量处理,保持大规模导入时的稳定性和内存高效性。
  • 可组合的智能:AI 功能通过 Agent + Tool Calling 组装而成,而非硬编码在单一模型路径中。
  • Schema 优先的演进:导入、查询、分析和可视化共享统一的数据模型,随着新功能的增加而扩展。

运行时架构

  • 主进程 (控制平面):electron/main/index.ts 处理生命周期和窗口。electron/main/ipc/ 定义了领域范围的 IPC,而 electron/main/ai/ 和 electron/main/i18n/ 提供共享的 AI 和国际化服务。
  • 工作线程层 (计算平面):electron/main/worker/ 通过 workerManager 运行导入、索引和查询任务,将 CPU 密集型工作从 UI 线程中分离。
  • 渲染层 (交互平面):Vue 3 + Nuxt UI + Tailwind CSS 驱动管理、私聊、群聊和分析界面。electron/preload/index.ts 暴露了严格受限的 API,以确保进程边界的安全性。

数据流水线

  1. 获取 (Ingestion):parser/ 检测文件格式并分发给匹配的解析器模块。
  2. 持久化 (Persistence):基于流的写入方式填充核心本地实体:会话、成员和消息。
  3. 索引 (Indexing):构建面向会话和时间的索引,以便进行时间线导航和检索。
  4. 查询与分析 (Query & Analysis):worker/query/* 为活动度指标、互动分析、SQL Lab 和 AI 辅助探索提供支持。
  5. 展示 (Presentation):渲染层将查询结果转换为图表、排行榜、时间线和对话分析流。

可扩展性与可靠性

  • 插件化解析器架构:添加新的导入源主要是在 parser/formats/* 中进行扩展,无需重构下游的查询逻辑。
  • 全量 + 增量导入路径:streamImport.ts 和 incrementalImport.ts 支持首次导入和后续的数据同步。
  • 模块化 IPC 边界:基于领域的 IPC 分割减少了层间耦合,并限制了权限范围。
  • 统一的 i18n 演进:主进程和渲染进程共享一套国际化系统,可随产品需求扩展。

本地开发

环境要求

  • Node.js >= 20
  • pnpm

安装设置

# install dependencies
pnpm install

# run electron app in dev mode
pnpm dev

如果 Electron 在启动时遇到异常,可以尝试使用 electron-fix:

npm install electron-fix -g
electron-fix start

贡献指南

在提交 Pull Request 之前,请遵循以下原则:

  • 明显的 Bug 修复可以直接提交。
  • 对于新功能,请先提交 Issue 进行讨论;未经讨论直接提交的 PR 将被关闭。
  • 保持一个 PR 只专注于一个任务;如果改动较大,请考虑将其拆分为多个独立的 PR。

隐私政策

(此处为隐私相关内容,请参阅项目文档)

贡献者
hxnJbhl
项目信息
默认分支main
LicenseGNU Affero General Public License v3.0
创建时间2025/11/26
最近更新今天
GAI 中文摘要

ChatLab 是一款基于 Electron 开发的桌面端开源聊天记录分析工具,旨在通过本地运行的 AI 技术帮助用户回顾并挖掘社交数据中的潜在记忆。该项目通过整合灵活的 SQL 引擎与 AI Agent,解决了多平台聊天记录数据割裂、隐私安全隐患及海量信息难以分析的问题。

支持 WhatsApp、微信、QQ、Discord 等主流社交平台的聊天记录导入与统一模型化处理。采用流式解析与多线程架构,确保在百万级消息规模下依然保持流畅的响应与分析能力。内置基于 AI Agent 和函数调用的分析工作流,能够精准实现聊天记录的上下文搜索、总结与深度挖掘。提供可视化数据仪表盘,直观展示用户互动频率、时间规律及社交热度排行等洞察。强调隐私优先原则,所有原始聊天数据与配置均存储在本地,无需将敏感信息上传至云端。

该工具适用于需要深度整理与复盘社交记忆的个人用户,特别适合对数据隐私有高要求,或希望通过 AI 快速梳理跨平台多账号沟通轨迹的重度聊天记录使用者。