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 検出機能により、クリーンなフォーマットを実現しています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト