왜 별도 sync 시스템 (vs Dropbox)
🚧 설계 단계 — 아직 구현 안 됨
이 페이지는 ainote 의 향후 기능을 미리 문서화한 것입니다. 현재 @ainote/mcp v1.1.x 에는 vault / sync 도구가 포함돼 있지 않습니다. 도구 호출 시 Tool not found 에러를 받게 됩니다.
짧은 답: Dropbox 는 파일을 sync 하지만, ainote 는 의미를 sync 한다.
비교
| Dropbox/iCloud | Syncthing | git | ainote sync | |
|---|---|---|---|---|
| 충돌 감지 | 시간 기반 (silent overwrite) | 양쪽 보존 (*.sync-conflict-...) | 3-way merge | HLC + LWW + 5분 임계 |
| 의미 알림 | ❌ | ❌ | commit msg | ✅ 디바이스/시점 추적 |
| 부분 sync | △ | △ | ✅ | ✅ manifest 기반 |
| AI 접근 | ❌ | ❌ | △ | ✅ MCP 도구 |
| 다중 디바이스 | ✅ | ✅ | ✅ | ✅ (star topology) |
구체적 문제 사례
Dropbox 의 silent overwrite
타임라인:
14:00 — 맥미니: CLAUDE.md 에 새 규칙 5줄 추가 → 저장
14:05 — 맥북 (오프라인): 같은 파일 다른 곳 수정 → 저장
14:10 — 맥북 온라인 → Dropbox 동기화 → 맥미니 변경 사라짐복구: Dropbox 버전 히스토리 (30일 보관) → 수동 비교 → 머지.
Git 의 머지 conflict 마커
<<<<<<< HEAD
new content from local
=======
new content from remote
>>>>>>> origin/main마크다운 한가운데 들어가면 보기 싫음 + Obsidian 에서 깨짐.
ainote 의 접근
- HLC — 시계 어긋나도 인과 순서 보장
- 5분 임계 — 그 안에 양쪽 변경 시 conflict 디렉토리에 양쪽 보관, 사용자 선택
- 5분 후 변경 — LWW (last-writer-wins) — drift 방지
- device 추적 — 어느 기기에서 언제 변경했는지 모두 로그
- 부분 sync — manifest.yml 로 명시적 매핑만
"그래도 Dropbox 가 충분하지 않나?"
Dropbox 가 충분한 경우:
- 혼자 한 기기에서만 작업
- 또는 절대 같은 파일 동시 편집 X
- AI 접근 필요 X
ainote sync 가 필요한 경우:
- 17개 프로젝트 CLAUDE.md 멀티 기기
- iPhone Telegram 으로 메모 → 맥북 Claude 가 즉시 활용
- AI 가 모든 기기에서 같은 메모리 봐야 함
- "이 변경 어느 기기에서 한 거지" 추적 필요
"그러면 그냥 git 만 쓰면 안되나?"
git 충분한 경우:
- 개발자 본인 익숙
- conflict marker 직접 해결 OK
ainote sync 가 필요한 경우:
- 비-기술 사용자도 함께 (가족 공유 vault)
- AI 가 자동 sync (사용자 git 명령 모름)
- 5분 임계처럼 사람-친화 정책