vault_sync
🚧 설계 단계 — 아직 구현 안 됨
이 페이지는 ainote 의 향후 기능을 미리 문서화한 것입니다. 현재 @ainote/mcp v1.1.x 에는 vault / sync 도구가 포함돼 있지 않습니다. 도구 호출 시 Tool not found 에러를 받게 됩니다.
vault 양방향 동기화 — pull 후 push.
시그니처
json
{
"name": "personal",
"auto_commit": true,
"commit_message": "sync from macbook"
}| 파라미터 | 타입 | 기본 | 설명 |
|---|---|---|---|
name | string | — | vault 이름 |
auto_commit | boolean | true | 미커밋 변경 자동 commit |
commit_message | string | "sync from <hostname>" | 커밋 메시지 |
strategy | merge / rebase / theirs / ours | merge | 충돌 시 |
동작
1. cd ~/notes/personal
2. (auto_commit) git add -A && git commit -m "..."
3. git pull --strategy=<strategy>
4. git push
5. 변경 파일 목록 응답응답
json
{
"vault": "personal",
"pulled": 3, // 받은 commit 수
"pushed": 1, // 보낸 commit 수
"files_changed": [
{ "path": "daily/2026-05-07.md", "action": "added" },
{ "path": "projects/ainote.md", "action": "modified" },
{ "path": "old.md", "action": "deleted" }
],
"conflicts": []
}Claude 사용
ainote 에서 personal vault 동기화또는 모든 vault:
ainote vault 다 sync 해줘→ Claude 가 vault_list → 각각 vault_sync 순차 호출.
충돌 시
conflicts 배열에 파일 목록:
json
{
"conflicts": [
{
"path": "ideas.md",
"marker_lines": [12, 24]
}
]
}수동 해결:
bash
cd ~/notes/personal
# editor 로 ideas.md 열어서 <<<<<<< 마커 해결
git add ideas.md
git commit
ainote vault_sync personal # 다시또는 자동 해결 전략:
theirs— 원격 우선 (로컬 변경 무시)ours— 로컬 우선 (원격 받은 거 무시)rebase— 로컬 commit 을 원격 위에 올려놓기
정기 자동 sync
cron + script:
bash
# crontab -e
*/15 * * * * /Users/seunghan/scripts/ainote-vault-sync-all.shbash
#!/bin/bash
# ainote-vault-sync-all.sh
ainote vault_list '{}' | jq -r '.[].name' | while read name; do
ainote vault_sync "{\"name\":\"$name\"}"
donelaunchd (macOS, 더 안정적)
~/Library/LaunchAgents/com.ainote.vault-sync.plist:
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.ainote.vault-sync</string>
<key>ProgramArguments</key>
<array>
<string>/Users/seunghan/scripts/ainote-vault-sync-all.sh</string>
</array>
<key>StartInterval</key>
<integer>900</integer>
</dict>
</plist>bash
launchctl load ~/Library/LaunchAgents/com.ainote.vault-sync.plist에러
| 코드 | 메시지 | 해결 |
|---|---|---|
| -32603 | merge conflict | 수동 해결 또는 strategy 변경 |
| -32603 | local repo missing | vault_clone 먼저 |
| -32603 | network error | 재시도 (Render cold start) |