wiki‑island · 벤더 중립 AI 메모리
기간 — 현재
AI 도구마다 기억을 따로 쌓지 않고, 특정 회사에 묶이지 않는 기억 하나를 여러 도구가 함께 쓰도록 만든 오픈소스입니다. 기억은 내 컴퓨터의 Markdown 폴더에 저장됩니다. 저장·검색·읽기에는 모델도 네트워크도 쓰지 않습니다.
모델 호출 없이 MCP 도구 15개로 개발 도구 10곳에 연결
- MCP 도구 15개로 하는 검색·읽기·기록·수정·보관·복원
- wi setup 한 번으로 Claude Code·Codex·Cursor 등 AI 앱 10종 자동 연결
- 띄어쓰기 없는 두 글자 한국어도 찾는 SQLite FTS5 검색
- Git으로 남기는 변경 이력과 이전 버전 복원
- Obsidian 폴더와 함께 쓰기, PDF·Word·PowerPoint·CSV·이미지 가져오기
- 백그라운드 서비스가 맡는 편집 반영, 색인 복구와 정리
망가질 수 있는 색인
- 문제
- 검색 색인을 원본처럼 다루면 색인이 손상되거나 기기 사이에서 동기화될 때 기억을 잃을 수 있습니다.
- 해결
- Markdown 파일을 원본으로 두고, SQLite 색인은 기기마다 따로 두는 캐시로 분리했습니다. 색인이 없거나 손상되면 파일을 직접 훑어 찾고, 색인은 다시 만듭니다. 색인을 지워도 기억은 그대로 남습니다.
저장 중에 끊기거나 겹친 편집
- 문제
- 여러 AI 도구가 같은 노트를 동시에 고치거나 저장 중에 프로세스가 끊길 수 있었습니다. 그러면 오래된 내용으로 덮어쓰거나 저장한 내용을 잃을 수 있었습니다.
- 해결
- 쓰기마다 호출자가 기대한 체크섬을 확인해 오래된 쓰기는 거부합니다. 임시 파일을 디스크에 쓴 뒤 시작 기록을 남기고 파일을 바꿔 넣고, 끝 기록을 남깁니다. 중간에 끊긴 작업은 이 기록으로 복구합니다. 파일을 원자적으로 바꿔 넣을 수 있는 플랫폼에서는 동시에 들어온 편집을 충돌 사본으로 남깁니다.
두 글자 한국어 검색
- 문제
- 띄어쓰기로 단어를 나누는 기본 검색으로는 문장 속 '결제', '환불' 같은 두 글자 한국어를 찾기 어려웠습니다.
- 해결
- 기본 토크나이저는 그대로 두고, 띄어쓰기가 없는 문자를 두 글자씩 끊어 담는 색인 열을 더했습니다. 여러 낱말 검색은 모든 낱말이 맞는 결과를 먼저 보이고, 남은 자리를 순위 매긴 부분 일치로 채웁니다. 결제, 환불 같은 두 글자 검색과 한영이 섞인 검색으로도 의도한 노트를 찾습니다.
동기화 폴더 속 Git 이력
- 문제
- iCloud Drive 같은 동기화 서비스는 파일을 하나씩 보냅니다. 폴더 안의 Git 이력이 일부만 또는 순서가 뒤바뀐 채 전달될 수 있습니다.
- 해결
- 동기화 폴더 안에서는 Git 이력을 기기별 외부 폴더에 두고, 노트 폴더에는 Markdown만 남깁니다.