--- name: meeting-report description: Generates meeting reports from audio recordings using local Whisper ASR version: 1.0.0 metadata: openclaw: requires: env: - WHISPER_URL - WHISPER_API_KEY - HOTWORDS_PATH bins: - ffmpeg - ffprobe - pandoc - python3 - xelatex primaryEnv: WHISPER_API_KEY emoji: "📝" os: - linux - darwin --- # Meeting Report Skill ## Описание / Description Этот навык транскрибирует аудиозаписи совещаний с помощью локально развёрнутого Whisper ASR, объединяет транскрипции из нескольких источников и создаёт структурированный отчёт о встрече в форматах Markdown и PDF. ## Триггеры / Triggers - "meeting report", "generate report", "transcribe meeting", "audio report", "отчёт о встрече", "сформируй отчёт", "расшифруй запись" ## Инструкции / Instructions ### 1. Подготовка окружения / Environment setup Убедитесь, что установлены требуемые переменные окружения: - `WHISPER_URL` – URL локального Whisper сервера (например, `http://localhost:8000`) - `WHISPER_API_KEY` – API ключ для доступа к Whisper серверу (Bearer токен) ### 2. Запуск генерации отчёта / Generate a report ```bash bash scripts/generate_report.sh ``` Пример: ```bash bash scripts/generate_report.sh 2026-04-29 ``` Ожидаемая структура: text 2026-04-29/ ├── *.WAV # исходные аудиофайлы (Saramonic, Zoom H2n) ├── transcription/ # создаётся автоматически ├── merged.json # объединённые сегменты ├── merged_plain.txt # сплошной текст для LLM └── report.pdf # финальный отчёт 3. Что делает generate_report.sh Обнаруживает источники – Saramonic (*.WAV), Zoom H2n (SR*XY.WAV, SR*MS.WAV) Конвертирует в MP3 и транскрибирует через Whisper (с поддержкой hotwords) Объединяет транскрипции из нескольких источников (основной + аудитория) Конвертирует готовый report.md в PDF с помощью pandoc и xelatex 4. Ручное использование скриптов / Manual script usage Транскрипция одного файла: bash bash scripts/transcribe.sh Объединение двух JSON транскрипций: bash python3 scripts/merge_transcriptions.py Конкатенация WAV в MP3: bash bash scripts/concat_wav.sh ... Чанковое транскрибирование (очень длинные записи): bash bash scripts/transcribe_chunked.sh 5. Горячие слова / Hotwords Файл hotwords.txt содержит термины, организацию, имена и аббревиатуры, повышающие точность распознавания. Переопределяется через переменную HOTWORKS_PATH. ## 6. Инструкции для агента по формированию отчёта / Agent instructions for report generation После того как скрипт `generate_report.sh` завершил транскрипцию и объединение источников, агент **обязан** самостоятельно создать файл `report.md` в директории встречи. ### Требования к отчёту `report.md` - **Содержание**: детальное, информативное описание хода встречи, включая: - обсуждавшиеся темы и вопросы, - принятые решения и договорённости, - ход встречи - назначенные задачи и ответственных, - ключевые выводы и следующие шаги. - **Стиль**: корпоративный, деловой, соответствующий IT‑компании (чётко, по делу, без разговорной речи). - **Формат**: Markdown с заголовками, списками, выделением важного. - **Запрещено**: прямые цитаты из транскрипции. Пересказывайте содержание своими словами, сохраняя все смысловые детали. - **Язык**: русский (основной), технические термины допустимы на английском. ### Как агент должен действовать 1. **Дождаться завершения работы** `generate_report.sh` (или выполнить его самостоятельно). 2. **Прочитать содержимое** файла `merged_plain.txt` (или `merged.txt`), который лежит в папке встречи. Этот файл содержит полный текст транскрипции без таймкодов (или с ними, но для пересказа удобнее plain). 3. **Создать (перезаписать) файл** `report.md` в директории `report`, лежащей в папке встречи, следуя указанным выше требованиям. 4. **Сгенерировать PDF** одним из способов: - **Способ А (рекомендуемый):** повторно выполнить `bash scripts/generate_report.sh `. Скрипт обнаружит уже существующий `report.md` и сконвертирует его в `report.pdf`. - **Способ Б:** вручную выполнить команду `pandoc report.md -o report.pdf --pdf-engine=xelatex ...` (параметры см. в скрипте). ### Пример запроса агента пользователю После того как транскрипция готова, агент может написать: > Транскрипция встречи завершена. Я подготовлю на её основе детальный отчёт в корпоративном стиле (без прямых цитат) и сохраню его в `report.md`, а затем сконвертирую в PDF. Подождите немного. После выполнения агент сообщает: «Отчёт сгенерирован: `/path/to/meeting/report.pdf`». Примечания / Notes Скрипты ожидают локальный Whisper сервер, совместимый с API OpenAI (endpoint /v1/audio/transcriptions), с аутентификацией Bearer. Для длинных сегментов рекомендуется использовать transcribe_chunked.sh. Он автоматически разбивает аудио по паузам тишины. Для PDF требуется установленный pandoc, xelatex и шрифты DejaVu.