ChatLab — Chat History Analyzer
Local-first AI chat history analysis tool that puts your conversations back in your hands.
- Source repo
- ChatLab/ChatLab
- Stars
- ★ 7.5k
- Last updated
- 6d ago
- License
- AGPL-3.0
- Primary language
- TypeScript
- FA score
- 42/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platform
- Cost
- Free software; you pay for model usage
- Setup effort
- Low · running in minutes
- You'll need
- Typical use
- A social media researcher analyzing millions of WhatsApp or Telegram messages to identify interaction patterns and trends.
- Not a fit if
- Users who need Messenger or KakaoTalk analysis, which are not yet supported
- Teams planning closed-source commercial use or unable to accept AGPL-3.0 copyleft terms
- Source review
- 42/100 · Major gaps 2 safety controls not found
What does this agent do, and when should you use it?
ChatLab is an open-source desktop app for understanding your social conversations. It combines a flexible SQL engine with AI agents to explore patterns, ask better questions, and extract insights from chat data, all on your own machine. It supports WhatsApp, LINE, QQ, Discord, Instagram, Telegram, iMessage, and Google Chat, with Messenger and KakaoTalk on the roadmap. Data stays local by default, and no raw conversations are uploaded to the cloud. Its AI features use an Agent + Function Calling workflow with 24+ tools for search, summarization, and analysis. The app provides insight-rich visual views for trends, time patterns, interaction frequency, rankings, and more. It normalizes different export formats into a unified model for consistent analysis. Both a desktop app and a CLI are available.
ChatLab provides both a desktop app (Electron-based) and a CLI. The CLI command chatlab start launches the API and Web UI, with options like --no-open and --headless for scripting. It reads chat export files from supported platforms, performs format detection, stream parsing, local persistence, then SQL and AI query stages, and finally visualizes results using the Web UI. The core operation involves a flexible SQL engine for custom queries and an AI agent system with 24+ tools that can search, summarize, and analyze chat records with context. It supports cross-platform normalization by mapping different export formats into a unified model. The CLI can run as a persistent background service using chatlab start --daemon, with chatlab status and chatlab stop for management. The data flow is: format detection → stream parsing → local persistence → SQL + AI query → visualization.
- A social media researcher analyzing millions of WhatsApp or Telegram messages to identify interaction patterns and trends.
- An individual seeking to understand their own chat history, such as frequency of interactions and active hours with friends.
- A customer support team extracting common issues and feedback from Discord or Instagram chat logs.
- A data analyst who wants to run custom SQL queries on their chat data and combine them with AI-powered summaries.
- A privacy-conscious user analyzing chat records locally without uploading data to the cloud.
How do you install or deploy this agent?
Desktop app: download the installer for your OS from the official website (https://chatlab.fun/) or GitHub Releases, then double-click to install. CLI: ensure Node.js >= 20, then run npm i chatlab-cli -g. For development, use Node.js >= 24 < 25 and pnpm >= 9 < 10, then pnpm install and pnpm dev.
How do you use this agent?
CLI usage: run chatlab start to start the API + Web UI and auto-open in the browser; use chatlab start --no-open to skip auto-open; use chatlab start --headless for API only. Common options: --port <port> (default 3110), --host <address>, --token <token>. To run as a persistent background service (auto-start on login + auto-restart on crash), use chatlab start --daemon (macOS/Linux), then chatlab status and chatlab stop. The desktop app allows importing chat export files directly and following the guided setup.
What are this agent's strengths and limitations?
- Local-first design keeps chat data on-device by default, enhancing privacy.
- Supports a wide range of chat platforms with unified data normalization.
- Combines a flexible SQL engine with AI tools for powerful, flexible analysis.
- Stream parsing and multi-worker processing handle million-message scales smoothly.
- AGPL-3.0 license may not suit certain commercial use cases.
- CLI requires Node.js 20+, and development requires Node.js 24 and pnpm 9, which can be a high setup bar.
- AI features depend on external model providers, potentially incurring API costs.
- Messenger and KakaoTalk are not yet supported, limiting coverage.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| ChatLab — Chat History Analyzer This agent | 42 · Major gaps | Desktop appFree + model costs | ★ 7.5k | 6d ago | TypeScript | — |
| Bough Work and Cost Explorer | 77 · Good | CLIFree | ★ 126 | 17d ago | Go | Codex · Claude Code |
| Business Analytics Agent | 60 · Some gaps | Desktop appFree + model costs | ★ 2.6k | 10d ago | JavaScript | OpenAI API |
| BambooAI Data Analyst | 85 · Good | Web appFree + model costs | ★ 803 | today | Python | OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence: README claims local-first and no mandatory cloud upload, but no implementation details; tests show render_chart tool is read-only, but no user confirmation mechanism; data flow transparency is only declarative; sensitive data handling (chat records) lacks encryption or anonymization; dependency security: versions are recent but no vulnerability scan or lockfile details; external effects: CLI starts local service but no permission boundaries; rollback absent; source attribution: author info present but publisher unverified. Deductions: lack of user confirmation, rollback, data flow transparency only declarative, sensitive data handling not concrete.
Evidence: README and package.json consistent; tests show integration tests but no full suite results; dependency availability: Node version specified but not all dependencies' availability; failure messages: assertions in tests but no user-friendly error messages. Deductions: dependency availability not fully verified, failure messages only at test level.
Evidence: README defines target users and scenarios, supports multiple platforms; capability boundaries: lists supported platforms but not AI tool limitations; trigger precision: CLI commands have clear parameters but no detailed trigger conditions; environment fit: desktop and CLI supported but not all OS details. Deductions: capability boundaries and trigger precision not detailed.
Evidence: README structure clear with installation, usage, architecture; install notes detailed; naming: project and package names consistent but version not mentioned in README; examples and FAQ: quick start and troubleshooting links but no full examples in repo; known limitations: upcoming platforms mentioned but not other limitations; license AGPL-3.0; versioning changelog: changelogs directory exists but not explicit in README; maintenance responsibility: contribution guide but no maintainer clarity. Deductions: naming stability, known limitations, maintenance responsibility not clear.
Evidence: output usability: visual views and CLI output but no specific output format; marginal value: AI analysis adds value but no comparison; cost benefit: open source free but no performance data. Deductions: cost benefit lacks data.
Evidence: README claims (e.g., local-first) partially supported by tests (e.g., read-only test), but no full traceability; cross-source verification absent; fact vs inference: claims are mostly inference, not clearly separated. Deductions: claim traceability insufficient, cross-source verification missing.
- Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Publisher identity unverified; proceed with caution.
- Data flow transparency and sensitive data handling are only declarative; inspect actual code.
- No user confirmation or rollback mechanisms; may affect data safety.
- Dependency security lacks vulnerability scanning info; check dependency versions.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
v0.37.5 ChatLab v0.37.5
Release notes excerpt
What's New Unify right-side panels, add desktop UI scaling, and fix session loading, data source configuration, and model downloads through proxies. 更新内容 统一右侧面板交互,新增桌面界面缩放,并修复会话加载、数据源配置与代理模型下载问题。 --- Full Changelog: [English](https://github.com/ChatLab/ChatLab/blob/main/changelogs/en.md) | [中文](https://github.com/ChatLab/ChatLab/blob/main/changelogs/cn.md) | [日本語](https://github.com/ChatLab/ChatLab/blob/main/changelogs/ja.md) --- Download | Platform | File | |-----------------|-------------| …View on GitHub ↗ -
v0.37.4 ChatLab v0.37.4
Release notes excerpt
What's New Improve context budgeting for AI tool results, fix Qwen topic summaries, and show clearer session-loading errors. 更新内容 优化 AI 工具结果的上下文控制,修复 Qwen 话题总结问题,并完善会话加载失败提示。 --- Full Changelog: [English](https://github.com/ChatLab/ChatLab/blob/main/changelogs/en.md) | [中文](https://github.com/ChatLab/ChatLab/blob/main/changelogs/cn.md) | [日本語](https://github.com/ChatLab/ChatLab/blob/main/changelogs/ja.md) --- Download | Platform | File | |-----------------|-------------| …View on GitHub ↗ -
v0.37.3 ChatLab v0.37.3
Release notes excerpt
What's New Fix AI time filters, Qwen compatibility, and conversation continuation, and improve multilingual support and message context retrieval. 更新内容 修复 AI 时间筛选、Qwen 模型兼容与续聊问题,完善多语言支持和消息上下文查询。 --- Full Changelog: [English](https://github.com/ChatLab/ChatLab/blob/main/changelogs/en.md) | [中文](https://github.com/ChatLab/ChatLab/blob/main/changelogs/cn.md) | [日本語](https://github.com/ChatLab/ChatLab/blob/main/changelogs/ja.md) --- Download | Platform | File | |-----------------|-------------| …View on GitHub ↗