Obsidian CLI
Obsidian의 실행 중인 애플리케이션, 색인, 설정, 명령 레지스트리 또는 개발자 런타임에 의존하는 동작에는 CLI를 사용하세요. 일반 파일 작업에는 일반 파일 시스템 도구를 사용하세요.
CLI 확인 및 탐색
실행 파일 이름을 하나로 가정하지 마세요. Obsidian의 등록 및 패키징은 플랫폼과 릴리스에 따라 다르며, 관련 없는 타사 바이너리가 같은 이름을 사용할 수도 있습니다. version 명령이 성공하는 경우에만 후보를 선택하세요.
macOS/Linux:
resolve_obsidian_cli() {
local candidate
for candidate in \
"${COPILOT_OBSIDIAN_CLI:-}" \
/Applications/Obsidian.app/Contents/MacOS/obsidian-cli \
"$(command -v obsidian 2>/dev/null || true)" \
"$(command -v obsidian-cli 2>/dev/null || true)"
do
[[ -n "$candidate" && -x "$candidate" ]] || continue
if "$candidate" version >/dev/null 2>&1; then
printf '%s\n' "$candidate"
return 0
fi
done
return 1
}
OBSIDIAN_CLI=$(resolve_obsidian_cli) || {
echo "Obsidian CLI 사용 불가" >&2
exit 1
}
"$OBSIDIAN_CLI" version
PowerShell:
$candidates = @(
$env:COPILOT_OBSIDIAN_CLI,
(Get-Command obsidian -ErrorAction SilentlyContinue).Source,
(Get-Command obsidian-cli -ErrorAction SilentlyContinue).Source
) | Where-Object { $_ }
$OBSIDIAN_CLI = $candidates | Where-Object {
try { & $_ version *> $null; $LASTEXITCODE -eq 0 } catch { $false }
} | Select-Object -First 1
if (-not $OBSIDIAN_CLI) { throw "Obsidian CLI 사용 불가" }
& $OBSIDIAN_CLI version
탐색에 실패하면 사용자에게 호환되는 Obsidian 릴리스를 열고 설정 > 일반 > 명령줄 인터페이스를 활성화한 후 등록을 완료하고 터미널을 다시 시작하도록 요청하세요. 명시적인 사용자 의사 없이 Obsidian을 설치하거나, PATH를 변경하거나, CLI를 등록하지 마세요.
모든 참조 예제에서 확인된 실행 파일을 obsidian 대신 사용하세요:
"$OBSIDIAN_CLI" vaults
"$OBSIDIAN_CLI" help search
볼트를 정확하게 지정
대상을 알고 있다면 항상 vault="<이름 또는 ID>"를 사용하세요. 이 스킬에 개인 볼트 이름이나 시스템 경로를 포함하지 마세요.
"$OBSIDIAN_CLI" vault="<볼트-이름>" search query="프로젝트 마감일" format=json
"$OBSIDIAN_CLI" vault="<볼트-이름>" backlinks path="Projects/Plan.md" format=json
정확한 볼트 기준 경로에는 path=를 사용하세요. Obsidian의 위키링크 스타일 이름 확인이 필요할 때만 file=을 사용하세요. 공백이나 셸 특수 문자가 포함된 값은 따옴표로 감싸세요. 설치된 버전에서 표시되지 않는 구문에 의존하기 전에 라이브 도움말을 확인하세요:
"$OBSIDIAN_CLI" help <명령어>
핵심 작업
# 읽기 및 쓰기
"$OBSIDIAN_CLI" vault="<볼트-이름>" read path="Projects/Roadmap.md"
"$OBSIDIAN_CLI" vault="<볼트-이름>" append path="Journal.md" content="- 새 항목"
# 검색 및 메타데이터
"$OBSIDIAN_CLI" vault="<볼트-이름>" search query="API" limit=10 format=json
"$OBSIDIAN_CLI" vault="<볼트-이름>" properties path="Projects/Roadmap.md"
# 설정된 데일리 노트 및 인덱싱된 작업
"$OBSIDIAN_CLI" vault="<볼트-이름>" daily:append content="- 오후 2시: 전화" silent
"$OBSIDIAN_CLI" vault="<볼트-이름>" tasks all todo
# 라이브 작업 공간
"$OBSIDIAN_CLI" vault="<볼트-이름>" tabs ids
"$OBSIDIAN_CLI" vault="<볼트-이름>" workspace ids
호스트 세션 보호
에이전트 세션에서 Obsidian 앱/윈도우를 절대 다시 로드하거나 재시작하지 마세요. 현재 에이전트 세션을 호스팅하는 플러그인을 절대 다시 로드, 비활성화 또는 제거하지 마세요. 이와 동등한 명령, JavaScript, 개발자 도구 작업도 피하세요. 이러한 작업은 세션을 종료하고 진행 중인 작업을 잃을 수 있습니다.
영구 삭제, 로컬 히스토리 복원, 동기화 복원, 게시/게시 취소, 플러그인/테마 설치 또는 제거, 제한된 모드 변경, JavaScript/개발자 호출 변경 등은 명시적인 사용자 의사가 필요합니다. 가역적인 작업을 선호하세요. 명령 참조는 기능을 설명할 뿐, 변경을 승인하지 않습니다.
참조 가이드
작업과 관련된 가이드만 읽으세요. 예제의 obsidian은 확인된 $OBSIDIAN_CLI 실행 파일로 간주하고, 대상을 알고 있다면 vault="<이름 또는 ID>"를 추가하세요.
| 작업 | 참조 |
|---|---|
| 노트 작업, 개요, 단어 수, 고유 노트 | references/note-operations.md |
| 검색, 태그, 속성, 역링크, 고아 노트, 확인되지 않은 링크 | references/search-metadata.md |
| 데일리 노트, 작업, 템플릿 | references/daily-tasks-templates.md |
| 볼트, 작업 공간, 북마크, 플러그인, 테마, 동기화, 게시, Bases, 개발자 도구 | references/vault-management.md |