Skip to content

tissueMO/notebooklm-proxy

Repository files navigation

NotebookLM Proxy

Google の NotebookLM サービスに対してプロキシとして機能する AWS Lambda アプリケーションです。
API リクエストや Slack からのメッセージを受け取り、NotebookLM に問い合わせて結果を返します。

機能

  • NotebookLM への問い合わせを AWS Lambda 経由で実行
  • Slack との統合(メッセージの受信と応答)
  • API キーによる認証
  • Playwright を使用したヘッドレスブラウザによる NotebookLM の操作
  • セッション状態の保存と再利用
  • スクリーンショットの S3 バケットへの保存(デバッグ用)

技術スタック

  • Node.js
  • AWS Lambda
  • AWS SAM (Serverless Application Model)
  • Playwright(ヘッドレスブラウザ)
  • Docker(開発環境)
  • Slack API

セットアップと設定

環境変数

以下の環境変数を .env ファイルに設定する必要があります:

S3_BUCKET=S3 バケット名
NOTEBOOK_URL=NotebookLM の URL
API_KEY=API 認証キー
GOOGLE_USER_NAME=Google アカウントのユーザー名
GOOGLE_USER_PASSWORD=Google アカウントのパスワード
SLACK_WEBHOOK_URL=Slack の Webhook URL
SQS_QUEUE_URL=SQS キュー URL

開発環境の構築

docker-compose up -d

デプロイ

yarn deploy

使用方法

API 経由での利用

HTTP POST リクエストを Lambda 関数 URL に送信します。

POST https://your-lambda-function-url/
Headers:
  x-api-key: YOUR_API_KEY
Body:
  {
    "message": "NotebookLM への問い合わせ内容"
  }

Slack 経由での利用

Slack アプリを設定し、ボットユーザーにメンションすることで NotebookLM に問い合わせることができます。

About

NotebookLMのQ&AをSlackBotと連携させるアプリ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published