cli-anything-obsidian은(는) 무엇을 하나요?
Obsidian 로컬 REST API를 통한 지식 관리 및 메모 작성 도구. GUI 없이 노트를 관리하고, 볼트를 검색하며, 명령을 실행해야 하는 AI 에이전트와 고급 사용자를 위해 설계되었습니다.
설치
이 CLI는 cli-anything-obsidian 패키지의 일부로 설치됩니다:
pip install cli-anything-obsidian
필수 조건:
- Python 3.10+
- Obsidian이 설치되어 실행 중이어야 하며, Local REST API 플러그인이 활성화되어 있어야 합니다.
사용법
기본 명령어
# 도움말 표시
cli-anything-obsidian --help
# 대화형 REPL 모드 시작
cli-anything-obsidian
# 볼트 파일 목록 조회
cli-anything-obsidian vault list
# JSON 출력으로 실행 (에이전트 사용용)
cli-anything-obsidian --json vault list
REPL 모드
하위 명령어 없이 호출하면 CLI가 대화형 REPL 세션에 진입합니다:
cli-anything-obsidian
# 탭 완성 및 히스토리 기능과 함께 명령어를 대화형으로 입력합니다.
명령어 그룹
Vault
볼트 파일 관리 명령어입니다.
| 명령어 | 설명 |
|---|---|
list | 볼트 또는 하위 디렉토리의 파일 목록 조회 |
read | 노트 내용 읽기 |
create | 새 노트 생성 |
update | 기존 노트 덮어쓰기 |
delete | 볼트에서 노트 삭제 |
append | 기존 노트에 내용 추가 |
Search
볼트 검색 명령어입니다.
| 명령어 | 설명 |
|---|---|
query | Obsidian 쿼리 구문을 사용한 검색 |
simple | 볼트 전체에 대한 일반 텍스트 검색 |
Note
활성 노트 명령어입니다.
| 명령어 | 설명 |
|---|---|
active | Obsidian에서 현재 활성화된 노트 가져오기 |
open | Obsidian 편집기에서 노트 열기 |
Command
Obsidian 명령 팔레트 명령어입니다.
| 명령어 | 설명 |
|---|---|
list | 사용 가능한 모든 Obsidian 명령 목록 조회 |
execute | ID로 명령 실행 |
Server
서버 상태 및 정보 명령어입니다.
| 명령어 | 설명 |
|---|---|
status | Obsidian Local REST API가 실행 중인지 확인 |
Session
세션 상태 명령어입니다.
| 명령어 | 설명 |
|---|---|
status | 현재 세션 상태 표시 |
예제
노트 목록 조회 및 읽기
# 모든 볼트 파일 목록 조회
cli-anything-obsidian vault list
# 하위 디렉토리 내 파일 목록 조회
cli-anything-obsidian vault list "Daily Notes"
# 노트 읽기
cli-anything-obsidian vault read "Projects/my-project.md"
노트 생성 및 업데이트
# 새 노트 생성
cli-anything-obsidian vault create "Projects/new-project.md" --content "# 새 프로젝트"
# 노트 업데이트 (덮어쓰기)
cli-anything-obsidian vault update "Projects/new-project.md" --content "# 업데이트된 내용"
# 노트에 내용 추가
cli-anything-obsidian vault append "Projects/new-project.md" --content "\n## 새 섹션"
검색
# 일반 텍스트 검색 (GET /search/simple/)
cli-anything-obsidian search simple "회의 노트"
# Dataview DQL 쿼리 — 기본 --type dql, application/vnd.olrapi.dataview.dql+txt 로 전송됨
cli-anything-obsidian search query 'TABLE file.link FROM "Projects"'
# JsonLogic 쿼리 — application/vnd.olrapi.jsonlogic+json
cli-anything-obsidian search query --type jsonlogic \
'{"==":[{"var":"frontmatter.status"},"active"]}'
명령어
# 사용 가능한 명령어 목록 조회
cli-anything-obsidian command list
# ID로 명령어 실행
cli-anything-obsidian command execute "editor:toggle-bold"
대화형 REPL 세션
탐색적 사용을 위해 대화형 세션을 시작합니다.
cli-anything-obsidian
# 명령어를 대화형으로 입력합니다.
# 'help'를 사용하여 사용 가능한 명령어를 확인합니다.
API 키 설정
# 플래그를 통한 설정
cli-anything-obsidian --api-key YOUR_KEY vault list
# 환경 변수를 통한 설정 (에이전트에 권장)
export OBSIDIAN_API_KEY=YOUR_KEY
cli-anything-obsidian vault list
상태 관리
CLI는 경량 세션 상태를 유지합니다:
- API 키:
--api-key또는OBSIDIAN_API_KEY환경 변수로 설정 가능 - 호스트 URL: 기본값은
https://localhost:27124,--host로 설정 가능
출력 형식
모든 명령어는 두 가지 출력 모드를 지원합니다:
- 사람이 읽기 쉬운 형태 (기본값): 표, 색상, 서식이 지정된 텍스트
- 기계가 읽기 쉬운 형태 (
--json플래그): 에이전트가 소비할 수 있는 구조화된 JSON
# 사람용 출력
cli-anything-obsidian vault list
# 에이전트용 JSON 출력
cli-anything-obsidian --json vault list
AI 에이전트용
프로그래매틱 방식으로 이 CLI를 사용할 때:
- 항상
--json플래그를 사용하여 구문 분석 가능한 출력을 얻으세요. - 반환 코드를 확인하세요 - 0은 성공, 0이 아닌 값은 오류입니다.
- stderr를 파싱하여 실패 시 오류 메시지를 확인하세요.
OBSIDIAN_API_KEY환경 변수를 설정하여 매 호출마다--api-key를 전달하지 않도록 하세요.- 다른 명령어 전에
server status로 Obsidian이 실행 중인지 확인하세요.
더 많은 정보
- 전체 문서: 패키지 내 README.md 참조
- 테스트 범위: 패키지 내 TEST.md 참조
- 방법론: cli-anything-plugin 내 HARNESS.md 참조
버전
1.1.0