セルフホスト型サービス
ChatLab/ChatLab avatar
ChatLab/ChatLab

ChatLabはチャット履歴をローカルでSQL分析する

AIによるローカルファーストのチャット履歴解析ツール。 | AI 。柔軟な SQL エンジンと AI エージェントを組み合わせているため、パターンを探索し、より適切な質問をし、チャット データから洞察を抽出することがすべて自分のマシン上で可能になります。

スター 7,356フォーク 1,510TypeScriptAGPL-3.0

ひと目でわかる

これは何?
WhatsAppなどの履歴を統一モデルへ取り込み、ストリーム処理、SQL、AIエージェント、可視化をデスクトップとCLIにまとめます。
誰に向いている?
自分の端末で複数サービスの会話履歴を横断検索したい個人やチームに適しています。クラウドへ原文を出せない条件ではローカル構成を選ぶべきですが、AI接続時のデータ経路は別途確認が必要です。
商用利用できる?
厳しい条件付きでできます。AGPL-3.0 はネットワーク型コピーレフトのライセンスで、改変版をホスティングサービスなどとしてネットワーク越しに利用させる場合、その利用者にソースコードを同じライセンスで提供する必要があります。
今もメンテナンスされている?
されています。最後のコミットは 3 日前です。
何の言語で書かれている?
主に TypeScript です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

対応する履歴形式と統一モデル

ChatLabはソーシャル会話を理解するオープンソースのデスクトップアプリです。READMEが現在対応として挙げるのはWhatsApp、LINE、QQ、Discord、Instagram、Telegram、iMessage、Google Chatで、MessengerとKakaoTalkは次の候補です。異なるエクスポート形式を共通モデルへ写像するため、サービスごとの日時、添付、参加者の扱いは同じだと決めつけず、サンプルを取り込んで欠落や重複を確認します。

ChatLabでは、個人情報を含まない小さなエクスポートを使い、取り込み前後のメッセージ件数と日時範囲を照合します。clb web --headless、ポート3110、token付き接続、SQL検索、可視化を順に確認し、AI機能を有効にした場合は外部モデルへ渡る本文とログを確認します。 第1章では、対応する履歴形式と統一モデルに関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

ストリーム処理とAI操作

大きな履歴向けにstream parsingと複数workerを使い、READMEは百万メッセージ規模でも応答性を保つ設計を説明しています。AI機能はAgentとFunction Callingのワークフローで、24以上のツールが検索、要約、分析を行います。これはREADMEの機能説明であり、端末性能やモデルを固定したベンチマークではありません。件数、メモリ、取り込み時間、SQLの結果をデータセットごとに測定します。

ChatLabでは、個人情報を含まない小さなエクスポートを使い、取り込み前後のメッセージ件数と日時範囲を照合します。clb web --headless、ポート3110、token付き接続、SQL検索、可視化を順に確認し、AI機能を有効にした場合は外部モデルへ渡る本文とログを確認します。 第2章では、ストリーム処理とAI操作に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

デスクトップとCLIの入口

デスクトップ版は公式サイトまたはGitHub ReleasesからOS別インストーラーを取得します。CLIはNode.js 20以上でnpm install -g chatlab-cliを実行し、clb webでAPIとWeb UIを起動できます。--no-openはブラウザを開かず、--headlessはAPIだけを起動し、標準ポートは3110です。--host、--token、--daemon、status、stopもあるため、公開する場合は認証と待受アドレスを実測します。

ChatLabでは、個人情報を含まない小さなエクスポートを使い、取り込み前後のメッセージ件数と日時範囲を照合します。clb web --headless、ポート3110、token付き接続、SQL検索、可視化を順に確認し、AI機能を有効にした場合は外部モデルへ渡る本文とログを確認します。 第3章では、デスクトップとCLIの入口に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

五段階の処理経路

アーキテクチャはElectron、Vue 3、Nuxt UI、Tailwind CSSを使うpnpm monorepoです。共有パッケージの@openchatlab/core、@openchatlab/node-runtime、@openchatlab/toolsをデスクトップとCLIが利用します。データは形式検出、ストリーム解析、ローカル永続化、SQLとAIクエリ、可視化の順に進みます。各段階の出力をテスト用履歴で確認すれば、表示だけでは見えない変換漏れを見つけられます。

ChatLabでは、個人情報を含まない小さなエクスポートを使い、取り込み前後のメッセージ件数と日時範囲を照合します。clb web --headless、ポート3110、token付き接続、SQL検索、可視化を順に確認し、AI機能を有効にした場合は外部モデルへ渡る本文とログを確認します。 第4章では、五段階の処理経路に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

開発版と動作条件の差

開発手順はNode.js 24以上25未満、pnpm 11以上12未満を要求し、pnpm install後にpnpm devを実行します。desktop、cli-web、web-wasm、serveなど起動先を選べます。利用者向けCLIのNode.js条件と開発環境の条件が異なるため、同じものとして扱いません。Electronで例外が出た場合はREADMEがelectron-fixを案内していますが、原因を隠す前にログを保存します。

ChatLabでは、個人情報を含まない小さなエクスポートを使い、取り込み前後のメッセージ件数と日時範囲を照合します。clb web --headless、ポート3110、token付き接続、SQL検索、可視化を順に確認し、AI機能を有効にした場合は外部モデルへ渡る本文とログを確認します。 第5章では、開発版と動作条件の差に関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

プライバシーとAGPL

READMEは原文の会話、インデックス、設定を端末に残すlocal-firstを掲げ、利用前にsrc/assets/docs/agreement_en.mdのプライバシーポリシーと利用規約を読むよう求めています。AIに送るデータの範囲や外部モデルの保持は、READMEのローカル保存だけでは確定しません。AGPL-3.0で配布やネットワーク提供を行う場合は、改変版のソース提供条件を法務と確認します。

ChatLabでは、個人情報を含まない小さなエクスポートを使い、取り込み前後のメッセージ件数と日時範囲を照合します。clb web --headless、ポート3110、token付き接続、SQL検索、可視化を順に確認し、AI機能を有効にした場合は外部モデルへ渡る本文とログを確認します。 第6章では、プライバシーとAGPLに関係する入力、出力、エラーを分けて記録します。READMEが説明していない挙動は未確認として残し、成功した一回だけを互換性の根拠にはしません。

編集部の結論

自分の端末で複数サービスの会話履歴を横断検索したい個人やチームに適しています。クラウドへ原文を出せない条件ではローカル構成を選ぶべきですが、AI接続時のデータ経路は別途確認が必要です。まずテスト用エクスポートを取り込み、3110番のCLI、SQL結果、可視化、AIツールの入力範囲を確認してから実データへ進みます。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート