Установка
Установите 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 URL | https://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- Войдите в нужный аккаунт Zoom в браузере и изучите разрешения.
- Нажмите Allow. Zoom открывает страницу возврата WireCat, которая передаёт ответ
ожидающему процессу
zmна компьютере. - Вернитесь в терминал. Вход завершён, когда
zmсообщаетloggedIn: trueи возвращает приглашение. Одного подтверждения в браузере недостаточно. - Если терминал ждёт, скопируйте
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 перечисляет команды и параметры для агентов и скриптов.
Когда первая встреча видна, найдите отрывок и сохраните ссылку на источник.