출처
- X 원문
- 작성자: Tom Dörr (
@tom_doerr) - 게시: 2026-08-13 18:26 KST
- 링크된 저장소: viperrcrypto/Siftly
- 첨부 이미지:

개요
Siftly는 X 북마크를 그냥 쌓아 두는 대신, 로컬에서 검색·분류·시각화할 수 있는 지식 베이스로 바꾸는 셀프호스팅 도구다. 북마크 JSON을 가져온 뒤 엔터티 추출, 미디어 비전 분석, 의미 태깅, 카테고리 분류를 거쳐 검색 가능한 데이터로 만든다.
이 아이디어의 핵심은 “북마크를 저장하는 기능”보다 읽기 목록을 구조화된 개인 코퍼스로 컴파일하는 파이프라인에 있다. 결과는 자연어 검색, 카테고리 기반 마인드맵, 필터링된 브라우징, CSV/JSON/ZIP 내보내기로 이어진다.
원문 핵심
- X 북마크를 로컬의 검색 가능한 지식 베이스로 만든다.
- AI 엔터티 추출과 의미 태깅으로 단순 키워드 이상의 검색 색인을 만든다.
- 이미지·GIF·영상 썸네일을 분석해 시각적 맥락도 태그에 포함한다.
- 자동 카테고리 분류, 인터랙티브 마인드맵, 미디어·날짜·카테고리 필터를 제공한다.
“Turns Twitter/X bookmarks into a local, searchable knowledge base…”
Siftly의 처리 파이프라인
| 단계 | 역할 | 비용·경계 |
|---|---|---|
| Import | 북마크 페이지의 내보내기 bookmarklet 또는 콘솔 스크립트로 bookmarks.json 수집 | X 로그인 세션 필요, 브라우저 확장 불필요 |
| Entity extraction | 해시태그·URL·멘션과 알려진 도구·제품명을 raw tweet JSON에서 추출 | README 기준 API 호출 없이 처리 |
| Vision analysis | 이미지·GIF·영상 썸네일의 OCR, 객체·장면·무드·밈 맥락을 분석 | 설정한 AI provider로 미디어 전송 |
| Semantic tagging | 트윗 텍스트와 이미지 맥락을 합쳐 검색용 태그·감정·인물·회사명을 생성 | 모델 호출 및 비용 발생 가능 |
| Categorization | 북마크마다 1~3개 카테고리와 confidence score를 부여 | 중단 후 이어서 처리하는 incremental 흐름 |
탐색과 산출물
자연어 검색
Siftly는 트윗 본문, 이미지 OCR, 시각 태그, 의미 태그, 카테고리를 함께 검색한다. 저장소 README는 SQLite FTS5와 Claude 기반 의미 재랭킹을 사용해 “키워드가 아니라 의미로 북마크를 찾는” 흐름을 설명한다.
마인드맵과 필터링
카테고리를 상위 노드로, 북마크를 하위 노드로 보여 주는 force-directed mindmap을 제공한다. 별도의 브라우징 화면에서는 grid/list 전환, 카테고리·미디어 유형·날짜 필터, 최신·오래된 순 정렬을 지원한다.
내보내기
전체 또는 카테고리별 데이터를 CSV, JSON, ZIP으로 내보낼 수 있다. ZIP에는 북마크 미디어와 manifest가 포함된다. 다만 README에서 Obsidian 전용 export나 자동 wikilink 생성은 확인되지 않았으므로, 이 도구를 곧바로 Obsidian importer로 간주하면 안 된다.
구현과 프라이버시 경계
고정한 main 커밋 b25daa45b858f4be096b5c368671c34db4407d8e의 README는 Next.js 16, TypeScript 5, Prisma 7, SQLite/FTS5, Tailwind CSS v4, @xyflow/react를 기술 스택으로 제시한다. 기본 데이터 저장은 로컬 SQLite이며, Claude CLI 감지·Anthropic API key·환경 변수·호환 가능한 로컬 proxy를 AI provider 경로로 문서화한다.
저장소는 데이터가 로컬에 머물고 telemetry가 없다고 설명하지만, AI 기능을 쓰면 트윗 본문과 미디어가 사용자가 설정한 AI endpoint로 전송될 수 있다. 따라서 “local-first”는 데이터베이스와 UI의 배포 위치를 뜻하지, 모든 분석이 완전 오프라인이라는 뜻은 아니다.
또한 X 북마크를 수집하려면 로그인한 X 페이지에서 bookmarklet 또는 콘솔 스크립트를 실행해야 한다. X UI 변경, export 누락, rate limit, 이미지 분석 비용, API endpoint의 데이터 보존 정책은 별도로 점검해야 한다.
해석: 북마크 묘지에서 개인 코퍼스로
X 북마크의 문제는 저장 용량이 아니라 재발견 비용이다. Siftly는 각 북마크를 텍스트·엔터티·이미지·카테고리·원문 링크가 결합된 레코드로 만들고, 다시 찾을 수 있는 검색·시각화 표면을 붙인다. 이 접근은 기존 2026-04-28-x-bookmark-sync-tools가 다루던 “북마크를 외부 저장소로 동기화”하는 문제를, 수집 이후의 enrichment와 탐색까지 확장한다.
다만 Siftly의 지식 베이스는 아직 이 볼트의 Markdown·wikilink 정본과는 다르다. Siftly는 SQLite/FTS5와 앱 UI를 중심으로 하고, 이 위키는 파일·frontmatter·출처·링크 그래프를 중심으로 한다. 전자는 대량 북마크의 검색·필터링에 강하고, 후자는 장기적인 개념 연결과 사람이 편집 가능한 지식 축적에 강하다. 이 차이는 2026-04-10-gbrain-garry-tan-knowledge-base와 2026-03-29-obsidian-personal-kg를 함께 비교하면 선명해진다.
조사 범위와 검증 경계
- X 원문은 2026-08-15에 공개 게시물의 렌더링 HTML로 확인했고, 원문의 짧은 제품 소개와 링크 카드만 보존했다.
- 연결 저장소는
main의 고정 커밋b25daa45b858f4be096b5c368671c34db4407d8e와 해당 README를 기준으로 요약했다. 저장소의 구현·README·메타데이터 캡처는 raw source:github-viperrcrypto-siftly에 기록했다. - Siftly를 실제 설치·실행하거나 X 북마크 export를 수행하지 않았다. 따라서 처리 속도, 분류 품질, API 비용, 장기 안정성, 실제 개인정보 흐름은 검증하지 않은 상태다.
관련 위키
- 2026-04-28-x-bookmark-sync-tools — X/Threads 북마크를 외부 저장소·Obsidian으로 동기화하는 접근법
- 2026-04-10-gbrain-garry-tan-knowledge-base — 마크다운과 데이터베이스를 결합한 개인 지식 베이스
- 2026-03-29-obsidian-personal-kg — Obsidian Vault 기반 개인 지식 그래프
- moc-productivity
- moc-llm-wiki