Extensión Chrome (MV3) que extiende Google NotebookLM con herramientas pensadas para el trabajo jurídico argentino.
Desarrollada por Juan Pablo Terraf — Derecho Inteligente · Facultad de Derecho, Universidad Nacional de Tucumán. Código abierto bajo licencia MIT. No publicada en la Chrome Web Store: se instala manualmente.
36 prompts redactados y curados para el trabajo profesional, organizados por categoría:
| Categoría | Ejemplos |
|---|---|
| Expediente | Caratula inteligente · Mapa integral · Cronología procesal |
| Litigio | Teoría del caso · Demanda vs Contestación · Investigación defensiva |
| Prueba | Matriz probatoria · Análisis de testimoniales · Control de pericia |
| Estrategia | Mapa de riesgos · FODA del caso · Análisis cautelar · Tesis a favor / en contra |
| Jurisprudencia | Tabla de fallos · Ratio decidendi · Precedentes favorables · Patrones decisorios · Evolución jurisprudencial |
| Doctrina | Doctrina principal de un libro · Comparación de autores · Mapa de autoridad · Definición y debate de un concepto |
| Escritos | Preparar escrito · Borrador de alegato · Revisar contrato · Comparar contratos |
| Recursos | Control de sentencia apelable · Borrador de agravios |
| Cliente | Explicación jurídica para cliente · Minuta de reunión o audio |
| Research | Resumen ejecutivo · Plan de trabajo · Preguntas de investigación · Investigación profunda |
Cada prompt está pensado para sacar el máximo de NotebookLM: pide siempre citas a las fuentes cargadas, diferencia hechos comprobados de inferencias, y evita la alucinación de jurisprudencia.
9 botones de acceso directo en la pestaña "Prompts" del popup para los flujos más frecuentes: Caratula, Cronologia, Hechos, Matriz probatoria, Jurisprudencia, Riesgos, Estrategia, Preparar escrito, Cliente.
- Filtro por etapa procesal: Inicio, Prueba, Estrategia, Escrito, Cliente, Recursos.
- Búsqueda full-text por título, comando, etiqueta, categoría o cuerpo.
- Creá tus propios prompts (con título, categoría, etapa procesal, comando
/slashy cuerpo). - Editalos o borralos cuando quieras desde el menú
⋮de cada tarjeta. - Los 36 built-in son inmutables: no se pueden romper accidentalmente y siempre vuelven a su versión correcta.
Tipear /teoria dentro del chat de NotebookLM despliega un menú flotante con los prompts cuyo comando matchea. Navegación con ↑/↓, Enter o Tab para insertar, Esc para cerrar. Funciona en cualquier cuaderno; los prompts se inyectan reemplazando el /término por el cuerpo completo.
Debajo de cada respuesta del modelo aparece un botón "Guardar fuente". Un click la convierte en una text-source del cuaderno actual, con título automático (Respuesta de chat — fecha). El botón solo aparece dentro de un cuaderno abierto, nunca en la lista de cuadernos.
Pestaña "Importar fuentes" del popup:
- Lista todos tus cuadernos vía RPC interno de NotebookLM.
- Seleccionás los cuadernos origen con checkboxes.
- La extensión copia las fuentes al cuaderno abierto eligiendo automáticamente la mejor estrategia:
- URLs públicas (web, YouTube) → reimportadas como fuente URL.
- Imágenes y media de Google → descargadas y subidas como archivo.
- Texto pegado y fuentes sin URL reimportable → recreadas como text-source usando el texto indexado por NotebookLM.
- Progreso visible durante todo el merge (
Importando X/N: …), botón disabled para evitar dobles ejecuciones. - Al finalizar se agrega un text-source con el resumen de la importación (qué se copió, qué se omitió, qué falló).
Sistema de diseño cream + bordó UNT consistente entre el popup y los botones inyectados en NotebookLM. Tipografía Inter, sistema de espaciado 4/8/12/16/24, paleta única.
No requiere instalar nada por consola ni conocimientos técnicos. Sí necesita Chrome (o cualquier navegador basado en Chromium: Edge, Brave, Arc, Opera).
- Andá a la página de Releases del repo y descargá el archivo
asistente-notebooklm-derecho-vX.Y.Z.zipde la última versión. - Descomprimí el ZIP en una carpeta fija de tu disco (importante: la carpeta no se puede borrar ni mover después, porque Chrome la lee de ahí cada vez).
- Abrí Chrome y andá a
chrome://extensions(copialo y pegalo en la barra de direcciones). - En la esquina superior derecha, activá el toggle "Modo de desarrollador".
- Aparecen tres botones nuevos arriba a la izquierda. Click en "Cargar descomprimida".
- Elegí la carpeta donde descomprimiste el ZIP y aceptá.
- La extensión queda instalada. Vas a ver el ícono "D" bordó en la barra de extensiones de Chrome.
- Abrí notebooklm.google.com, iniciá sesión, y abrí cualquier cuaderno. Listo.
git clone https://github.com/juanterraf/asistente-notebooklm-derecho.gitDespués, los pasos 3 a 8 son los mismos.
Cuando salga una versión nueva: descargá el ZIP nuevo, reemplazá la carpeta vieja por la nueva, y en chrome://extensions apretá el botón de refrescar (↻) sobre la extensión.
- Abrí un cuaderno en NotebookLM.
- Click en el ícono "D" de la extensión (o en el botón "DI" que aparece arriba a la derecha en NotebookLM).
- Elegí un prompt de los 36 built-in o de los que hayas creado.
- Click en el
+bordó de la tarjeta. El prompt se inserta en el chat. Revisalo y enviá cuando quieras.
Dentro del chat de NotebookLM, tipear / seguido del nombre del comando (ej: /teoria_del_caso) despliega un menú con sugerencias. ↑/↓ para navegar, Enter para insertar.
- En el popup, pestaña "Prompts" → botón "+ Nuevo" (arriba a la derecha).
- Completá título, categoría, etapa procesal, comando
/slash(opcional), y cuerpo. - Guardar. Tu prompt queda en la lista junto a los built-in, con su propio menú
⋮para editar o borrar.
Después de que el chat te responda algo útil, mirá debajo de la respuesta: aparece un botón "Guardar fuente". Un click y queda como text-source del cuaderno abierto, con título automático.
- Abrí el cuaderno destino (donde querés que lleguen las fuentes).
- En el popup, pestaña "Importar fuentes".
- Click en "Actualizar lista" si es la primera vez. Aparecen tus otros cuadernos.
- Tildá los cuadernos origen.
- Opcional: poné una referencia que aparecerá como prefijo en los títulos importados (ej:
Pericial Causa 12345). - Click en "Insertar fuentes seleccionadas".
- Se ve el progreso en el pie del popup. Al final NotebookLM tendrá las fuentes nuevas, y se agrega un text-source con el resumen de la operación.
.
├── manifest.json Manifest V3 de Chrome
├── background.js Service worker (solo abre popup)
├── popup.html / .css / .js Popup principal (prompts + importar)
├── content/
│ └── notebooklm-content.js Content script en notebooklm.google.com
│ (botones inyectados, slash autocomplete,
│ guardar fuente, listener RPC)
├── lib/
│ └── notebooklm-rpc.js Cliente RPC unificado (batchexecute)
├── assets/
│ ├── icon-{16,32,48,128}.png Íconos de la extensión
│ └── logo.png Logo institucional
├── LICENSE MIT
└── README.md Este archivo
- Reverse-engineering de NotebookLM: la extensión usa el endpoint interno
batchexecutede NotebookLM. Losrpcid(hashes que Google rota en releases incompatibles) están enlib/notebooklm-rpc.jsy son los puntos de fricción más probables ante un cambio del backend. - Auth: los tokens (
SNlM0e,FdrFJe) se extraen del HTML de la home de NotebookLM con regex; se cachean 5 min en memoria del content script. Las requests salen desde la pestaña de NotebookLM con la sesión del propio usuario. No hay backend propio ni telemetría. - Permisos solicitados: solo
storage,tabs,scripting,activeTab. Hosts:notebooklm.google.comy*.googleusercontent.com(para descargar imágenes/media al hacer merge). - Built-in inmutables: los 36 prompts incluidos no se pueden editar ni borrar — el código fuente es la fuente de verdad. Los prompts custom del usuario se persisten en
chrome.storage.localde Chrome. - Aislamiento visual: la UI inyectada en NotebookLM usa CSS namespaceado (
.di-*) para no colisionar con los estilos de Google.
- PDFs y archivos subidos al cuaderno con URL interna de NotebookLM pueden no reimportarse correctamente en el merge: la URL no es accesible para terceros. En esos casos cae al fallback de texto si la fuente no tiene URL pública.
- NotebookLM no tiene API pública. Si Google cambia el bundle (
bl/f.sid/rpcid), la extensión puede dejar de funcionar hasta que se actualice. Los puntos a revisar están enlib/notebooklm-rpc.js. - Detección de respuestas del chat: depende de selectores DOM (
mat-card,[aria-label*='respuesta' i], etc). Si NotebookLM cambia el render del chat, el botón "Guardar fuente" puede dejar de aparecer hasta que se ajusten los selectores.
- La extensión no envía datos a ningún servidor de terceros.
- Las únicas requests salen a
notebooklm.google.com(RPC interno, ya autenticado con tu sesión de Google) y*.googleusercontent.com(descarga de archivos al hacer merge entre cuadernos). - Los prompts custom se guardan localmente en
chrome.storage.local. Si desinstalás la extensión, se borran. Si querés respaldarlos manualmente, podés exportar la storage local con DevTools.
MIT — ver LICENSE. Sentite libre de usar, modificar y distribuir citando autoría.
Juan Pablo Terraf — derechointeligente.com.ar Facultad de Derecho, Universidad Nacional de Tucumán.
Si encontrás un bug o tenés una sugerencia, abrí un issue en este repo.