obsidian-github-copilot

AI Coding ToolsEditorTypeScript

★ 497주당 +1조회 4

무엇인가

Obsidian GitHub Copilot 플러그인은 Obsidian 에디터를 GitHub Copilot 서비스의 클라이언트로 만드는 확장이다. 노트 앱 안에서 코드 자동 완성과 대화형 질의를 처리하는 에디터 통합 계열에 속하며, 별도 IDE를 띄우지 않고 노트 편집 컨텍스트에서 Copilot을 호출하는 자리를 차지한다.

어떻게 동작하나

구현은 TypeScript로 작성된 Obsidian 플러그인이다. 인라인 완성은 Node.js 22 이상 바이너리를 외부 프로세스로 실행해 GitHub Copilot 서비스와 통신하고, 타이핑이 멈춘 뒤 설정된 지연 시간이 지나면 제안을 에디터에 삽입한다. 채팅은 Obsidian 오른쪽 사이드바의 뷰로 등록되며 모델 선택, 대화 기록, 시스템 메시지 설정을 플러그인이 직접 관리한다. 응답 스트리밍은 Obsidian의 requestUrl이 스트리밍 응답 본문을 지원하지 않아 구현되지 않았다.

무엇과 다른가

VS Code 등 IDE에 내장된 Copilot 확장과 달리, 이 플러그인은 마크다운 노트를 편집 대상으로 삼는다. 채팅 입력에서 [[이중 대괄호]] 노트 링크를 해석해 해당 노트 내용을 컨텍스트로 넘기고, 응답에 포함된 Mermaid 코드 블록을 채팅 뷰 안에서 다이어그램으로 렌더링한다. 렌더링 결과는 Obsidian 라이트/다크 테마를 따른다.

어떻게 쓰나

설치는 Obsidian 커뮤니티 플러그인 브라우저에서 하고, 설정에서 활성화한다. 인라인 완성을 쓰려면 설정에 Node 22 이상 바이너리 경로를 넣어야 하며 `which node`로 확인할 수 있다. 로그인 모달이 뜨면 안내를 따르고, 과거에 IDE에서 Copilot에 로그인한 적이 있으면 준비 완료 알림만 뜬다. 에디터에서 Tab으로 제안을 수락하고 Esc로 닫는다. 설정에서 생성 지연, 수락·거부·트리거·부분 수락 키 바인딩, 자동/수동 제안, 코드 블록 한정 여부, 제외 폴더와 파일을 지정한다.

전제와 한계

GitHub Copilot 구독과 서비스 통신을 위한 네트워크 연결이 전제다. 인라인 완성은 Node.js 22 이상이 필요하고, Flatpak으로 Obsidian을 설치한 환경에서는 샌드박스에서 기본 바이너리 경로에 접근할 수 없어 NVM으로 Node 버전을 관리해야 할 수 있다. 저장소를 복제하거나 릴리스 파일을 직접 받아 설치할 때는 플러그인 폴더 이름을 `github-copilot`으로 맞춰야 한다. Tab 완성은 키 바인딩 우선순위 문제로 LaTeX Math 모드의 불릿 등 일부 상황에서 오작동할 수 있다.

유사 도구