Files
yanting/report-notebooklm-api

report-notebooklm-api

FastAPI service for the report-notebooklm Phase 1 public read surface.

This directory is the main engineering handoff entry for API, data model, seed import, and the NotebookLM-backed content pipeline. The companion Flutter app lives in ../report-notebooklm-app/ in the same monorepo.

Read First

Product Boundary

This repo contains code and an engineering handoff snapshot. It is not the product source of truth.

Product SSOT: mall-docs report-notebooklm docs. Snapshot date: 2026-06-03.

Use report-notebooklm and rnb for technical identifiers. The user-facing product name is 研听.

Local Quick Start

Create a .env file with the backend services available to your environment:

RNB_DATABASE_URL=mysql+asyncmy://<db-user>:<db-pass>@<db-host>:<db-port>/report_notebooklm
RNB_REDIS_URL=redis://<host>:<port>/0
RNB_REDIS_KEY_PREFIX=rnb:

Then run:

python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
alembic upgrade head
python scripts/import_seed_content.py
uvicorn app.main:app --reload --host <bind-host> --port <port>

API prefix: /api/report-notebooklm/v1

Verify

source .venv/bin/activate
pytest -q

Recommended smoke checks after the service starts:

API_BASE_URL=http://<api-host>:<port>/api/report-notebooklm/v1
curl "$API_BASE_URL/health"
curl "$API_BASE_URL/feed/recommended"
curl "$API_BASE_URL/reports/rep_ssga_gold"