Skip to main content
Glama

sync-hub

ローカルで動作する小さなデーモン(macOS専用 — launchd、~/Library/...)で、ローカルのAI会話履歴(Claude Code、Codex CLI、Claude Cowork、Antigravity、Claude.ai/ChatGPTからのインポート)を逐語的に一元化し、単一のSQLiteデータベースに保存して、以下の方法で公開します:

  • Webダッシュボード(プロジェクトツリー、全文検索、チャット表示、同期カバレッジ、未関連付けセッションのトリアージ)経由

  • MCPサーバー経由 — Claude Code、Codex、Antigravityが直接クエリを実行し、別のツールの正確なコンテキストを取得できます。要約や再構築は一切行わず、常に元のテキストを返します。

推測は一切行われません。作業ディレクトリが既知のプロジェクトと一致しないセッションは、ヒューリスティックで関連付けるのではなく、「未割り当て」バケットに入れられ、表示・トリアージが可能です。

なぜ必要か

同じプロジェクトで複数のAIツールを利用すると、ツールを切り替えるたびにコンテキストが失われます。sync-hubはツール何かを同期するわけではありません(他のツールのネイティブストレージには一切触れません)— ローカルに既に存在するデータを読み取り、MCPで接続された任意のツールからクエリ可能にします。

Related MCP server: flightlog

インストール

前提条件:macOS、Node.js ≥ 20(better-sqlite3は最近のバージョン向けのprebuildがあるため、通常はコンパイルツールは不要です)。

git clone <url-de-ce-repo>
cd sync-hub
npm install
npm run build
./scripts/install_service.sh   # installe un service launchd macOS (démarre à la connexion)

ダッシュボードは http://127.0.0.1:4000 で提供されます(デフォルトではローカルのみ)。

アンインストールするには:./scripts/uninstall_service.sh

環境変数(すべてオプション)

変数

デフォルト

用途

SYNC_HUB_PROJECTS_ROOT

~/Projets

プロジェクトを検出するためにスキャンするルート

SYNC_HUB_DATA_DIR

<repo>/data

SQLiteデータベースとログの場所

SYNC_HUB_IMPORTS_DIR

<repo>/imports

一括エクスポート(ChatGPT、Claude.ai)のフォルダ

PORT

4000

ダッシュボード/APIのポート

HOST

127.0.0.1

リッスンインターフェース(デフォルトではローカルのみ)

MCPサーバーを接続する

# Claude Code
claude mcp add sync-hub -s user -- node <repo>/dist/server/mcp-entry.js

# Codex — dans ~/.codex/config.toml
[mcp_servers.sync-hub]
command = "node"
args = ["<repo>/dist/server/mcp-entry.js"]

公開されるツール:

  • 逐語的読み取り:get_project_timelineget_threadsearch_transcripts

  • スレッド間の連続性:link_threadsunlink_threadget_thread_link_updates(デルタのみ)

  • プロジェクト管理(ダッシュボードと同じ操作):list_projectslist_threadsrename_projectmerge_projectsassign_thread_to_projectarchive_threadarchive_project

Claude.ai / ChatGPTのエクスポートをインポートする

エクスポートファイルを imports/claude/ または imports/chatgpt/ に配置し、スキャンを再実行します(ダッシュボードの「再スキャン」ボタン、または POST /api/sync/rescan)。

開発

npm run dev     # client (Vite) + serveur (tsx watch) en parallèle
npm test        # suite de tests (vitest)
npm run lint    # typecheck

アーキテクチャ

  • src/core/db.ts — SQLiteスキーマ + データアクセス。

  • src/core/registry.ts — プロジェクト ↔ セッションの解決(完全一致のみ、ヒューリスティックは一切使用しません)。

  • src/core/adapters/ — ソースごとのアダプター(Claude Code、Codex、Cowork、Antigravity、一括エクスポート)。

  • src/core/watch.ts — 新しいセッションのリアルタイム監視。

  • src/core/mcp-server.ts — MCPサーバー。

  • src/server/ — REST API + WebSocket(Fastify)。

  • src/client/ — ダッシュボード(React + Vite + Tailwind)。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that indexes Claude Code conversation history into SQLite, enabling full-text search across past sessions for context recovery and cross-agent observability.
    10
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Capture, index, and search your Claude Code conversation history. Provides an MCP server for Claude Code to query its own past conversations.
    6 npm
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Collects session JSONL from Codex and Claude Code into local SQLite memory, exposed through MCP with tools for memory context, search, get, put, forget, sleep, and status.
    -