babybitter 8b7d62e248 fix(analysis): separate system messages from emoji phrases
区分抖音导出中的显式系统通知、分享占位和用户表情,避免系统提示进入口头禅及语言、词频统计。

新增统一的系统/分享前缀识别,覆盖 [系统]、[系统消息]、[分享内容] 及对应全角和英文形式;不误判 [强壮]、[躺平] 等表情标签。口头禅、语言偏好以及 Node/Browser 词频分析支持文本与表情消息,并在统计阶段排除系统通知和分享占位;原始聊天记录保持不变。

补充脱敏合成数据回归测试,覆盖系统通知、分享内容占位排除以及表情保留。
2026-09-04 00:19:21 +08:00
2026-08-28 10:50:43 +08:00
2026-05-09 00:28:41 +08:00
2026-02-09 00:42:11 +08:00
2026-02-09 00:42:11 +08:00
2026-08-12 13:45:10 +08:00

ChatLab

Your chat history, finally yours.

English | 简体中文

Official Website · Docs · Quick Start · Roadmap · Releases

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, QQ, Discord, Instagram, Telegram, iMessage, and Google Chat. Coming next: Messenger and KakaoTalk.

New install? Start here: Getting started

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 (24+ tools) 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.

Installation

Desktop App

Download the installer for your OS from the official website or GitHub Releases, then double-click to install.

CLI

Requires Node.js ≥ 20.

npm i chatlab-cli -g

Start ChatLab:

clb web            # Start API + Web UI, auto-open in browser
clb web --no-open  # Start API + Web UI, skip auto-open
clb web --headless # API only, no Web UI (for scripts / AI Agents)

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):

clb web --daemon   # Install as system service (macOS / Linux)
clb status           # Check service status
clb stop             # Stop and uninstall service

For a full walkthrough, see the Quick Start guide.

Usage Guides

Preview

For more previews, please visit the official website: chatlab.fun

Preview Interface

Architecture Overview

ChatLab is a pnpm monorepo built on Electron + Vue 3 + Nuxt UI + Tailwind CSS. Core business logic lives in shared packages (@openchatlab/core, @openchatlab/node-runtime, @openchatlab/tools), consumed by both the desktop app and the CLI service — so they stay in sync.

Data flows in five stages: format detection → stream parsing → local persistence → SQL + AI query → visualization.

For a deep dive, see the architecture documentation.

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.

Local Development

For complete contributor instructions, see the Development Guide.

Requirements

  • Node.js >= 24 < 25
  • pnpm >= 11 < 12

Setup

# Install dependencies
pnpm install

# Start dev mode — prompts you to choose which app to launch
pnpm dev

Or launch a specific target directly:

pnpm dev:desktop   # Electron desktop app
pnpm dev:cli-web   # CLI Web frontend + local server
pnpm dev:web-wasm  # Browser-only Web WASM
pnpm dev:serve     # CLI server only
pnpm docs:dev      # Docs site

If Electron encounters exceptions during startup, you can try using electron-fix:

npm install electron-fix -g
electron-fix start

Privacy Policy & User Agreement

Before using this software, please read the Privacy Policy & User Agreement.

Community

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.
  • For local setup, repository structure, checks, and AI collaboration notes, see the Development Guide.

Thanks to all contributors:

License

AGPL-3.0 License

S
Description
本地化的聊天记录分析工具,通过 SQL 和 AI Agent 回顾你的社交记忆
Readme AGPL-3.0
23 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 75.7%
Vue 21%
JavaScript 1.9%
Rust 1.3%