hellodigua / ChatLab
Rediscover your social memories with local, AI-powered analysis. 本地化的聊天记录分析工具,通过 AI Agent 回顾你的社交记忆。
AI Architecture Analysis
This repository is indexed by RepoMind. By analyzing hellodigua/ChatLab in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.
Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.
Repository Overview (README excerpt)
Crawler viewRediscover your social memories with private, AI-powered analysis. English | 简体中文 | 繁體中文 | 日本語 Official Website · Download · Documentation · Roadmap · Issue Submission ChatLab is an open-source desktop app for understanding your social conversations. It combines a flexible SQL engine with AI agents so you can explore patterns, ask better questions, and extract insights from chat data, all on your own machine. Currently supported: **WhatsApp, LINE, WeChat, QQ, Discord, Instagram, and Telegram**. Coming next: **iMessage, Messenger, and KakaoTalk**. Core Features • 🚀 **Built for large histories**: Stream parsing and multi-worker processing keep imports and analysis responsive, even at million-message scale. • 🔒 **Private by default**: Your chat data and settings stay local. No mandatory cloud upload of raw conversations. • 🤖 **AI that can actually operate on data**: Agent + Function Calling workflows can search, summarize, and analyze chat records with context. • 📊 **Insight-rich visual views**: See trends, time patterns, interaction frequency, rankings, and more in one place. • 🧩 **Cross-platform normalization**: Different export formats are mapped into a unified model so you can analyze them consistently. Usage Guides • Download Guide • Chat Record Export Guide • Standardized Format Specification • Troubleshooting Guide Preview For more previews, please visit the official website: chatlab.fun System Architecture Architecture Principles • **Local-first by default**: Raw chat data, indexes, and settings remain on-device unless you explicitly choose otherwise. • **Streaming over buffering**: Stream-first parsing and incremental processing keep large imports stable and memory-efficient. • **Composable intelligence**: AI features are assembled through Agent + Tool Calling, not hard-coded into one model path. • **Schema-first evolution**: Import, query, analysis, and visualization share a consistent data model that scales with new features. Runtime Architecture • **Main Process (control plane)**: handles lifecycle and windows. defines domain-scoped IPC, while and provide shared AI and localization services. • **Worker Layer (compute plane)**: runs import, indexing, and query tasks via , keeping CPU-heavy work off the UI thread. • **Renderer Layer (interaction plane)**: Vue 3 + Nuxt UI + Tailwind CSS drive management, private chat, group chat, and analysis interfaces. exposes tightly scoped APIs for secure process boundaries. Data Pipeline • **Ingestion**: detects file format and dispatches to the matching parser module. • **Persistence**: Stream-based writes populate core local entities: sessions, members, and messages. • **Indexing**: Session- and time-oriented indexes are built for timeline navigation and retrieval. • **Query & Analysis**: powers activity metrics, interaction analysis, SQL Lab, and AI-assisted exploration. • **Presentation**: The renderer turns query output into charts, rankings, timelines, and conversational analysis flows. Extensibility & Reliability • **Pluggable parser architecture**: Adding a new import source is mostly an extension in , without reworking downstream query logic. • **Full + incremental import paths**: and support both first-time onboarding and ongoing updates. • **Modular IPC boundaries**: Domain-based IPC segmentation reduces cross-layer coupling and limits permission spread. • **Unified i18n evolution**: Main and renderer processes share an i18n system that can evolve with product scope. --- Local Development Requirements • Node.js >= 20 • pnpm Setup If Electron encounters exceptions during startup, you can try using : Contributing Please follow these principles before submitting a Pull Request: • Obvious bug fixes can be submitted directly. • For new features, please submit an Issue for discussion first; **PRs submitted without prior discussion will be closed**. • Keep one PR focused on one task; if changes are extensive, consider splitting them into multiple independent PRs. Privacy Policy & User Agreement Before using this software, please read the Privacy Policy & User Agreement. License AGPL-3.0 License