AI 위키를 GitHub에 연동하고 Claude 대화까지 자동 저장하기

멀티 디바이스 동기화 + Claude Code Stop 훅으로 지식 저장소 완성하기

이전 편에서 만든 것

지난 포스트에서 Web Clipper → raw/ → Claude 자동 ingest → wiki 페이지 생성 파이프라인을 구축했습니다. 이번 편에서는 두 가지를 추가합니다:

  1. GitHub 연동 — 여러 기기에서 위키 동기화
  2. Claude Code Stop 훅 — 대화 내용 자동 저장

Part 1 — GitHub 연동으로 멀티 디바이스 동기화

llm-wiki 폴더는 마크다운 파일만으로 구성되어 있어 Git으로 완벽하게 동기화됩니다. 맥북, 노트북, 데스크탑 어디서든 같은 위키를 사용할 수 있습니다.

1-1. .gitignore 생성

node_modules와 로그 파일은 GitHub에 올리지 않습니다.

# D:\llm-wiki\.gitignore node_modules/ watcher.log *.log ~$*.docx raw/test*.md

1-2. GitHub 저장소 생성

GitHub.com → New repository → 이름: llm-wiki → Private 선택 → Initialize 체크 해제 → 생성

1-3. 로컬 Git 초기화 및 push (관리자 PowerShell)

cd D:\llm-wiki git init git config –global user.email “your@email.com” git config –global user.name “YourName” git add . git commit -m “init: LLM Wiki 초기 설정” git branch -M main git remote add origin https://github.com/[사용자명]/llm-wiki.git git push -u origin main

Part 2 — Obsidian Git 플러그인으로 자동 동기화

매번 수동으로 git push/pull 하지 않아도 Obsidian Git 플러그인이 10분마다 자동으로 커밋 및 동기화합니다.

2-1. 플러그인 파일 다운로드

.obsidian/plugins/obsidian-git/ 폴더를 만들고 GitHub 최신 릴리즈에서 세 파일을 다운로드합니다:

$base = “https://github.com/Vinzent03/obsidian-git/releases/download/2.38.3” $dest = “D:\llm-wiki\.obsidian\plugins\obsidian-git” New-Item -ItemType Directory -Force $dest Invoke-WebRequest “$base/main.js” -OutFile “$dest\main.js” Invoke-WebRequest “$base/manifest.json” -OutFile “$dest\manifest.json” Invoke-WebRequest “$base/styles.css” -OutFile “$dest\styles.css”

2-2. 플러그인 활성화

.obsidian/community-plugins.json 파일을 만들어 활성화합니다:

[“obsidian-git”]

2-3. 자동 동기화 설정

.obsidian/plugins/obsidian-git/data.json 에 설정을 저장합니다. 주요 값:

  • autoSaveInterval: 10 (10분마다 자동 커밋)
  • autoPushInterval: 10 (10분마다 자동 push)
  • autoPullOnBoot: true (Obsidian 시작 시 자동 pull)
  • autoBackupAfterFileChange: true (파일 변경 후 즉시 백업)

Obsidian을 재시작 후 설정 → 커뮤니티 플러그인 → Obsidian Git 토글 켜기

다른 기기에서 사용하기

맥북이나 다른 PC에서 동일한 위키를 사용하려면:

# 1. 저장소 클론 git clone https://github.com/[사용자명]/llm-wiki.git cd llm-wiki  # 2. 의존성 설치 npm install  # 3. Claude CLI 설치 및 로그인 npm install -g @anthropic-ai/claude-code claude login  # 4. watcher 실행 node watch.js

이후 Obsidian에서 클론한 폴더를 Vault로 열면 완료입니다.

Part 3 — Claude Code Stop 훅으로 대화 자동 저장

Web Clipper로 클리핑한 내용뿐 아니라 Claude Code와의 대화 내용도 위키에 자동으로 저장할 수 있습니다. Claude Code의 Stop 훅을 활용합니다.

Stop 훅이란?

Claude Code가 답변을 완료할 때마다 자동으로 실행되는 스크립트입니다. 이를 활용해 대화 transcript를 읽어 raw/ 폴더에 마크다운으로 저장합니다.

3-1. save-chat.js 스크립트 생성

D:\llm-wiki\save-chat.js 파일을 만듭니다. 핵심 로직:

// stdin으로 { session_id, transcript_path } 수신 process.stdin.on(‘end’, () => {   const data = JSON.parse(input);   const transcript = JSON.parse(fs.readFileSync(data.transcript_path));    // 대화를 마크다운으로 변환   // raw/날짜-chat-제목.md 로 저장   // watcher가 감지 → 자동 ingest });

3-2. ~/.claude/settings.json 에 훅 등록

{   “theme”: “dark”,   “hooks”: {     “Stop”: [       {         “hooks”: [           {             “type”: “command”,             “command”: “\”C:\\Program Files\\nodejs\\node.exe\” D:\\llm-wiki\\save-chat.js”,             “timeout”: 30,             “statusMessage”: “Saving chat to wiki…”           }         ]       }     ]   } }

3-3. 동작 흐름

  • Claude Code 답변 완료
  • Stop 훅 실행 → save-chat.js 호출
  • 대화 transcript를 마크다운으로 변환
  • raw/날짜-chat-제목.md 저장
  • watcher 감지 → Claude 자동 ingest → wiki 페이지 생성

메시지가 2개 미만인 짧은 대화는 저장하지 않아 노이즈를 방지합니다.

완성된 지식 저장소 구조

모든 설정이 완료되면 다음과 같은 완전 자동화 시스템이 구축됩니다:

입력 소스 1: Web Clipper 클리핑 입력 소스 2: Claude Code 대화          ↓     raw/ 폴더에 자동 저장          ↓   Node.js watcher 감지 (백그라운드)          ↓    Claude CLI 자동 ingest          ↓  wiki/sources, entities, concepts 생성          ↓   Obsidian Git → GitHub 자동 push          ↓     모든 기기에서 동기화

마치며

이제 웹 서핑, AI와의 대화, 메모 등 모든 지식 활동이 자동으로 위키에 축적됩니다. 클리핑하고 대화할수록 위키는 풍부해지고, GitHub 덕분에 어느 기기에서든 같은 지식 저장소를 사용할 수 있습니다.

인간의 역할은 방향 설정과 좋은 질문, AI의 역할은 모든 정리와 연결. 이것이 LLM Wiki 패턴의 핵심입니다.

관련 글

답글 남기기