2P by GN⁺ 27일전 | ★ favorite | 댓글 1개
  • Obsidian Sync가 데스크톱 앱 없이도 명령줄 환경에서 동기화할 수 있는 헤드리스 클라이언트를 제공
  • CI 파이프라인, 서버, 자동화 스크립트 등 비대화형 환경에서 vault 동기화를 수행 가능
  • ob sync 명령으로 단발성 또는 지속적 동기화를 실행하며, OBSIDIAN_AUTH_TOKEN 환경 변수로 자동 인증 지원
  • 원격 vault 생성, 로컬 연결 설정, 상태 확인, 설정 변경 등 세부 명령어 세트를 포함
  • Windows와 macOS에서는 파일 생성 시각(birthtime) 을 유지하는 네이티브 모듈을 제공해 데이터 무결성을 강화

개요

  • Obsidian Sync의 Headless Client는 데스크톱 앱 없이 vault를 동기화할 수 있는 도구
    • CI, 자동화 에이전트, 서버 환경 등에서 유용
    • 최신 변경사항을 가져오거나 파일을 지속적으로 최신 상태로 유지 가능
  • 한 기기에서는 데스크톱 Sync와 Headless Sync를 동시에 사용하지 않아야 함, 데이터 충돌 위험 존재
  • 설치는 npm install -g obsidian-headless 명령으로 수행

기본 사용법

  • 로그인: ob login
  • 원격 vault 목록 확인: ob sync-list-remote
  • 로컬 vault 설정: ob sync-setup --vault "My Vault"
  • 단발성 동기화: ob sync
  • 지속적 동기화: ob sync --continuous
  • 비대화형 환경에서는 OBSIDIAN_AUTH_TOKEN 환경 변수를 설정해 인증 자동화 가능

주요 명령어

  • ob sync-list-remote: 계정의 모든 원격 vault 목록 표시, 공유 vault 포함
  • ob sync-list-local: 로컬에 설정된 vault와 경로 표시
  • ob sync-create-remote: 새 원격 vault 생성
    • 옵션: --name, --encryption(standard 또는 e2ee), --password, --region
  • ob sync-setup: 로컬과 원격 vault 연결 설정
    • 옵션: --vault, --path, --password, --device-name, --config-dir
  • ob sync: 설정된 vault 동기화 실행
    • --continuous 옵션으로 변경 감시 및 지속 동기화 지원
  • ob sync-config: vault의 동기화 설정 조회 또는 변경
    • 충돌 전략(merge/conflict), 파일 유형, 동기화할 설정 범주, 제외 폴더 등 지정 가능
  • ob sync-status: vault의 동기화 상태와 설정 표시
  • ob sync-unlink: vault를 동기화에서 분리하고 저장된 자격 증명 삭제

네이티브 모듈

  • Windows와 macOS용으로 파일 생성 시각(birthtime) 을 설정하는 네이티브 애드온 포함
    • 서버에서 파일을 다운로드할 때 원본 생성 시각을 유지
    • N-API 버전 3을 대상으로 하며, Node.js 버전 간 ABI 호환 유지
  • Linux에서는 birthtime이 지원되지 않아 애드온이 포함되지 않지만, 동기화는 정상 작동
  • 사전 빌드된 바이너리 대상:
    • win32-x64, win32-arm64, win32-ia32, darwin-x64, darwin-arm64
Hacker News 의견들
  • Obsidian이 CLI 기능을 새로 추가했음
    공식 문서 참고
    최근 Obsidian을 AI CLI와 함께 쓰는 게 정말 재미있음. 플러그인 없이도 단순히 마크다운 디렉터리 구조라서 바로 활용 가능함
    • iCloud로 Obsidian을 동기화해왔는데, iCloud 파일 컨테이너 접근 시 전체 디스크 권한을 요구해서 불편했음
      다들 유료 Obsidian Sync를 쓰는지, 아니면 SyncThing 같은 대안을 쓰는지 궁금함
    • CLI가 다시 주목받는 게 반가움
    • 아직 CLI에서 노트를 직접 볼 수는 없지만, 검색 기능 같은 일부 동작은 트리거할 수 있음
    • 이 기능 정말 유용하게 쓸 수 있을 것 같음, 고마움
  • 내가 이 프로젝트에 직접 참여했음. 궁금한 점 있으면 답변해보겠음
    • Obsidian을 만들어줘서 고맙다는 인사와 함께, headless sync client를 Docker나 Podman에서 쓸 수 있도록 패키징할 계획이 있는지 물어봄
      또한 obsidian-headless 설치 시 CLI도 함께 제공되는지, 아니면 단순히 동기화 전용인지 궁금함
    • 회사에서 CLI 기반 동기화가 없다고 얘기하던 참이었는데, 공식 기능이 생겨서 반가움
      이제는 공식 Obsidian Sync를 검토해볼 예정임
    • 파일 시스템에서 동기화 충돌이 발생하면 어떻게 처리되는지 궁금함
      예를 들어, 동시에 수정했을 때 한쪽이 덮어쓰면 내 변경은 어떻게 되는지 알고 싶음
    • 특정 폴더나 노트만 접근 가능한 scoped token 권한을 지원할 계획이 있는지 물어봄
      상태 변화나 크론잡으로 특정 노트를 자동 업데이트하고 싶지만, 전체 볼트 접근은 피하고 싶음
      제품이 좋아서 VIP Catalyst도 구매했음
    • 여러 명이 함께 파일을 수정하고 동기화하는 팀 협업용 설정에 대한 가이드나 시작점을 알고 싶음
  • 단일 마크다운 파일만 편집할 수 있으면 좋겠음
    예를 들어 프로젝트에 readme.md 하나만 있는데, 그걸 열기 위해 별도의 vault와 설정 파일을 만들고 싶지 않음
    • 그 기능은 언젠가 추가할 예정임
      다만 Obsidian의 많은 기능이 vault 단위 설정에 의존하기 때문에 단순하지 않음
      예를 들어 어떤 테마를 쓸지, 어떤 플러그인을 활성화할지, [[링크]] 자동완성은 어떻게 처리할지 등 고려할 게 많음
  • 이번 기능은 내가 가장 원하던 Obsidian 기능이었음
    서버 사이드 자동화나 RAG 기반 작업에 정말 유용할 것 같음
  • 어제 headless client를 테스트하다 버그를 발견해 보고했는데, 오늘 바로 수정된 걸 봄
    관련해서 내가 작성한 실험적 블로그 글이 있음 → utf9k.net/blog/obsidian-headless
    이 워크플로우는 완벽하진 않지만, 글을 쓰고 바로 퍼블리시하기까지의 마찰이 줄어든 느낌
    예전엔 Git이나 여러 Obsidian 플러그인을 조합했지만 항상 복잡했음
  • 그냥 Nextcloud를 로컬 마크다운 폴더처럼 쓰면 되는 줄 알았는데, 그게 아니었음
    완전히 잘못 쓰고 있었던 것 같음
  • 혹시 모바일에서 AI 편집을 지원하는 Obsidian 플러그인 추천이 있는지 궁금함
    ChatGPT처럼 문서와 대화하며 수정하고 싶은데, 아직 적당한 걸 못 찾았음
    문서 전체를 다시 쓰지 않고 부분 수정만 하는 tool calling이 가능한지도 의문임
    • 여러 플러그인을 시도해봤지만 결국 Claude Code를 원격 제어 방식으로 쓰는 게 가장 나았음
  • 데스크톱에서는 Obsidian을 안 쓰지만, 폰에서는 쓰고 있음
    이 기능이 있으면 폰에서 동기화하고 데스크톱에서는 Neovim으로 문서를 열 수 있을 것 같음
  • 1년 넘게 “Obsidian CLI”를 매달 검색해왔는데, 드디어 나와서 정말 반가움
    • 나도 Obsidian을 Claude나 Codex와 함께 쓰고 있는데, CLI가 어떤 추가 가치를 주는지 잘 모르겠음
      그냥 마크다운 파일이라면 CLI가 왜 필요한지, 그리고 AI가 CLI를 통해 볼트를 어떻게 다루는지 궁금함
  • 나는 Obsidian을 Claude agent와 함께 써서 연구 자료나 일일 로그를 동기화함
    이미 커스텀 스킬로 꽤 잘 작동하지만, 이번 기능이 워크플로우를 더 매끄럽게 만들 것 같음
    obsidian-semantic-search라는 CLI 도구를 만들어 LanceDB 임베딩 인덱싱과 의미 기반 검색을 구현했음
    이걸로 노트 간 내부 연결을 더 잘 만들 수 있음
    • Claude Code와의 세부 설정을 좀 더 공유해줄 수 있는지 궁금함
    • 이 방식이 토큰 사용량이나 쿼터에 어떤 영향을 주는지도 알고 싶음