skillok meeting

meeting

Публичный
abb5e063472e17b9fc6cee9e5c1ff5871800805f
Перейти к файлу
Код
anc Релиз 1.5: стиль Skillok, помощь с разрешениями на Mac — сборки и CHANGELOG - Версия 1.5.0 (package.json, tauri.conf.json, Cargo.toml всех крейтов). - downloads/: SkillokMeet-1.5.0-windows-x64-setup.exe (30 МБ) и SkillokMeet-1.5.0-macos-apple-silicon.zip (36 МБ); сборки 1.4 убраны (в истории, коммит e581846). - CHANGELOG 1.5: главное, улучшено, известное (разрешение на Mac слетает с каждой неподписанной сборкой; одна тема), SHA-256. - README: «Скачать» на 1.5. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> a008f4d 4 октября 2026 г. История
README.md

Skillok Meet#

Рабочее название. Продукт Skillok.

Программа для Windows, которая работает на компьютере пользователя. Сама включает запись,
когда начинается встреча в Zoom, по ходу ведёт расшифровку, а после встречи делает
конспект, ревью, решения и задачи. Итог можно сохранить в свой репозиторий на skillok.org.

Нашего сервера нет. Пользователь вводит свой ключ OpenRouter — и всё. Звук и
расшифровки лежат у него на диске. Наружу уходят только запросы к моделям по его
собственному ключу.


Что делает#

  1. Замечает, что началась встреча в Zoom, и включает запись. Кнопку жать не нужно.
  2. Ведёт расшифровку по ходу встречи. Реплики разделены на «я» (микрофон) и
    «собеседники» (звук Zoom).
  3. Каждые несколько минут обновляет живой конспект.
  4. После встречи делает разбор:
    • краткое содержание;
    • ревью встречи: чего достигли, что осталось открытым, где ушли в сторону;
    • решения;
    • задачи с исполнителем и сроком, если они прозвучали;
    • вопросы на следующую встречу.
  5. Сохраняет итог в репозиторий на skillok.org — одним нажатием или автоматически.

Как это работает#

 Zoom.exe ──звук──┐
                  ├─► захват (WASAPI) ─► куски по ~30 с ─► OpenRouter: Whisper ─► расшифровка
 микрофон ────────┘                                                                  │
                                                                                     ▼
                                              OpenRouter: Claude ◄── конспект / разбор
                                                                                     │
                                          диск пользователя ◄─────────────────────────┤
                                          skillok.org (репозиторий) ◄── по желанию ───┘

Захват звука Zoom#

  • Звук берём только от процесса Zoom (process loopback) и отдельно с микрофона.
    Системные звуки и музыка в запись не попадают.
    См. Application loopback sample
    и ActivateAudioInterfaceAsync.
    Нужна Windows 10 сборки 20438 или новее.
  • Начало встречи определяем по появлению звуковой сессии Zoom.exe и окна встречи.
    Конец — по их исчезновению.
  • API Zoom, аккаунт разработчика и одобрение в Marketplace не нужны. Работает на любой
    встрече и на любом плане Zoom, в том числе бесплатном и на чужой встрече.

Расшифровка — Whisper через OpenRouter#

  • Эндпоинт POST https://openrouter.ai/api/v1/audio/transcriptions, тот же ключ, что для
    текстовых моделей. Модели: openai/whisper-large-v3-turbo (по умолчанию),
    openai/whisper-large-v3, openai/whisper-1.
    См. документацию OpenRouter STT.
  • Эндпоинт принимает файл целиком, потокового режима нет. Поэтому звук режем на куски
    по ~30 секунд по паузам в речи. Расшифровка отстаёт от живой речи на длину куска
    плюс время ответа.
  • Дорожки «я» и «собеседники» распознаём раздельно. Так реплики подписаны без узнавания
    людей по голосу.

Разбор — Claude через OpenRouter#

Задача Модель по умолчанию Когда
Живой конспект Claude Haiku 4.5 каждые несколько минут
Итоговый разбор: ревью, решения, задачи Claude Opus 5.5 после встречи
  • Модели можно поменять в настройках на любую из доступных в OpenRouter.
  • Разбор приходит JSON строго по схеме: summary, review, decisions[],
    tasks[] (текст, исполнитель, срок, цитата-основание), open_questions[].
    Из JSON программа собирает Markdown.
  • У каждой задачи есть ссылка на момент расшифровки, где она прозвучала.

Сохранение в репозиторий Skillok#

  • Пользователь создаёт токен доступа на skillok.org (Settings → Access tokens)
    и выбирает репозиторий.

  • Программа кладёт файлы через API Skillok:

    • POST /api/v1/repositories/{id}/files — создать файл;
    • PUT /api/v1/repositories/{id}/files/{path} — обновить файл;
    • заголовок Authorization: Bearer <токен>.
  • Раскладка в репозитории:

    meetings/2026-10-01-планёрка/
      summary.md      — конспект, ревью, решения, задачи
      transcript.md   — расшифровка с временем
    
  • Звук в репозиторий не уходит.


Интерфейс — как у skillok.org#

Та же система, что на skillok.org:

  • бумажный фон, чернильный текст, терракотовый акцент;
  • шрифт iA Writer Quattro S, JetBrains Mono только для кода и времени в расшифровке;
  • кегль только из шкалы, не меньше 12px;
  • квадратные углы;
  • кнопки контурные, без заливки.

Токены стиля берём из дизайн-системы Skillok, новых цветов не заводим.

Экраны:

  • Встречи — список: дата, длительность, статус разбора.
  • Встреча — вкладки «Расшифровка», «Конспект», «Задачи», кнопка «Сохранить в Skillok».
  • Идёт запись — маленькое окно или значок в трее: время, уровень звука, стоп и пауза.
  • Настройки:
    • ключ OpenRouter;
    • модели;
    • папка хранения;
    • токен Skillok и репозиторий;
    • автосохранение;
    • текст предупреждения участникам.

Стек#

Tauri 2: ядро на Rust, интерфейс на HTML/CSS/TS.

  • Интерфейс в HTML/CSS — поэтому стиль skillok.org переносится один в один.
  • Ядро на Rust:
    • захват звука через крейт windows (WASAPI, process loopback);
    • разбивка звука на куски по паузам в речи;
    • запросы к OpenRouter и Skillok.
  • Небольшой установщик, есть автообновление.
  • Tauri 2 умеет Android — пригодится, если вернёмся к нему.

Хранение

  • Каждая встреча — отдельная папка: расшифровка, разбор и звук.
  • Звук по умолчанию удаляется после разбора.
  • Ключи лежат в Windows Credential Manager, не в файлах.

Согласие на запись#

Zoom не показывает участникам, что идёт такая запись. Предупреждать их обязан
пользователь.

  • РФ, 152-ФЗ. Голос — персональные данные, тайная запись запрещена. Если голос
    используется для узнавания человека, это биометрия, и нужно письменное согласие
    (Консультант).
    Поэтому отпечатки голоса мы не строим.
  • ЕС (GDPR) требует уведомления. В ряде штатов США нужно согласие всех сторон.
  • Что делает программа:
    • при старте записи показывает текст предупреждения, который можно скопировать
      в чат Zoom;
    • запись идёт только после отметки «участники предупреждены»; можно поставить
      «предупреждаю всегда сам».

Почему не через API Zoom#

Проверено и отложено:

  • RTMS (живой поток от Zoom): нужен сервер, который принимает поток, и кредиты
    Zoom Developer Pack (RTMS).
  • Облачная запись: план Pro или выше, только встречи, где пользователь хост,
    расшифровка — после встречи
    (KB0065911).
  • Бот на Meeting SDK: с 2 марта 2026 на встречах чужих аккаунтов нужен токен OBF,
    плюс ревью в Marketplace (OBF FAQ).

Android — позже#

Звук Zoom на Android локально не захватить. Системный захват не берёт голосовую связь
(AudioPlaybackCaptureConfiguration),
а микрофон во время звонка отдаёт другим приложениям тишину
(Sharing audio input).

Возможные пути на будущее:

  • очные встречи через микрофон;
  • облачная запись Zoom после встречи;
  • импорт файла.

План работ#

Этап 0. Каркас#

  • Проект Tauri 2, стиль skillok.org, экраны «Встречи», «Встреча», «Настройки».
  • Ключ OpenRouter в Credential Manager, проверка ключа.
  • Схема разбора (JSON), промпты, набор проверочных расшифровок.

Этап 1. MVP#

  • Захват звука Zoom.exe и микрофона на две дорожки.
  • Автостарт и автостоп по встрече в Zoom, значок в трее.
  • Предупреждение участникам и отметка «предупреждены».
  • Куски по паузам → Whisper через OpenRouter → живая расшифровка.
  • Живой конспект и итоговый разбор через Claude.
  • Сохранение встречи на диск, экспорт в Markdown.

Этап 2. Skillok#

  • Токен Skillok, выбор репозитория.
  • Сохранение summary.md и transcript.md через API файлов, автосохранение.
  • Задачи из разбора — в трекер задач репозитория.

Дальше#

  • Поиск по встречам и вопросы к архиву.
  • Шаблоны разбора: планёрка, собеседование, встреча с клиентом.
  • Другие программы для встреч (Teams, Meet в браузере) — тот же захват по процессу.
  • Android.