tmc/nlm
a command line interface to NotebookLM
해결하는 문제
nlm은 Google의 NotebookLM에 웹 브라우저 없이 접근할 수 있는 방법을 제공합니다. 사용자는 노트북, 소스, 노트를 관리하고, 터미널에서 직접 AI 기반의 연구 및 채팅을 수행할 수 있으며, CI/CD 파이프라인 내에서도 활용할 수 있습니다. NotebookLM에 공개 API가 없기 때문에 발생하는 문제를, 역설계된 와이어 프로토콜을 통해 스크립트 가능한 단일 바이너리 클라이언트를 구현함으로써 해결합니다.
작동 방식
이 도구는 Go로 작성되었으며, 개인용 RPC 구현을 통해 NotebookLM과 통신하는 클라이언트로 작동합니다. 손실 없는 데이터 캡처를 보장하기 위해 컴파일된 protobuf 와이어 모델링을 사용합니다. 인증을 위해 브라우저를 시작하여 세션 자격 증명을 추출하거나, 명시적인 토큰과 쿠키를 수동으로 입력할 수 있습니다. 로컬 파일 동기화(sha256를 사용한 아이디empotent성 보장), URL, stdin 등 다양한 입력 방식을 지원하며, 인용문을 로컬 파일의 라인 번호로 다시 매핑할 수 있습니다.
대상 사용자
- 터미널 사용자 및 개발자: 웹 인터페이스보다 CLI 도구를 선호하는 사용자.
- DevOps 및 CI 엔지니어: NotebookLM 워크플로우를 실제로 자동화해야 하는 사용자.
- AI 에이전트 개발자: 내장된 Model Context Protocol (MCP) 서버를 통해 NotebookLM의 기능을 다른 도구에 통합하고자 하는 사용자.
주요 기능
- 포괄적인 CLI: 노트 생성, 소스 추가, 라벨 관리 등 노트북 전체 관리를 지원합니다.
- 고급 채팅: 지속적인 세션을 유지하는 스트리밍 REPL, 슬래시 명령어, 추론 흐름 보기(
--thinking) 기능을 제공합니다. - 콘텐츠 생성: 오디오 딥다이브, 비디오 워크스루, 슬라이드 데크 생성을 트리거할 수 있습니다.
- 심층 리서치: 자체 포함형 Markdown 보고서(각주 포함)를 출력하는 전용 리서치 모드를 포함합니다.
- MCP 서버: Model Context Protocol를 내장하여 AI 어시스턴트가 NotebookLM을 도구로 사용할 수 있도록 지원합니다.
- 쉘 통합: 파이프 처리를 고려하여 JSON 출력 옵션과 TTY 감지 기능을 제공하여 깔끔한 포맷팅을 구현합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트