tmc/nlm
a command line interface to NotebookLM
何を解決するか
nlm は Google の NotebookLM にウェブブラウザを使わずにアクセスする方法を提供します。ユーザーはノートブック、ソース、ノートの管理が可能で、ターミナルから直接 AI ベースのリサーチやチャットを実行できます。また CI/CD パイプライン内でも利用可能です。NotebookLM に公開 API が存在しない問題を、逆エンジニアリングによりワイヤプロトコルを再構築することで、スクリプト可能な単一バイナリクライアントを実現しています。
動作方法
このツールは Go で記述されており、プライベート-RPC 実装を通じて NotebookLM と通信するクライアントとして機能します。コンパイル済みの protobuf ワイヤモデルを使用して、データの損失なしに正確にキャプチャします。認証にはブラウザを起動してセッション資格情報を取得する方法、または明示的なトークンやクッキーを直接入力する方法の両方をサポートしています。ローカルファイル同期(SHA-256 を用いたイデムポテンシー保証)、URL、stdin といったさまざまな入力方法をサポートしており、引用元をローカルファイルの行番号に逆引きすることも可能です。
対象ユーザー
- ターミナルユーザーおよび開発者:Web インターフェースよりも CLI ツールを好む方。
- DevOps および CI エンジニア:NotebookLM のワークフローを実際に自動化したい方。
- AIエージェント開発者:NotebookLM の機能を組み込み型 Model Context Protocol (MCP) サーバーを通じて他のツールに統合したい方。
特徴
- 包括的な CLI:ノートの作成、ソースの追加、ラベルの管理など、ノートブックの完全な管理をサポート。
- 高度なチャット:永続セッションを保持するストリーミング REPL、スラッシュコマンド、推論プロセスの可視化(
--thinkingオプション)を備えています。 - コンテンツ生成:オーディオディープダイブ、ビデオウォークスルー、スライドデッキの生成をトリガーできます。
- 深層リサーチ:自己完結型の Markdown レポート(脚注付き)を出力する専用リサーチモードを備えています。
- MCP サーバー:Model Context Protocol の組み込みサポートにより、AIアシスタントが NotebookLM をツールとして利用可能になります。
- シェル統合:パイプ処理を想定しており、JSON 出力オプションと TTY 検出機能により、クリーンなフォーマットを実現しています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト