프로젝트 소개

Havemind는 두세 명이 하나의 볼트를 공유하도록 설계된 Obsidian용 자체 호스팅 동기화 솔루션입니다. Obsidian 플러그인과 직접 호스팅하는 서버로 구성되며, 가입할 클라우드 서비스가 없습니다. 플러그인은 macOS, Windows, Linux, iOS, Android에서 실행되며 Obsidian 1.11.4 이상이 필요합니다. 주요 기능은 다음과 같습니다: - 기기 간 실시간 동기화(롱폴링을 통해 변경 사항이 약 1초 내에 반영됨) - 전체 작성자 추적 기능이 있는 추가 전용 기록(누가 무엇을 썼는지 색상으로 표시) - 자동 덮어쓰기 없음: 겹치지 않는 편집은 자동으로 병합되고, 충돌하는 편집은 `Havemind Conflicts/`에 사본으로 보존됨 - 노트, 첨부 파일(최대 25MB), 모양 설정(테마, 스니펫, 단축키, 그래프 설정) 동기화 - 통화 중 6자리 코드를 읽어 기기 승인(3회 시도) - 서버당 여러 볼트, 저장 할당량, 기기별 속도 제한 - 선택적 암호화 백업(libsodium crypto_box_seal로 봉인) 보안은 네트워크 암호화 및 접근 제어를 위해 Tailscale(WireGuard)에 의존합니다. 서버는 개인 tailnet에서만 접근할 수 있습니다. 볼트는 서버에 일반 텍스트로 저장되므로 서버를 제어하는 사람은 누구나 읽을 수 있습니다. 종단 간 암호화는 의도적으로 범위에서 제외됩니다. 플러그인은 `.obsidian/plugins/`(코드, 상태, 비밀)를 동기화하지 않으며 텔레메트리나 분석 기능도 포함되지 않습니다. 서버는 의도적으로 단순한 Fastify + SQLite 애플리케이션으로, 콘텐츠 주소 지정 블롭 저장소를 갖추고 있으며 루트가 아닌 권한으로 실행됩니다. 플러그인이 볼트 감시, 영구 발신함, 3방향 병합, 충돌 사본, 활동 로깅 등 모든 지능을 처리합니다. 자체 호스팅의 경우 가이드에서 Docker Compose + Tailscale 설정, 데이터베이스 키 비밀 생성, 서버 실행, 기기 연결 방법을 다룹니다. 저장소에는 AI 에이전트(Claude 또는 MCP 등)와 함께 Havemind를 사용하는 문서, 기술 계획, MVP 사양이 포함되어 있습니다. 로컬 검증에는 Node.js 22와 npm 10이 필요하며, `npm run verify`는 린트, 타입체크, 테스트, 빌드를 실행합니다.