https://github.com/hellodigua/ChatLab
Rediscover your social memories with local, AI-powered analysis. 本地化的聊天记录分析工具,通过 AI Agent 回顾你的社交记忆。
https://github.com/hellodigua/ChatLab
ai chat-analysis chat-history data-analysis data-visualization electron nlp typescript
Last synced: 5 days ago
JSON representation
Rediscover your social memories with local, AI-powered analysis. 本地化的聊天记录分析工具,通过 AI Agent 回顾你的社交记忆。
- Host: GitHub
- URL: https://github.com/hellodigua/ChatLab
- Owner: hellodigua
- License: agpl-3.0
- Created: 2025-11-26T05:54:26.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-03-26T16:04:36.000Z (9 days ago)
- Last Synced: 2026-03-26T17:21:11.201Z (9 days ago)
- Topics: ai, chat-analysis, chat-history, data-analysis, data-visualization, electron, nlp, typescript
- Language: TypeScript
- Homepage: https://chatlab.fun
- Size: 4.82 MB
- Stars: 5,202
- Watchers: 18
- Forks: 1,239
- Open Issues: 10
-
Metadata Files:
- Readme: README.ja-JP.md
- License: LICENSE
Awesome Lists containing this project
README

AI Agent でチャット履歴をローカル分析し、あなたのソーシャルな記憶を掘り起こす
[English](./README.md) | [简体中文](./README.zh-CN.md) | [繁體中文](./README.zh-TW.md) | 日本語
[公式サイト](https://chatlab.fun/ja/) · [ダウンロードガイド](https://chatlab.fun/ja/?type=download) · [ドキュメント](https://chatlab.fun/ja/usage/) · [Roadmap](https://chatlabfun.featurebase.app/roadmap) · [Issue](https://github.com/hellodigua/ChatLab/issues)
ChatLab は、チャット履歴を深く理解するためのローカル完結型アプリです。AI Agent と柔軟な SQL エンジンを組み合わせることで、会話データを自由に調べ、分解し、新しい視点で読み解けます。
現在対応:WhatsApp、LINE、QQ、Discord、Instagram、Telegram。今後対応予定:iMessage、Messenger、KakaoTalk。
## 主な機能
- 🚀 **大規模データでも快適**:ストリーミング処理とマルチワーカー構成により、数百万件規模の履歴でも安定して取り込みと分析を行えます。
- 🔒 **プライバシーを優先**:チャット履歴と設定はローカルに保持され、分析も基本的に端末上で完結します(AI 機能を除く)。
- 🤖 **実データを扱える AI Agent**:10 以上の Function Calling ツールを備え、文脈に応じて動的に呼び分けながら履歴を掘り下げます。
- 📊 **多面的な可視化**:アクティブ度の推移、時間帯の傾向、メンバーランキングなどを分かりやすく確認できます。
- 🧩 **形式差分を吸収する標準化**:異なるチャットアプリのエクスポート形式を統一モデルに変換し、同じ視点で比較・分析できます。
## ガイド
- [ChatLab ダウンロードガイド](https://chatlab.fun/ja/?type=download)
- [チャット履歴の書き出しガイド](https://chatlab.fun/ja/usage/how-to-export.html)
- [標準フォーマット仕様](https://chatlab.fun/ja/standard/chatlab-format.html)
- [トラブルシューティング](https://chatlab.fun/ja/usage/troubleshooting.html)
## プレビュー
その他の画面は公式サイト [chatlab.fun](https://chatlab.fun/ja/) を参照してください。

## システムアーキテクチャ
### 設計原則(Architecture Principles)
- **Local-first by default**:生のチャット履歴、インデックス、設定は原則として端末内に保持し、プライバシー境界を優先します。
- **Streaming over buffering**:ストリーミング解析と増分処理を中心に据え、大きなエクスポートでも安定した処理性能を保ちます。
- **Composable intelligence**:AI 機能は Agent + Tool Calling の組み合わせで構成し、単一モデルの固定ロジックに閉じません。
- **Schema-first evolution**:統一データモデルを軸に取り込み、検索、分析、可視化を設計し、将来の拡張を進めやすくします。
### 実行時アーキテクチャ(Runtime Architecture)
- **Main Process(制御層)**:`electron/main/index.ts` がライフサイクルとウィンドウを管理し、`electron/main/ipc/` がドメイン別 IPC を提供します。`electron/main/ai/` と `electron/main/i18n/` は AI と多言語化の基盤です。
- **Worker Layer(計算層)**:`electron/main/worker/` が `workerManager` を通じて取り込み、索引作成、検索処理を分離し、UI スレッドの負荷を抑えます。
- **Renderer Layer(表示・操作層)**:Vue 3 + Nuxt UI + Tailwind CSS を基盤に、管理画面、個別チャット、グループチャット、分析画面を構成します。`electron/preload/index.ts` から限定的な API を公開し、安全な境界を保ちます。
### データパイプライン(Data Pipeline)
1. **取り込み**:`parser/` が形式を判定し、対応するパーサーに処理を振り分けます。
2. **保存**:ストリーミング書き込みで、セッション、メンバー、メッセージなどの主要データをローカルに保存します。
3. **索引作成**:セッション軸と時間軸の索引を生成し、タイムライン表示や検索を支えます。
4. **検索と分析**:`worker/query/*` がアクティブ度分析、関係性分析、SQL Lab、AI 補助分析を支えます。
5. **表示**:レンダラー側で結果をグラフ、ランキング、タイムライン、対話型分析に変換します。
## ローカル開発
### 必要環境
- Node.js >= 20
- pnpm
### セットアップ
```bash
# 依存関係をインストール
pnpm install
# 開発モードで起動
pnpm dev
```
Electron の起動時に例外が発生する場合は、`electron-fix` を試してください。
```bash
npm install electron-fix -g
electron-fix start
```
## コントリビューション
Pull Request を送る前に、次の方針を確認してください。
- 明らかなバグ修正はそのまま提出して構いません
- 新機能は先に Issue で相談してください。**事前の議論がない PR はクローズされます**
- 1 つの PR は 1 つの目的に絞り、変更が大きい場合は分割を検討してください
## プライバシーポリシーと利用規約
利用前に [プライバシーポリシーと利用規約](./src/assets/docs/agreement_ja.md) を確認してください。
## License
AGPL-3.0 License