BiliNote-MCP
Convierte enlaces de video en notas Markdown generadas por IA
Documentación

VideoNote-Mcp
Enlace de video → Notas en múltiples formatos
Un enlace → Una nota · De extremo a extremo o desacoplado, cualquier combinación
中文 | English
Inicio rápido • Documentación • Casos reales • Mapa del pipeline • Gestión de tareas • Mejores prácticas • Cómo contribuir
VideoNote-Mcp empaqueta todo el pipeline de «enlace de video → notas en múltiples formatos» como un servidor MCP: dale un enlace y automáticamente completará descarga → transcripción de voz → comprensión de imágenes → danmaku/comentarios, y generará transcripciones o notas.
Repositorio: HuangYincan/VideoNote-MCP.
Se puede usar de extremo a extremo (un enlace → una nota), o desacoplado: herramientas de generación, materiales, tareas, procesamiento de medios, etc., se usan según necesidad. No es necesario iniciar ningún servicio backend.
Inicio rápido
Configura el servicio MCP y comienza a usarlo.
# 1) 注册独立 MCP(PyPI 已发布版本)
claude mcp add --scope user videonote -- uvx videonote@latest
# 2) 在终端配置转写 / 平台登录;默认笔记流程无需 LLM Key
uvx videonote@latest setup
# 3) 重启或重连 MCP,然后发送视频链接
Los clientes MCP que admiten JSON también pueden usarlo:
{
"mcpServers": {
"videonote": {
"type": "stdio",
"command": "uvx",
"args": ["videonote@latest"]
}
}
}
[!NOTE] El
uvx videonote@latestpredeterminado solo incluye dependencias básicas (transcripción fast-whisper + subtítulos oficiales de la plataforma), no incluye motores opcionales. En macOS, si quieres usarmlx-whispercon la GPU de Apple, tanto el registro MCP como la configuración del terminal deben incluirlo (--withdebe escribirse antes del nombre de la herramienta):claude mcp add --scope user videonote -- uvx --with mlx-whisper videonote@latest uvx --with mlx-whisper videonote@latest setupEn clientes JSON, inserta
"--with", "mlx-whisper"al inicio deargs:{ "mcpServers": { "videonote": { "type": "stdio", "command": "uvx", "args": ["--with", "mlx-whisper", "videonote@latest"] } } }
funasr(óptimo para chino) es igual, solo cambia a--with funasr --with torch.
[!TIP] Cuatro métodos de instalación, detalles de configuración, actualización y seguridad en docs/04-使用手册.md.
Formatos de exportación
- Subtítulos: admite SRT, VTT y JSON, ideal para guardar líneas de tiempo o importar a otras herramientas.
- Notas Markdown: se pueden organizar en notas legibles y editables a partir de transcripciones, imágenes y comentarios.
- LaTeX / Typst: el paquete incluye plantillas como Math Note, English Article y zju-lab; se pueden listar, leer o copiar a un nuevo directorio en el cliente MCP.
- La copia de plantillas no sobrescribe directorios existentes. Los compiladores, fuentes y dependencias de LaTeX / Typst deben prepararse localmente; MCP solo proporciona materiales y plantillas, no compila PDF automáticamente.
La explicación completa de exportación está en el manual de uso.
Documentación
Instalación / configuración / uso / variables de entorno / actualización / seguridad, etc., están archivados en docs/ (el README solo conserva una visión general):
- Índice de documentación
- Diseño de arquitectura · Diagrama de arquitectura editable
- Manual de uso — instalación (4 métodos) · configuración (asistente setup + CLI) · variables de entorno · actualización · seguridad
- Registro de cambios
Casos reales
Dos casos reales de extremo a extremo: uno genera directamente un PDF LaTeX mathnote mediante un asistente de conversación, y el otro produce Markdown portátil mediante generación LLM totalmente automática.
Caso uno · agent_direct + LaTeX mathnote (video de DeepSeek-V4)
Un video + cuatro tipos de materiales externos (artículos / informes técnicos / anuncios oficiales de WeChat / colecciones de código abierto) → el asistente de conversación genera directamente notas refinadas y produce un PDF LaTeX mathnote (plantilla de kaiti chino):
| Página1 | Página2 | Página3 |
|---|---|---|
![]() | ![]() | ![]() |
- Sin clave LLM: organiza notas a partir de transcripciones, capturas de fotogramas y comentarios
- Integración cruzada de múltiples fuentes: video × artículos × informes técnicos × listas de código abierto
- Refinamiento conserva el borrador original:
note.md/note_original.mddoble copia - PDF LaTeX mathnote: reparación adaptativa de fuentes faltantes / desbordamiento de líneas / deduplicación de citas
El registro completo del proceso está en examples/agent-direct-deepseek-v4-mathnote/README.md.
Caso dos · Generación LLM totalmente automática + Markdown portátil (videos en paralelo)
Prompt mínimo (3 enlaces de Bilibili + directorio de salida, sin explicar ningún parámetro) → totalmente automático ejecuta verificación del entorno → reconocimiento de enlaces → descubrimiento de proveedor/modelo → confirmación de parámetros → videos en paralelo → refinamiento posterior basado en subtítulos, produciendo 3 notas portátiles refinadas (note.md + capturas de Assets/ + sección «opiniones de la audiencia», conservando note_original.md para comparación).
- IELTS: rompe mitos + desglose de las cuatro secciones (escucha/lectura/escritura/habla) + 179 palabras de alta frecuencia + 15 marcos lógicos de oraciones
- Medicina forense: un forense con 43 años de experiencia «analiza» la comparación entre cine y realidad, refinado y ampliado a 12 secciones
- Transformer: explicación detallada del mecanismo de autoatención, 18 capturas distribuidas según la línea de tiempo de la clase
El registro completo del proceso está en examples/note-generation-example/README.md.
Mapa del pipeline
Las líneas sólidas son el flujo principal: un prepare_note_material produce materiales, y el asistente de conversación actual organiza las notas; generate_note es el respaldo (se usa el LLM configurado cuando el asistente de conversación no puede ver imágenes). Las líneas discontinuas son capacidades opcionales (comprensión de video / danmaku y comentarios). Los detalles de cada etapa están en docs/02-架构设计.md.
Gestión de tareas
Cada tarea tiene una carpeta note_results/{task_id}/: raw/ (medios descargados) + gen/ (transcripción/notas/fotogramas/exportación) + archivos de control; el índice global de tareas está en la tabla SQLite video_tasks (con títulos semánticos). list_tasks enumera todas las tareas (identificadas por título semántico), cleanup(task_id, dry_run=True) consulta antes de limpiar, cleanup limpia por tarea / globalmente (por defecto conserva configuración y modelos), health_check verifica que FFmpeg / base de datos / whisper estén listos.
flowchart TB
DATA["data/ 数据根"] --> R["note_results/ 任务目录"]
DATA --> DB[("video_note.db<br/>SQLite 全局任务索引")]
R --> T1["任务 A<br/>note_results/{task_id}/"]
R --> T2["任务 B<br/>…"]
R --> T3["任务 C<br/>…"]
T1 --> RAW["raw/ 原始材料<br/>音视频 · 封面"]
T1 --> GEN["gen/ 生成材料"]
T1 --> CTRL["status.json · result.json · manifest.json"]
GEN --> T1A["transcript.json 转写全文"]
GEN --> T1B["note.md 成稿笔记"]
GEN --> T1C["Assets/ 笔记内截图"]
GEN --> T1D["frames/ 关键帧原图"]
GEN --> T1E["srt / vtt / json 字幕导出"]
DB -. 索引 .-> T1
| Herramienta | Descripción | Tipo |
|---|---|---|
list_tasks | Lista todas las tareas (índice global, con títulos semánticos) | Herramienta MCP |
cleanup | Limpieza por tarea (pasa task_id) / limpieza global (restablecimiento de fábrica, sin pasar) | Herramienta MCP |
health_check | Estado de FFmpeg / base de datos / whisper | Herramienta MCP |
Mejores prácticas
- Estudio y preparación de exámenes: de extremo a extremo + comprensión de video + optimización posterior basada en subtítulos, para explicar el curso a fondo.
- Actas de reuniones:
process_media(action="merge")fusiona grabaciones segmentadas →process_media(action="diarize")separación de hablantes →meeting_minutesestilo. - Lectura profunda de conferencias: después de la generación de extremo a extremo, refina según los subtítulos completos y completa los detalles por capítulo.
- Apreciación de videos: activa la integración de danmaku + comentarios, la nota incluye la sección «opiniones de la audiencia».
- Ruta predeterminada: un enlace usa
prepare_note_material, y el asistente de conversación actual organiza las notas; solo se usagenerate_notecuando no se pueden ver imágenes o el usuario solicita un LLM configurado. Para solo procesamiento de medios, usaprocess_media. - Casos reales: el registro completo del proceso está en
examples.
Cómo contribuir
Se aceptan Issues, sugerencias de mejora y Pull Requests. El entorno de desarrollo, comandos de prueba, estrategia de ramas y navegación del código están en CONTRIBUTING.md.


