Obsidian. 윈도우에 설치하고 LLM-Wiki 구축까지

[Prologue]

가이드 영상의 대부분이 맥OS 환경이었고, 따라하다 보니 윈도우 환경에서 부딪히는 문제점이 생겨 기록으로 남겨 두려한다.


[Obsidian이란?]

공식 홈페이지의 소개란을 참고하면[링크] Markdown 편집기이자 지식 관리 앱이며, Markdown 파일을 편집하고 미리볼 수 있고, 노트를 서로 연결해 관계를 파악할 수 있다고 한다.

사용자들은 로컬에서 100% 사용 가능하며, 동기화를 옵션으로 선택할 수 있다 - 동기화는 유료인 옵시디언 싱크 플러그인을 사용하거나, 구글 드라이브, iCloud 같은 클라우드와 연동 또는 NAS를 구축하여 해결할 수 있다고 함. 그리고 커스터마이징이 자유롭고 플러그인 생태계가 방대하다.

여러가지 장점 중 "그래프 뷰"를 옵시디언의 트레이드 마크로 여긴다. 옵시디언에서 생성한 노트들을 시각화하는 기능이다.

노트 간 연결 관계를 시각화한 모습

이 기능 때문에 LLM-Wiki를 구성하는 도구로서 옵시디언이 추천되는 듯하다.


[Obsidian. Windows 환경에서 설치하기]

공식 홈페이지[링크]에서 윈도우 버전을 다운받아 실행한다.

설치 후 실행을 하고 '새 보관함 생성'을 하면 '보관함 이름'과 '위치'를 선택 화면이 나온다.

보관함 이름과 위치를 설정하는 옵션

여기서 멈칫할 수 있는데, 보관함 이름은 새로운 폴더를 생성한다고 보면 되고, 위치는 메인 폴더를 이야기 한다. 왼쪽 사이드를 참고하면, 위치는 [D:\WorkSpace]이고 보관함 이름이 [Blog], [LLM-Wiki]이다. 처음에 위치를 [D:\WorkSpace\LLM-Wiki]로 설정 했더니 최종 폴더 구조가  [D:\WorkSpace\LLM-Wiki\LLM-Wiki]가 되는 상황이 벌어졌다.

LLM-Wiki를 활용하기 위해서는 옵시디언에 터미널 탭을 생성하면 좋다고 한다. VS CODE나 Powershell에서 따로 Claude Code나 Codex를 사용해도 되긴하나 하나의 윈도우에서 사용하는 장점 때문에 터미널 플러그인을 설치하게 되었다.

옵시디언 실행 후 메인 회면 왼쪽 아래의 톱니바퀴를 눌러 왼쪽 사이드바의 '커뮤니티 플러그인' 클릭, 커뮤니티 플러그인 사용을 설정하게 되면 탐색 버튼이 활성화 된다. 

탐색에서 Terminal 플러그인을 설치하면  옵시디언 메인 화면 왼쪽 사이드바 아이콘 제일 아래에 터미널 버튼이 생기게 되고(프로필 선택은 통합 프로필:win32IntegratedDefault), 버튼을 누르면 화면 하단부에 터미널 탭이 보여지게 된다.(VS Code의 Ctrl+J 눌러서 보이는 화면처럼). 생성된 탭을 오른쪽 사이드로 끌어 놓게되면 오른쪽 사이드바에서 사용 할 수 있게 된다. 

이 지점에서 9009 오류가 발생하였고, 이 부분 덕분에 이 글을 작성하게 된 계기가 되었다. (누군가에게 작은 도움이 되기를)


[9009 오류]

터미널 탭을 열었더니 옵시디언 메인화면 하단에 터미널이 열리면서 추가로 다른 윈도우창에 터미널 창이 따로 팝업 되는 현상이 생겼다. 그리고 옵시디언의 터미널 탭을 오른쪽 사이드로 옮기니 [터미널 리사이저 예기치 않게 종료됨: 9009]라는 오류코드를 보여준다.

윈도우에서 9009는 "실행 파일을 찾을 수 없음"에 가까운 오류다. 터미널 플러그인이 내부적으로 Python 스크립트를 돌리는데, 그 스크립트가 실행이 안 된다는 뜻이다.

원인은 Python 버전이었다. 터미널 플러그인은 Python 3.12 기반으로 작성되어 있는데, 내 환경은 3.14. 마이너 버전 차이쯤이야 설마 했는데...

해결 순서는 이렇다.

1. Python 3.12.10 병행 설치

파이썬 공홈[링크]에서 Windows installer 버전 3.12.10 다운로드.

파이썬 공식 홈페이지에 파이썬 3.12.10버전 윈도우 설치 파일 위치를 표시함.
Add python.exe to PATH 항목이 체크 해제된 상태

설치 시 "Add python.exe to PATH" 체크 해제. 이게 포인트다. 기존 환경을 건드리지 않기 위해서.

2. 설치 확인

  • C:\Users\사용자\AppData\Local\Programs\Python\Python312\python.exe --version

Python 3.12.10 이 출력되면 성공.

3. 필요 패키지 설치

  • C:\Users\사용자\AppData\Local\Programs\Python\Python312\python.exe -m pip install psutil pywinctl typing_extensions

이 세 패키지는 터미널 플러그인이 프로세스 감시와 창 제어에 쓰는 것들이다.

4. 옵션 사항

옵시디언 터미널 플러그인이 CMD 기반으로 실행되기에 안정적인 환경을 위해 PowerShell 7도 설치 하였다. (CMD에서 Codex 사용하다가 한글이 깨져서 나오는 경우가 생겨서 PowerShell로 변경. PowerShell 7은 Microsoft Store에서 'powershell'을 검색하여 Version v7.6.2로 설치)

5. Terminal 플러그인 설정변경

이제 옵시디언 설정창 왼쪽 제일 아래의 커뮤니티 플러그인 'Terminal'을 클릭하여 아래 순서로 터미널 플러그인 설정창을 열어야 한다.

PowerShell과 Python 실행 파일 경로를 입력하는 화면

실행 파일은 초기에는 CMD로 되어 있으나 PowerShell로 변경하기 위하여 PowerShell 실행 파일 경로를 입력 해야 한다.

  • CMD : where pwsh
  • VS Code, PowerShell : where.exe pwsh

출력되는 경로와 pwsh.exe 까지 복사한 후 입력

Python 실행 파일은 3.12 버전을 실행시키기 위해 위에서 설치 하였던 경로를 붙여 넣는다.

  • C:\Users\사용자\AppData\Local\Programs\Python\Python312\python.exe
이렇게 하면 9009가 사라진다. 기존 Python 3.14는 그대로 두어도 된다. 둘이 사이좋게 공존한다.

6.기타 옵션 변경

추가로 터미널의 폰트를 변경하고 싶으면 편집창에 '터미널 옵션들'에서 변경하면 된다.

영어는 Caskaydia Mono, 한글은 D2Coding를 추천 하길래 윈도우에 폰트 설치 하고, 혹시나 환경이 어긋날 경우를 대비하여 'Caskaydia Mono, D2Coding, Consolas, monospace'를 채워 넣었다. 폰트 크기는 14, 나머지는 공란.

터미널 탭의 색상 구분이 밝은 테마에서는 잘 안보여서 'Things' 다크 모드를 사용 중이다.


[LLM-Wiki 구축하기]

개인 지식 관리 구축이다 보니 수집 자료와 분류 문서들의 카테고리가 사람마다 다를 것이다. 그래서 처음 LLM-Wiki를 구축할 때 개인의 상황을 문서로 정리하고 AI에게 학습 시킨 후, 위키를 구축하는 편이다. 

다양한 사람들의 정리 방법들이 있으니 참조해 보는 것도 좋을 듯하다. 

이를테면, 원본(raw)폴더에 하위폴더를 두지 않고 하나의 창고 형식으로 관리하는 사람, 소스의 출처나 카테고리로 분류하는 사람. 위키(wiki)의 하위 폴더는 PARA기법을 사용하여 분류하는 사람, 제텔카스텐(Zettlekasten) 시스템으로 정리 하는 사람 등등.


그냥 단순히 LLM-Wiki 먼저 구축하고 싶으면 아래와 같이 실행하면 된다.

LLM-Wiki를 구축하려는 해당 폴더에서 Claude나 Codex를 호출하여 프롬프트를 입력한다.

  • https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f#file-llm-wiki-md 를 참고하여 llm wiki를 구성하려함. 문서 내용을 분석하여 구성 계획을 알려줘.

AI가 분석하게 되면 구성 정보가 컨텍스트 창에 등록이 되고 구성을 명확하게 만들어준다. 폴더는 어떻게 구성 할 것이고 AGENT.md는 어떻게 만들지 계획을 보여준다.

  • 추가 사항이나 필요한 정보가 있어?

라고 물어 본 후 개별 상황에 맞게 답변 후, LLM-Wiki를 구축해달라고 한다.

문서에 따라 해당 폴더를 생성하고 AGENT.md까지 만들어 주는데, AGENT.md는 최대한 간결하게 만드는 것이 좋기에 ingest, query, lint는 스킬화를 추천한다.(스킬로 등록하지 않으면 문서링크첨부하고 "ingest 해줘" 라고 해야한다.)

  • AGENT.md를 간결하게 하기 위해 ingest, query, lint는 로컬로 스킬화 하려고함. 추가로 필요한 사항은?

이렇게 입력하면 '좋은 계획이다' 라고 할 것이고, 실행하라고 시키면 LLM-Wiki폴더에서만 사용할 수 있는 스킬이 생성되고, llm-wiki-ingest, llm-wiki-query, llm-wiki-lint로 사용할 수 있다. (Claude는 /스킬이름, Codex는 $스킬이름으로 사용 가능)


[자료는 어떻게 모을까?]

"Obsidian Web Clipper"라는 크롬 확장 프로그램을 사용하면 옵시디언과 연계해서 문서든 동영상이든 옵시디언의 마크다운 문서로 내보내준다. 아주 편하게.

설치방법은 크롬> 설정> 확장프로그램> Chrome 웹 스토어> Obsidian Web Clipper 설치


끝.