Zoom

Установка

Установите zm и начните с API или скачанных файлов расшифровок.

Установите инструмент Zoom на компьютер, где работает агент, подключите аккаунт и получите первую встречу. Пакет называется @wirecat/zoom-cli, команда — zm. Можно использовать уже настроенное приложение Zoom, создать своё или импортировать текст без приложения и входа.

Что понадобится

  • Node.js 22.16 или новее в ветке 22.x либо Node.js 24 или новее, с npm. Поддерживается Bun. Установите Node.js с nodejs.org, если node --version недоступна.
  • Linux, macOS или Windows. Откройте терминал этого компьютера для команд ниже.
  • Для входа через API — работающее системное хранилище паролей. На macOS это Keychain, на Windows Credential Manager, на Linux нужен доступный сервис секретов рабочего стола. На сервере без него вход не сохраняется; импорт файлов остаётся доступен.
  • Аккаунт Zoom, которому разрешена авторизация приложения. Организация может требовать администратора.

Установить

npm install -g @wirecat/zoom-cli
zm --version
zm --help
zm doctor

Версия и справка печатаются без входа. Doctor проверяет среду и открытые настройки, не обращаясь к Zoom или базе встреч. Если zm не найден, откройте терминал заново и проверьте папку глобальных команд npm в PATH — списке каталогов, где терминал ищет команды.

Выберите способ подключения

Что у вас естьСледующее действие
Уже созданное приложение ZoomОткройте учётные данные, включите Public Client OAuth и скопируйте Public Client ID; проверьте таблицу ниже
Приложение команды, включая WireCatПолучите Public Client ID у владельца и проверьте доступ вашего пользователя; затем выполните те же шаги входа
Приложения нетСоздайте своё, затем вернитесь с Public Client ID
Только файлы расшифровокПропустите вход и перейдите к импорту без приложения

Приложение Zoom — регистрация разрешений в Marketplace, отдельно от аккаунта и программы звонков. Файл учётных данных не нужен: настройте Public Client ID и подтвердите аккаунт в браузере. Для zm нужно явно задать ID; установка сама приложение не выбирает. Приложение в разработке может быть ограничено аккаунтом разработчика. Один ID не даёт доступ к чужим данным.

Перед входом владелец проверяет настройки в той же среде Development или Production, что и выбранный ID:

НастройкаТребуемое значение
Тип / управлениеGeneral app / User-managed
Use Public Client OAuthВключено; копируйте Public Client ID, не обычный Client ID или Client Secret
OAuth Redirect URLhttps://wirecat.dev/zoom-callback
OAuth Allow ListsВключает https://wirecat.dev/zoom-callback
ScopesПрава чтения встреч; права архива/управления только для этих задач

Первый запуск

Замените <public-client-id> на скопированное значение без скобок. Выполняйте команды по одной; оставьте терминал входа открытым при подтверждении в браузере:

zm config set zoom.clientId <public-client-id>
zm config set source api
zm login
  1. Войдите в нужный аккаунт Zoom в браузере и изучите разрешения.
  2. Нажмите Allow. Zoom открывает страницу возврата WireCat, которая передаёт ответ ожидающему процессу zm на компьютере.
  3. Вернитесь в терминал. Вход завершён, когда zm сообщает loggedIn: true и возвращает приглашение. Одного подтверждения в браузере недостаточно.
  4. Если терминал ждёт, скопируйте code=…&state=… или весь URL со страницы возврата, вставьте в тот же терминал и нажмите Enter до пятиминутного срока. Если процесс уже завершился, выполните zm login заново и подтвердите новую попытку.

Проверьте сохранённый сеанс и выберите профиль — локальную метку данных встреч:

zm session status --json
zm config set account.profile personal
zm pull --lookback-days 7
zm meetings list --json

Сеанс должен сообщить loggedIn: true. Успешная загрузка сохраняет доступные встречи организатора; список даёт локальные ID. Откройте встречу с ID из него:

zm meetings show <meeting-id> --json
zm meetings transcript <meeting-id> --json

Список может быть пустым, если в периоде нет доступных встреч организатора. Пустая расшифровка означает отсутствие текста от Zoom; разрешение его не создаёт. Проверьте хранение текста и при необходимости загрузите ранний период. Ошибка scope называет нужное право; после его добавления владельцем подтвердите приложение повторно.

Локальный профиль не переключает аккаунт Zoom, выбранный в браузере. Для разделения аккаунтов см. сеансы, а при незавершённом подтверждении — восстановление входа.

Импорт без приложения Zoom

Используйте разрешённую для скачивания VTT-расшифровку или файл от организатора. Положите в папку и назовите по дате, времени и теме, например 2026-10-01_1000_example-planning.vtt. Время имени интерпретируется в заданном часовом поясе:

zm config set account.profile personal
zm config set files.timezone Europe/Madrid
zm import ./downloaded-transcripts
zm meetings list --json

Приложение, браузерный вход и токен OAuth не нужны. Импорт читает обычные .vtt прямо в папке, не обходит подпапки и не выводит участников из имён говорящих. См. скачанные расшифровки.

Дайте агенту доступ

Когда первая встреча сохранена, установите инструкции для терминального агента:

zm skill install --for agents

Это каталог Codex/Gemini; для Claude Code используйте --for claude, а без --for устанавливаются оба. Для приложения с MCP откройте подключение агента. Попробуйте запрос:

Запрос
Найди встречу, которую я только что импортировал или загрузил. Покажи дату, основное обсуждение и один подтверждающий отрывок. Укажи, отсутствует ли текст или информация об участниках.

Где хранятся файлы

Инструмент создаёт открытый config.json при настройке; это не скачанный файл учётных данных. zm doctor --json показывает его путь. Настройки используют каталог приложений вашей платформы. ZM_CONFIG_DIR выбирает другой каталог и меняет службу ключей входа. Встречи хранятся в общей локальной wirecat.db; MESSAGING_STORE выбирает другую базу. Записи сохраняются только в заданную папку. См. настройки.

Обновить или удалить инструмент

npm install -g @wirecat/zoom-cli
zm --version

Чтобы удалить команду:

npm uninstall -g @wirecat/zoom-cli

Удаление пакета не стирает общую базу встреч или папки записей. Для отзыва разрешения удалите доступ приложения в Marketplace. Команды выхода нет; сеансы описывают доступные действия.

Дополнение команд

zm complete -- <words...> отвечает на запросы дополнения оболочки, но не устанавливает его в оболочку. zm commands --json перечисляет команды и параметры для агентов и скриптов.

Когда первая встреча видна, найдите отрывок и сохраните ссылку на источник.