Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

hellodigua/ChatLab

Repository files navigation

ChatLab

ChatLab 是一个免费、开源、本地化的,专注于分析聊天记录的应用。通过 AI Agent 和灵活的 SQL 引擎,你可以自由地拆解、查询甚至重构你的社交数据。

我们拒绝将你的隐私上传云端,而是把强大的分析能力直接塞进你的电脑。

目前已支持:微信、QQ、WhatsApp 的聊天记录分析,即将支持:iMessage、Discord、LINE。

项目目前还处于早期迭代阶段,因此还有很多缺陷和未完成功能。若您遇到了任何问题,欢迎随时反馈。

核心特性

  • 🚀 极致性能:使用流式计算与多线程并行架构,就算是百万条级别的聊天记录,依然拥有丝滑交互和响应。
  • 🔒 保护隐私:聊天记录和配置都存在你的本地数据库,所有分析都在本地进行(AI 功能例外)。
  • 🤖 智能 AI Agent:集成 10+ Function Calling 工具,支持动态调度,深度挖掘聊天记录中的更多有趣。
  • 📊 多维数据可视化:提供活跃度趋势、时间规律分布、成员排行等多个维度的直观分析图表。
  • 🧩 格式标准化:通过强大的数据抽象层,抹平不同聊天软件的格式差异,任何聊天记录都能分析。

使用指南

预览界面

预览更多请前往官网 chatlab.fun

预览界面

系统架构

Electron 主进程

  • electron/main/index.ts 负责应用生命周期、窗口管理、自定义协议注册
  • electron/main/ipc/ 按功能拆分 IPC 模块(窗口、聊天、合并、AI、缓存),确保数据交换安全可控
  • electron/main/ai/ 集成多家 LLM,内置 Agent 管道、提示词拼装、Function Calling 工具注册

Worker 与数据管线

  • electron/main/worker/ 中的 workerManager 统筹 Worker 线程,dbWorker 负责路由消息
  • worker/query/* 承担活跃度、AI 搜索、高级分析、SQL 实验室等查询;worker/import/streamImport.ts 提供流式导入
  • parser/ 目录采用嗅探 + 解析三层架构,能在恒定内存下处理 GB 级日志文件

渲染进程

  • Vue 3 + Nuxt UI + Tailwind CSS 负责可视化页面。src/pages 存放各业务页面,src/components/analysissrc/components/charts 等目录提供复用组件
  • src/stores 通过 Pinia 管理会话、布局、AI 提示词等状态;src/composables/useAIChat.ts 封装 AI 对话流程
  • 预加载脚本 electron/preload/index.ts 暴露 window.chatApi/mergeApi/aiApi/llmApi,确保渲染进程与主进程通信安全隔离

本地运行

启动步骤

Node.js 环境依赖 v20+

# 安装依赖
pnpm install
# 启动开发服务器
pnpm run dev

若 Electron 在启动时异常,可尝试使用 electron-fix:

npm install electron-fix -g
electron-fix start

贡献指南

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

  • 明显的 Bug 修复可直接提交
  • 对于新功能,请先提交 Issue 进行讨论,未经讨论直接提交的 PR 会被关闭
  • 一个 PR 尽量只做一件事,若改动较大,请考虑拆分为多个独立的 PR

隐私政策与用户协议

使用本软件前,请阅读 隐私政策与用户协议

License

AGPL-3.0 License

About

本地化的聊天记录分析工具,通过 SQL 和AI Agent 回顾你的聊天记录

Resources

License

Stars

Watchers

Forks

Contributors 2

Languages

AltStyle によって変換されたページ (->オリジナル) /