Главная · Скиллы · lark-vc-agent

lark-vc-agentбот для видеовстреч Lark

larksuite/cli

Бот присоединяется к видеовстречам Lark от вашего имени: мониторинг в реальном времени, выход по завершении. Укажите 9-значный номер встречи — бот подключится.

Установка

npx -y skills add larksuite/cli --skill lark-vc-agent --agent claude-code

vc-agent (v1) — агент видеоконференций Lark

Скилл для «действий внутри встречи» в Feishu/Lark: позволяет боту реально войти в текущую встречу или покинуть её, а также читать события в реальном времени (вход/выход участников, речь, чат, демонстрация экрана). Используйте этот скилл, когда пользователь спрашивает о том, что происходит в идущей встрече.

Смежные скиллы

  • lark-shared — аутентификация, переключение удостоверений, управление разрешениями
  • lark-vc — базовые концепции видеоконференций (Meeting / Note / Minutes и др.), используются напрямую без переопределения

Бета-доступ

  • Функционал находится на стадии бета-тестирования и доступен лишь ограниченному кругу пользователей.
  • При ошибках missing required scope(s) / permission_violations — не используйте стандартный процесс запроса разрешений; сначала уточните у пользователя, подключён ли он к бета-группе, затем проверьте разрешения приложения согласно разделу ниже.
  • При ошибке error.code=20017 / ErrNotInGray — предложите пользователю вступить в группу раннего доступа: https://go.larkoffice.com/join-chat/2f4nb0e1-fe00-4f67-bed7-25beaf533fbd

Разграничение зон ответственности

Данный скилл работает параллельно с lark-vc:

  • lark-vc — «запросы после встречи»: поиск прошедших встреч, список участников, конспекты / транскрипты / записи.
  • lark-vc-agent — «действия во время встречи»: вход бота / чтение событий идущей встречи / выход бота.
Намерение пользователяСкилл
«Войди в встречу 123456789», «присоединись вместо меня», «пусть бот подключится»Этот скилл +meeting-join
«Встреча идёт — кто только что вошёл?», «кто говорит?», «кто-то делится экраном?»Этот скилл +meeting-events
«В какой встрече я/пользователь сейчас нахожусь?», «найди meeting_id текущей встречи»Этот скилл +meeting-list-active
«Выйди из встречи», «пусть бот покинет»Этот скилл +meeting-leave
«Кто был на вчерашней встрече?», «найди вчерашнюю встречу», «покажи конспект/запись»lark-vc

Маршрутизация по удостоверению

СценарийУдостоверениеПравило
Запросить встречи текущего пользователя--as userНе передавать --user-id; для чтения событий продолжать использовать --as user
Запросить встречи целевого пользователя (бот уже в встрече)--as bot --user-id <user_open_id>--user-id должен быть ou_...; продолжать --as bot
Пользователь явно просит бота войти/прослушать/присутствовать--as botЭто операция записи; возвращённый meeting.id использовать в дальнейшем

Жёсткое правило: удостоверение, от которого получен meeting_id, используется и для всех последующих вызовов +meeting-events.

Основные сценарии

1. Вход в идущую встречу (операция записи)

  • Используйте +meeting-join только когда пользователь явно хочет «реального присутствия» бота.
  • Принимает только 9-значный номер встречи — не ссылку и не meeting_id.
  • meeting.id из ответа нужно сохранить немедленно — он нужен для +meeting-events / +meeting-leave.
  • Вход виден всем участникам — уточните номер встречи перед выполнением.

2. Чтение событий встречи (операция чтения)

  • Используйте +meeting-events когда нужно «что происходит сейчас» (участники, чат, транскрипция, демонстрация экрана).
  • Входной параметр — meeting_id (длинное числовое ID), не 9-значный номер.
  • По умолчанию использовать --page-all, если пользователь не просит «только одну страницу».
  • Предпочтительный формат: --format pretty (удобная временная шкала).
  • Нельзя использовать для анализа завершённых встреч — это зона ответственности lark-vc.
  • При наличии has_more=true или page_token в ответе — обязательно продолжить постраничную загрузку.
  • Всегда заново запрашивайте события при ответе на вопросы о текущем состоянии встречи — не переиспользуйте старые результаты.

3. Выход из встречи (операция записи)

  • Выполняйте +meeting-leave --as bot --meeting-id <длинный meeting_id> только при явном запросе пользователя.
  • Принимает только длинное числовое meeting_id — не 9-значный номер.
  • Выход виден другим участникам немедленно.

4. Получение ID идущих встреч (операция чтения)

  • Пользовательское удостоверение: lark-cli vc +meeting-list-active --as user --format json — встречи текущего пользователя.
  • Удостоверение приложения: lark-cli vc +meeting-list-active --as bot --user-id <open_id> --format json — встречи целевого пользователя, в которых бот уже находится.
  • При нескольких результатах — показать список по meeting_title / meeting_no и дождаться выбора пользователя.

5. Пример работы агента

# 1. Войти в встречу, сохранить meeting.id
JOIN=$(lark-cli vc +meeting-join --as bot --meeting-number 123456789 --format json)
MID=$(echo "$JOIN" | jq -r '.data.meeting.id')

# 2. Читать события (интервал ~10-30 сек)
lark-cli vc +meeting-events --as bot --meeting-id "$MID" --page-all --format pretty

# 3. После встречи — получить данные о продуктах встречи
lark-cli vc +detail --meeting-ids "$MID"

Shortcuts

ShortcutТипОписание
+meeting-joinзаписьВойти в идущую встречу по 9-значному номеру
+meeting-list-activeчтениеСписок активных встреч и получение meeting_id
+meeting-eventsчтениеСобытия встречи (участники, транскрипция, чат, демонстрация экрана)
+meeting-leaveзаписьВыйти из встречи по meeting_id

Диагностика разрешений приложения

При ошибках no permission, missing required scope(s), ErrNotInGray (код 20017) для --as bot:

  1. Убедитесь, что нужные VC Agent-разрешения активированы в консоли разработчика.
  2. Приложение опубликовано и установлено в текущем тенанте.
  3. Настроена область данных «Открытая платформа».
  4. В настройке диапазона данных выбрано условие: владелец встречи включён в доступную область приложения.
  5. Если всё верно, но ошибка ErrNotInGray сохраняется — требуется подключение к бета-программе.

Связанные скиллы

  • lark-vc — поиск прошедших встреч, список участников, конспекты/транскрипты/записи
  • lark-minutes — продукты AI-конспекта (сводка / транскрипция / главы)
  • lark-im — отправка результатов в группы или личные чаты
  • lark-shared — аутентификация, переключение удостоверений, управление scope

Из того же репозитория

lark-docуправление документами Lark/Feishu
larksuite/cli
Полное управление документами Lark: создание из Markdown, обновление (append/replace/delete), загрузка медиа, умная интеграция с интерактивными досками по семантике контента.
13.3k192k установок
lark-baseмногомерные таблицы Lark Base
larksuite/cli
Создание таблиц и полей в Lark Base, формулы, lookup-ссылки, кросс-табличные вычисления. Импорт Excel/CSV, дашборды, аналитика с группировкой и агрегацией.
13.3k191.4k установок
lark-imобмен сообщениями в Lark/Feishu
larksuite/cli
Полная интеграция Lark IM: отправка сообщений, поиск истории чатов, управление группами, скачивание файлов с chunking. Автоматическое разрешение P2P chat ID.
13.3k191k установок
lark-sharedаутентификация и настройка Lark CLI
larksuite/cli
Базовая настройка Lark CLI: конфигурация приложения, двухуровневые разрешения, выбор между bot и user identity. Диагностика ошибок прав доступа и версий CLI.
13.3k190.7k установок
lark-driveоблачное хранилище Lark Drive
larksuite/cli
Полное управление Lark Drive: загрузка Word/Excel/CSV с конвертацией в нативные Lark-документы, папки, права доступа, комментарии. Автоматическое разрешение wiki-токенов.
13.3k190.6k установок
lark-whiteboardинтерактивные доски в Lark
larksuite/cli
Подключает Claude к доскам Lark: экспорт как изображение, извлечение PlantUML/Mermaid, обновление контента. Архитектурные схемы, оргчарты и таймлайны прямо в Lark.
13.3k190.4k установок