Skip to main content
Glama

sync-hub

macOS 전용 소형 로컬 데몬(launchd, ~/Library/...)으로, 로컬 AI 대화 기록(Claude Code, Codex CLI, Claude Cowork, Antigravity, Claude.ai/ChatGPT 가져오기)의 이력을 그대로(verbatim) 단일 SQLite 데이터베이스에 중앙 집중화하여 다음을 제공합니다:

  • 웹 대시보드(프로젝트 트리, 전문 검색, 채팅 보기, 동기화 범위, 미분류 세션 트리징)를 통한 노출;

  • MCP 서버를 통한 노출 — Claude Code, Codex, Antigravity가 직접 쿼리하여 다른 도구의 정확한 컨텍스트를 가져올 수 있으며, 요약이나 재구성 없이 항상 원문 텍스트를 제공합니다.

어떤 것도 추측하지 않습니다: 작업 디렉터리가 알려진 프로젝트와 일치하지 않는 세션은 휴리스틱으로 연결하는 대신, 표시 및 트리징이 가능한 '미분류(Non affecté)' 버킷으로 이동합니다.

왜 필요한가

여러 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.

환경 변수(모두 선택 사항)

Variable

기본값

용도

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_timeline, get_thread, search_transcripts

  • 스레드 간 연속성: link_threads, unlink_thread, get_thread_link_updates(델타 전용)

  • 프로젝트 관리(대시보드와 동일한 작업): list_projects, list_threads, rename_project, merge_projects, assign_thread_to_project, archive_thread, archive_project

Claude.ai / ChatGPT 내보내기 가져오기

내보내기 파일을 imports/claude/ 또는 imports/chatgpt/에 넣은 후 스캔을 다시 실행합니다(대시보드의 '다시 스캔(Rescanner)' 버튼 또는 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.
    -