docs: update

This commit is contained in:
digua
2026-03-12 21:14:39 +08:00
committed by digua
parent a633b4f326
commit 4df938a152
4 changed files with 204 additions and 22 deletions
+99
View File
@@ -0,0 +1,99 @@
<div align="center">
<img src="./public/images/chatlab.svg" alt="ChatLab" title="ChatLab" width="300" />
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)
</div>
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/) を参照してください。
![Preview Interface](/public/images/intro_en.png)
## システムアーキテクチャ
### 設計原則(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
+2 -18
View File
@@ -2,9 +2,9 @@
<img src="./public/images/chatlab.svg" alt="ChatLab" title="ChatLab" width="300" />
Turn messy chat exports into clear, local-first insights.
Rediscover your social memories with private, AI-powered analysis.
English | [简体中文](./README.zh-CN.md)
English | [简体中文](./README.zh-CN.md) | [繁體中文](./README.zh-TW.md) | [日本語](./README.ja-JP.md)
[Official Website](https://chatlab.fun/) · [Download](https://chatlab.fun/?type=download) · [Documentation](https://chatlab.fun/usage/) · [Roadmap](https://chatlabfun.featurebase.app/roadmap) · [Issue Submission](https://github.com/hellodigua/ChatLab/issues)
@@ -84,22 +84,6 @@ pnpm install
pnpm dev
```
### Common Scripts
```bash
# type checks (web + node)
pnpm type-check:all
# lint and auto-fix
pnpm lint
# format files
pnpm format
# build app
pnpm build
```
If Electron encounters exceptions during startup, you can try using `electron-fix`:
```bash
+4 -4
View File
@@ -2,17 +2,17 @@
<img src="./public/images/chatlab.svg" alt="ChatLab" title="ChatLab" width="300" />
本地化的聊天记录分析工具,通过 SQL 和 AI Agent 回顾你的社交记忆
本地化的聊天记录分析工具,通过 AI Agent 回顾你的社交记忆
[English](README.md) | 简体中文
[English](./README.md) | 简体中文 | [繁體中文](./README.zh-TW.md) | [日本語](./README.ja-JP.md)
[官网](https://chatlab.fun/cn/) · [下载指南](https://chatlab.fun/cn/?type=download) · [项目文档](https://chatlab.fun/cn/usage/) · [路线图](https://chatlabfun.featurebase.app/roadmap) · [问题提交](https://github.com/hellodigua/ChatLab/issues)
</div>
ChatLab 是一个专注于社交记录分析的本地化应用。通过 AI 智能体和灵活的 SQL 引擎,你可以自由地拆解、查询甚至重构你的聊天记录数据。
ChatLab 是一个专注于社交记录分析的本地化应用。通过 AI Agent和灵活的 SQL 引擎,你可以自由地拆解、查询甚至重构你的聊天记录数据。
目前已支持: WhatsApp、LINE、微信、QQ、Discord、Instagram、Telegram的聊天记录分析,即将支持: iMessage、Messenger、Kakao Talk。
目前已支持: WhatsApp、LINE、QQ、Discord、Instagram、Telegram的聊天记录分析,即将支持: iMessage、Messenger、Kakao Talk。
## 核心特性
+99
View File
@@ -0,0 +1,99 @@
<div align="center">
<img src="./public/images/chatlab.svg" alt="ChatLab" title="ChatLab" width="300" />
在本機分析聊天記錄,透過 AI Agent 重新看見你的社交記憶
[English](./README.md) | [简体中文](./README.zh-CN.md) | 繁體中文 | [日本語](./README.ja-JP.md)
[官網](https://chatlab.fun/tw/) · [下載指南](https://chatlab.fun/tw/?type=download) · [使用文件](https://chatlab.fun/tw/usage/) · [Roadmap](https://chatlabfun.featurebase.app/roadmap) · [問題回報](https://github.com/hellodigua/ChatLab/issues)
</div>
ChatLab 是一款專注於社交記錄分析的本機應用。結合 AI Agent 與靈活的 SQL 引擎,你可以更自由地拆解、查詢,甚至重新理解自己的聊天資料。
目前已支援:WhatsApp、LINE、QQ、Discord、Instagram、Telegram 的聊天記錄分析;即將支援:iMessage、Messenger、KakaoTalk。
## 核心特色
- 🚀 **高效處理大型資料**:採用串流計算與多執行緒架構,就算是百萬筆聊天記錄,依然能保持流暢的匯入與分析體驗。
- 🔒 **預設重視隱私**:聊天記錄與設定都保留在本機,分析流程也以本地執行為主(AI 功能除外)。
- 🤖 **可實際操作資料的 AI Agent**:內建 10+ 個 Function Calling 工具,可依任務動態調度,深入挖掘聊天脈絡與重點。
- 📊 **多維度視覺化分析**:提供活躍度趨勢、時段分布、成員排行等多種圖表與分析視角。
- 🧩 **統一資料格式**:透過穩定的資料抽象層,抹平不同聊天平台的匯出差異,分析流程更一致。
## 使用指南
- [下載 ChatLab 指南](https://chatlab.fun/tw/?type=download)
- [匯出聊天記錄指南](https://chatlab.fun/tw/usage/how-to-export.html)
- [標準化格式規範](https://chatlab.fun/tw/standard/chatlab-format.html)
- [疑難排解指南](https://chatlab.fun/tw/usage/troubleshooting.html)
## 預覽畫面
更多畫面請前往官網 [chatlab.fun](https://chatlab.fun/tw/)
![預覽畫面](/public/images/intro_zh.png)
## 系統架構
### 架構原則(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 前請遵循以下原則:
- 明顯的 Bug 修復可直接提交
- 新功能請先提交 Issue 討論,**未經討論直接提交的 PR 會被關閉**
- 一個 PR 盡量只處理一件事;若改動較大,建議拆分成多個獨立 PR
## 隱私權政策與使用者協議
使用本軟體前,請先閱讀 [隱私權政策與使用者協議](./src/assets/docs/agreement_zh_tw.md)
## License
AGPL-3.0 License