웹 클리퍼로 스크랩하면 AI가 자동으로 위키를 만든다

Obsidian Web Clipper + Claude Code + Node.js로 완전 자동화 지식 저장소 구축하기

이 글에서 만드는 것

크롬에서 웹 페이지를 클리핑하면, 백그라운드에서 AI가 자동으로 내용을 분석하고 구조화된 위키 페이지를 생성하는 시스템입니다. 한 번 설정해두면 이후에는 클리핑만 하면 됩니다.

전체 흐름:

  • Chrome Web Clipper로 페이지 클리핑
  • Obsidian이 raw/ 폴더에 .md 파일 저장
  • Node.js watcher가 새 파일 감지
  • Claude CLI가 자동으로 ingest 실행
  • wiki/sources/, entities/, concepts/ 에 페이지 자동 생성

필요한 것들

  • Windows 10/11
  • Obsidian (무료) — 다운로드
  • Chrome + Obsidian Web Clipper 확장 프로그램
  • Claude Pro/Max 구독 계정
  • Node.js LTS

Step 1 — 폴더 구조 만들기

위키의 기본 폴더 구조를 만듭니다. D:\llm-wiki 를 루트로 사용합니다.

D:\llm-wiki\ ├── raw\          ← 클리핑된 원본 파일 (절대 수정 금지) │   └── assets\   ← 이미지 저장 ├── wiki\          ← AI가 만드는 위키 페이지 │   ├── index.md │   ├── log.md │   ├── overview.md │   ├── sources\ │   ├── entities\ │   └── concepts\ └── CLAUDE.md      ← AI 동작 지침서

Step 2 — Node.js 및 Claude CLI 설치

Windows Terminal(관리자)에서 실행:

# Node.js 설치 winget install OpenJS.NodeJS.LTS  # 터미널 재시작 후 Claude CLI 설치 npm install -g @anthropic-ai/claude-code  # 설치 확인 claude –version

Claude CLI 로그인:

& “C:\Users\[사용자명]\AppData\Roaming\npm\claude.cmd” login

브라우저가 열리면 Claude.ai 계정으로 로그인합니다.

Step 3 — 파일 감시 스크립트 (watch.js)

raw/ 폴더를 감시하다가 새 .md 파일이 생기면 Claude에게 자동으로 ingest를 요청하는 스크립트입니다. D:\llm-wiki\watch.js 로 저장합니다.

const fs = require(‘fs’); const path = require(‘path’); const { execSync } = require(‘child_process’);  const RAW_DIR = path.join(__dirname, ‘raw’); const CLAUDE = path.join(process.env.APPDATA, ‘npm’, ‘claude.cmd’); const LOG_FILE = path.join(__dirname, ‘watcher.log’);  function log(msg) {   const line = `${new Date().toISOString()}  ${msg}`;   console.log(line);   fs.appendFileSync(LOG_FILE, line + ‘\n’, ‘utf8’); }  log(`Watcher started. Watching: ${RAW_DIR}`);  const processed = new Map();  fs.watch(RAW_DIR, (eventType, filename) => {   if (!filename || !filename.endsWith(‘.md’)) return;   if (eventType !== ‘rename’) return;   const filepath = path.join(RAW_DIR, filename);   if (!fs.existsSync(filepath)) return;    const now = Date.now();   if (processed.has(filename) && now – processed.get(filename) < 5000) return;   processed.set(filename, now);    log(`New file: ${filename} – starting ingest`);    setTimeout(() => {     try {       const prompt = `ingest ${filename} — skip the confirmation step and proceed directly to writing all wiki pages without asking questions first`;       const result = execSync(         `”${CLAUDE}” -p “${prompt}” –dangerously-skip-permissions`,         { cwd: __dirname, encoding: ‘utf8’, timeout: 600000 }       );       log(`Ingest complete: ${filename}`);       if (result) log(result);     } catch (err) {       log(`ERROR: ${err.message}`);     }   }, 2000); });  log(‘Waiting for new files…’);

Step 4 — 백그라운드 자동 실행 설정

PC 로그인 시 watcher가 자동 시작되도록 Windows 작업 스케줄러에 등록합니다.

4-1. VBScript 생성 (run-hidden.vbs)

터미널 창 없이 숨겨서 실행하기 위한 스크립트입니다.

Set WshShell = CreateObject(“WScript.Shell”) WshShell.Run “””C:\Program Files\nodejs\node.exe”” D:\llm-wiki\watch.js”, 0, False

4-2. 작업 스케줄러 등록 (관리자 PowerShell)

# 등록 schtasks /create /tn “llm-wiki-watcher” /tr “wscript.exe D:\llm-wiki\run-hidden.vbs” /sc onlogon /ru “%USERNAME%” /f /rl highest  # 지금 바로 시작 schtasks /run /tn “llm-wiki-watcher”  # 실행 확인 tasklist | findstr node

node.exe가 두 개 뜨면 성공입니다 (Claude Code 1개 + watcher 1개).

Step 5 — Obsidian Web Clipper 설정

Chrome Web Clipper 확장 아이콘 → 설정 → 기본 템플릿:

  • 보관소: llm-wiki
  • 노트 위치: raw
  • 노트 이름 형식: {{date}}-{{title}} (중괄호 두 개씩)

Obsidian 앱이 실행 중이어야 Web Clipper가 파일을 저장할 수 있습니다.

동작 확인

Chrome에서 아무 페이지나 Web Clipper로 클리핑한 후 1~2분 기다립니다.

# wiki 폴더에 새 파일이 생겼는지 확인 Get-ChildItem D:\llm-wiki\wiki -Recurse | Sort-Object LastWriteTime -Descending | Select-Object -First 10  # watcher 로그 확인 Get-Content D:\llm-wiki\watcher.log -Tail 10

wiki/sources/, wiki/entities/, wiki/concepts/ 에 페이지가 생성되고 wiki/index.md, wiki/log.md 가 업데이트되면 완료입니다.

위키 활용하기

위키가 쌓이면 Claude Code 툴에서 질문으로 활용할 수 있습니다.

  • 쿼리: “LLM Wiki 패턴과 RAG의 차이점이 뭐야?” → 위키 참조 후 답변
  • Lint: “wiki lint 해줘” → 고아 페이지, 모순, 빠진 개념 점검
  • Obsidian 그래프 뷰: 지식 간 연결 시각화

유용한 명령어

# watcher 실행 중인지 확인 tasklist | findstr node  # watcher 중지 taskkill /f /im node.exe  # watcher 재시작 schtasks /run /tn “llm-wiki-watcher”

마치며

이 시스템의 핵심 아이디어는 Andrej Karpathy의 llm-wiki 패턴에서 가져왔습니다. RAG는 질문할 때마다 원본에서 재조합하지만, 이 위키는 한 번 정리하고 계속 축적합니다. 클리핑할수록 위키가 풍부해지고, 질문의 답변도 더 정확해집니다.

“Obsidian은 IDE, AI는 프로그래머, 위키는 코드베이스” — 이 비유처럼, 나는 방향을 정하고 AI가 모든 정리를 맡습니다.

관련 글

답글 남기기