VideoToNo — скилл

Скилл превращает ссылку на видео с Bilibili, Douyin или YouTube в конспект с таймкодами через локальную расшифровку

  • 179 ★ репозитория
  • Последний коммит
  • MIT
Скилл

Расширенный доступ

Почему такой уровень

  • Запускает локальный сервис, скачивает медиа и модели и пишет файлы в рабочую папку
  • Может хранить ключи API и `cookie` Bilibili на диске, а конспект по ключу отправляет расшифровку выбранному провайдеру модели
Все причины и проверки

like-attract/video-to-note

Установка

Работает в

В терминале, через SkillFoxx CLI

npx skillfoxx add skills/videotono

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Запускает локальный сервис, скачивает медиа и модели и пишет файлы в рабочую папку
  • Может хранить ключи API и `cookie` Bilibili на диске, а конспект по ключу отправляет расшифровку выбранному провайдеру модели

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Скилл video-to-note передает ссылку или локальный файл локальному сервису VideoToNo, и тот возвращает расшифровку с настоящими таймкодами. Сначала берутся субтитры платформы, у Bilibili еще и ИИ-субтитры после входа. Если субтитров нет, речь распознает `faster-whisper` на машине пользователя. Поддержаны Bilibili с многосерийными видео, одиночные публичные ссылки Douyin, YouTube, другие адреса, которые разбирает `yt-dlp`, и локальные аудио и видео. Есть два пути. Путь расшифровки возвращает только текст с таймкодами, без вызова модели и без ключа API, а конспект пишет сам агент. Путь конспекта просит сервис собрать готовый Markdown через DeepSeek, OpenAI, Zhipu, Qwen, Kimi или любой OpenAI-совместимый адрес. Сервис умеет экспорт в Markdown, HTML, JSON, текст, PNG и Word, скриншоты из видео и MCP-сервер для WorkBuddy, Cherry Studio и Codex. Если сервис не запущен, скрипт скилла поднимает его без окна и закрывает после 15 минут простоя.

Для кого. Студентам, исследователям и авторам, которые учатся по лекциям и разборам на Bilibili, Douyin или YouTube и хотят получать конспект, а не пересматривать часы записи.

Подходит, если

  • Трехчасовая лекция на Bilibili нужна в виде конспекта с оглавлением и временными диапазонами
  • Агенту передают видео, а ему важна только расшифровка с таймкодами без ключа API
  • Локальный файл с записью созвона надо превратить в структурированную заметку
  • Субтитры платформы отсутствуют, и речь придется распознавать на своей машине
  • Готовый конспект стоит сохранить в Word или HTML вместе со скриншотами

Не подходит, если

  • Видео с iQiyi или Tencent Video: специальной поддержки для них нет, результат зависит от доступа к платформе и `yt-dlp`
  • Компьютер на macOS или Linux: проект рассчитан в первую очередь на Windows и Python 3.11
  • Интерфейс и документация на русском обязательны: основной язык проекта китайский, есть и английская версия README

Пример запроса к агенту

Сделай расшифровку с таймкодами по видео https://www.bilibili.com/video/BV1xx и перескажи по пунктам главные выводы

Ограничения

Скилл служит пультом: без установленного VideoToNo он не работает, нужен портативный exe с релизов или запуск из исходников на Python 3.11. Первый запуск расшифровки скачивает модель Whisper или `paraformer`, ее можно положить вручную. Конспект требует ключа API выбранной модели, расшифровка без конспекта не требует. Для Douyin работают только отдельные публичные ссылки, иногда нужен вход в отдельном браузере. Ключи сохраняются на машине только по кнопке, в Windows шифруются через DPAPI. Сервис слушает 127.0.0.1, порты 8000–8019.

Как отключить. Удалите папку video-to-note из каталога скиллов агента и закройте сервис в трее. Рабочая папка VideoToNo с задачами и ключами удаляется отдельно.

Частые вопросы

Как поставить скилл VideoToNo в Claude Code?

Скопируйте папку `skills/video-to-note/` из репозитория в каталог скиллов Claude Code. Сам VideoToNo при этом уже должен стоять: скачайте портативный exe из релизов, он не требует установки Python.

Нужен ли ключ API для расшифровки?

Нет. Режим `--transcript-only` не вызывает модель и возвращает текст с таймкодами, конспект пишет агент. Ключ нужен только для готового конспекта через сервис.

Что делать, если у видео нет субтитров?

Сервис распознает речь локально через `faster-whisper`. При первом запуске он предложит скачать модель, ее можно импортировать вручную по инструкции в интерфейсе.

Есть ли у проекта MCP-сервер?

Да. Сервис отдает MCP по адресу `http://127.0.0.1:8000/mcp/sse` с инструментами summarize_video, transcribe_video, get_transcript и другими. VideoToNo должен быть запущен.

Какие форматы экспорта поддерживает сервис?

Markdown, HTML, JSON, обычный текст, PNG и Word (.docx), субтитры экспортируются и в .srt. К конспекту можно приложить скриншоты из видео.

Обсуждение

Вопросов и отзывов пока нет.

Скиллы

Скилл для Codex и Claude Code: субтитры и краткий пересказ по ссылке на ролик Douyin, Xiaohongshu, Bilibili, YouTube или по файлу

СкиллРасширенный доступ256Звезды репозитория

Скилл извлекает из длинного видео яркие фрагменты: скачивание, транскрипт, разбивка, анализ и нарезка клипов с заголовками

СкиллРасширенный доступ579Звезды репозитория

watch-cli, скилл и CLI, дает агенту кадры и расшифровку любого соцвидео, чтобы тот разобрал ролик сам.

СкиллРасширенный доступ260Звезды репозитория
Выбор редакции

Скилл /watch: по ссылке или файлу достает кадры и субтитры, а при ключе Gemini передает видео целиком Google, чтобы агент отвечал на вопросы по ролику

СкиллШирокий доступ20,6 тыс.Звезды репозитория

Скилл рисует видео кодом: объясняющие ролики с озвучкой и промо-ролики для сайтов в 35 визуальных стилях, 16:9 и 9:16.

СкиллРасширенный доступ176Звезды репозитория

Скилл собирает из темы озвученное видео в 4K: исследование, сценарий, локальный TTS, монтаж на Remotion и сведение в FFmpeg

СкиллРасширенный доступ1,7 тыс.Звезды репозитория

Сравнение с похожими

Карточки с тем же главным запросом: чем они отличаются.

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
VideoToNo (эта карточка)нет179
video-lensнет128собирает HTML-отчет по субтитрам YouTube-видео, а не конспект с локальной расшифровкой речи
DeLive Transcript Analyzerнет261ищет и разбирает расшифровки из приложения DeLive, а не получает их из видео по ссылке

Коротко о README

README на китайском описывает сервис «видео в структурированный конспект»: входные источники, поддержку Bilibili и Douyin, настоящую временную шкалу, экспорт и локальную работу. Приведены история версий до 1.4.7, запуск портативной сборки, режим MCP и скилл для агента. Лицензия MIT, есть английская версия README.

Бейдж для README

Исходный SKILL.md

---
name: video-to-note
description: Generate structured, timestamped Markdown notes from videos (Bilibili, Douyin, YouTube, or local media files) using the local VideoToNo service. Use when the user asks to summarize a video, turn a video/lecture/talk into notes, extract video content or a transcript, or mentions VideoToNo.
---

# VideoToNo · 视频笔记生成

通过本机运行的 VideoToNo 服务,把视频变成带时间轴的 Markdown 笔记:优先读取平台字幕(B 站 AI 字幕深度适配,支持多分 P 合并),没有字幕时用本地 faster-whisper 离线转写,最后由已配置的大模型生成笔记。

## 先选路线

| 你要什么 | 走哪条 | 需要 API Key |
|---|---|---|
| 带时间轴的转录原料,笔记结构与风格你自己定 | **转录路线** `--transcript-only` | **不需要** |
| 一份现成的成品笔记(用户只要"给我笔记",或视频很长希望后台跑完) | 笔记路线 `--style` | 需要(本机按接口地址保存过即可省略) |

你自己就有模型可以写笔记时,**优先走转录路线**:本机只负责取字幕或离线转写,写作由你完成,不用向用户索要 Key,也不会被套进固定的笔记模板。

## 第 0 步:服务不在就让它自己起来

脚本先扫 `127.0.0.1` 的 8000-8019;**端口全不通时它不会让你去启动软件**,而是自己后台拉起一个无头服务(不开浏览器、不进托盘、不占桌面),等它健康再往下走。它按这个顺序找"服务怎么启动":

1. 本次命令带的 `--server-cmd "<便携版 exe 路径>"`(也接受 `python launcher.py` 这类命令)
2. 环境变量 `VIDEOTONOTES_SERVER_CMD`
3. 上一次 `--server-cmd` 给过的路径(记在 `%LOCALAPPDATA%\VideoToNo\skill-server-cmd.txt`)
4. 技能脚本仍在 VideoToNo 仓库里时,直接用当前 Python 起 `launcher.py`

四条都没有 → 脚本退出并说清缺什么。这时向用户要一次 exe 的位置("VideoToNo 那个程序放在哪个目录?"),带上 `--server-cmd` 重跑;**给过这一次就不用再问**。

无头实例闲置 15 分钟且没有在建任务时自己退出(要常驻就让它带 `--idle-exit 0`);日志在 exe 同级目录的 `workspace/_app.log`。第一次拉起会多花几秒(打包版还要先解压自身),那不是卡死。

想手动确认服务在不在,健康检查照旧可用:

```bash
curl -s --max-time 2 http://127.0.0.1:8000/api/health
# 期望返回 {"status":"ok","service":"VideoToNo",...}
```

服务已在运行时(用户自己双击了 exe,或跑的是界面版),脚本直接复用它,不会起第二个。

Сообщить о проблеме