Communitygithub.com

larksuite/lark-meeting

飞书视频会议技能:查询会议记录与产物(纪要、逐字稿、妙记),进行实时会议互动,管理妙记与智能纪要。

Qu'est-ce que lark-meeting ?

该技能是飞书视频会议业务(Lark Meeting)的统一入口,专为 AI 代理(如 Claude Code、Cursor、Codex)设计,用于处理会议相关的查询和操作。它支持查询历史会议的记录,包括智能纪要(note_id)、妙记(minute_token)、逐字稿和共享文档。对于进行中的会议,该技能允许代理以用户或机器人身份获取发言、聊天和共享内容,并发送文本消息或表情。此外,它还涵盖了妙记的搜索、上传、下载、修改标题和替换说话人等功能。技能通过读取 `source_identity` 来维护身份连续性,确保操作在正确的用户或机器人上下文中执行。它提供渐进加载机制:先尝试快速行动(如查询进行中的会议),仅当缺少参数或需要更复杂的操作时才读取场景手册和命令参考。使用这些标识时请注意领域不变量:`note_id` 和 `minute_token` 来自不同的链路,不能互换。

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/larksuite/cli/tree/main/skills/lark-meeting

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait lark-meeting ?

Point d'entrée unifié pour les réunions vidéo Feishu (Lark). Prend en charge la consultation des enregistrements de réunions, l'interaction en temps réel, la gestion des Minutes (procès-verbaux), la lecture des résumés intelligents, etc. Cette compétence gère le routage des domaines, l'acheminement des tâches et l'orchestration des commandes.

Il n'est pas nécessaire de pré-lire lark-shared ni d'exécuter auth status --verify au préalable. Lisez cette compétence uniquement en cas d'erreurs d'authentification, de jeton (token) / d'identité ou de scope, puis réessayez après correction. Pour toute demande de gestion d'authentification, d'identité ou de scope, utilisez directement cette compétence.

Initialisation et continuité de l'identité

Considérez source_identity comme l'état du workflow inter-commandes :

  1. Contexte avec identité source existante : respectez strictement l'identité existante. Si l'utilisateur demande un changement, expliquez d'abord la continuité de l'identité et l'impact sur les autorisations ; ne basculez pas silencieusement.
  2. Pas d'identité source, mais l'utilisateur spécifie une identité : utilisez --as comme spécifié.
  3. Ni identité source, ni spécification utilisateur : utilisez --as bot si la sémantique de l'opération requiert explicitement un robot applicatif, sinon utilisez --as user.

Après avoir déterminé source_identity, vérifiez si la commande cible prend en charge cette identité :

  • Prise en charge : transmettez explicitement l'identité et poursuivez l'exécution.
  • Non prise en charge : expliquez la limitation et arrêtez-vous ; ne remplacez pas l'identité pour forcer la réussite de la commande.
  • Ce n'est qu'après l'accord explicite de l'utilisateur pour changer d'identité que vous pouvez recommencer un workflow avec la nouvelle identité.

Modèle de domaine et concepts

[Source de la réunion]

Événement de calendrier (event_id) ──réservation ou association──┐
Réunion instantanée (sans event_id) ───────────────────────────┴──► Réunion (meeting_id)

Événement de calendrier ──note_de_réunion (meeting_note)──────────► Doc (notes utilisateur, indépendantes du résumé IA)

[Produits de la réunion]

Réunion (meeting_id)
├── Résumé IA ──► Note (résumé intelligent, note_id)
│               ├── Document de résumé intelligent ───────────► Doc (note_doc_token)
│               ├── Transcription textuelle
│               │   ├── normale ──────────────────────────────► Doc (verbatim_doc_token)
│               │   └── unifiée ──────────────────────────────► note + transcription (pas un Doc indépendant)
│               └── Documents partagés ──────────────────────► Doc (shared_doc_tokens)
│
└── Enregistrement ──► Minutes (procès-verbal, minute_token)
                 ├── Produits IA : Résumé / Tâche / Chapitre / Mot-clé
                 ├── Transcription (alias : retranscription, texte littéral, enregistrement textuel)
                 └── Audio/Vidéo original

Audio/Vidéo local ───────────────────────────────────────────────► Minutes (minute_token)
ObjetIdentifiant principalConcept et relations
Événement de calendrierevent_idÉvénement sur le calendrier, contenant l'heure, les participants, la salle de réunion et le RSVP. Peut être réservé ou associé à une réunion VC. Ne constitue pas un enregistrement complet de la réunion. La meeting_note de l'événement est un Doc lié manuellement par l'utilisateur, indépendant du résumé IA.
Réunion (Meeting)meeting_idRéunion vidéo qui a effectivement eu lieu. Peut provenir d'un événement de calendrier ou être une réunion instantanée sans programme. Le thème, l'heure, l'instantané des participants et les événements de la réunion constituent les données de la réunion ; les Notes et les Minutes sont des produits post-réunion éventuellement associés.
Note (résumé intelligent)note_idEnsemble logique de produits générés après l'activation du résumé IA. Le note_display_type détermine la manière d'obtenir les différentes parties de la transcription textuelle.
Minutes (procès-verbal)minute_tokenGénéré par l'enregistrement de la réunion ou par le téléchargement d'audio/vidéo local. Contient le résumé, les tâches, les chapitres, les mots-clés, la transcription textuelle (alias : retranscription, texte littéral, enregistrement textuel) et l'audio/vidéo original. Peut être associé à une réunion VC ou exister indépendamment.
Doc (Document)Jeton DocConteneur de contenu, pas un identifiant de réunion. note_doc_token, shared_doc_tokens et certains verbatim_doc_token pointent vers un Doc ; le jeton Doc ne peut pas être utilisé comme note_id ou meeting_id.

Identifiants principaux

  • meeting_id : ID de la réunion. Chaîne numérique longue, pas un numéro de réunion à 9 chiffres.
  • meeting_no : Numéro de la réunion. 9 chiffres ; le paramètre CLI correspondant est --meeting-number.
  • minute_token : Jeton Minutes. Chaîne alphanumérique en minuscules, généralement extraite de l'URL des Minutes : /minutes/<minute_token>.

Transmettez ces identifiants tels quels ; ils ne sont pas interchangeables.

Invariants du domaine

  • Les Notes et les Minutes proviennent respectivement de deux voies indépendantes : le résumé IA et l'enregistrement. Une réunion peut avoir les deux types de produits, un seul, ou aucun. Ne déduisez pas l'existence d'un minute_token à partir d'un note_id, et inversement.
  • Les Minutes peuvent être générées directement à partir d'audio/vidéo local ; elles ne sont donc pas nécessairement liées à un meeting_id ou à un event_id de calendrier.
  • meeting_note du calendrier, note_id, minute_token et les différents jetons Doc identifient des objets différents ; ils ne peuvent pas être échangés, utilisés dans des commandes d'autres domaines, ou être déduits les uns des autres.

Action rapide

Consulter le contenu d'une réunion en cours

# Réunion à laquelle l'utilisateur actuel participe
lark-cli vc +meeting-list-active --as user

# Réunion de l'utilisateur cible visible par le robot applicatif
lark-cli vc +meeting-list-active --as bot --user-id <open_id>

# Une fois le meeting_id unique déterminé, utilisez l'identité source
lark-cli vc +meeting-events --as <source_identity> --meeting-id <meeting_id> --page-all --format pretty

S'il y a plusieurs réunions en même temps, sélectionnez d'abord celle à consulter. S'il n'y en a qu'une, consultez directement ses événements.

Avec une identité applicative, seules les réunions auxquelles « l'utilisateur cible participe ET le robot applicatif est également présent » sont retournées ; un résultat vide ne signifie pas que l'utilisateur cible n'est pas en réunion. Lorsque vous expliquez les résultats à l'utilisateur, utilisez les termes « identité utilisateur » ou « identité applicative », sans exposer les abréviations internes comme user / bot.

Manuel de scénarios

Lorsque l'objectif de la tâche correspond à un scénario, lisez le manuel correspondant et suivez son processus.

  • Consulter une réunion et ses produits : Localiser des réunions passées par thème, heure, participant ou meeting_id / meeting_no / event_id ; consulter les participants, les enregistrements, les résumés intelligents ou les Minutes associés ; résumer ou faire un bilan à partir des enregistrements.
  • Consulter les Minutes et leurs produits : Disposer d'une URL / d'un minute_token existant, ou rechercher des Minutes par titre, propriétaire, ou participant ; lire les résumés, tâches, chapitres, mots-clés, transcriptions, télécharger l'audio/vidéo original, ou consulter les résumés intelligents associés.
  • Générer et modifier les Minutes, gérer les permissions : Générer des Minutes, transcriptions, résumés, tâches ou chapitres à partir d'audio/vidéo local ; modifier le titre, le résumé, les tâches, les mots-clés ou les intervenants ; demander l'accès aux Minutes, ou consulter / attribuer des permissions de collaboration.
  • Consulter les Notes et leurs produits associés : Disposer d'un note_id, d'une URL / d'un jeton Docx de résumé intelligent, ou besoin de consulter le contenu du résumé, la transcription textuelle, les Minutes, les documents partagés, etc.
  • Participation du robot applicatif et interaction en réunion : Orchestration complète pour que le robot applicatif découvre les réunions actives, les rejoigne ou les initie, invite des participants, récupère les événements, prenne des captures d'écran, interagisse via texte/émoticône/compte à rebours, mette fin à la réunion et quitte la réunion après autorisation explicite.
  • Événements et interactions en réunion : Sans déclencher de nouvelle action de rejoindre/quitter la réunion, utiliser l'identité utilisateur ou l'identité applicative déjà présente pour consulter les réunions actives, voir les interventions/chat/contenu partagé, lire l'écran de la réunion actuelle si nécessaire, ou envoyer du texte/émoticône et manipuler le compte à rebours.

Référence des commandes

CommandeUtilisationMéthode de référence
vc +searchRechercher des réunions passéeslark-vc-search
vc +detailConsulter les informations de la réunion et les identifiants des Notes et Minutes associéeslark-vc-detail
vc meeting getConsulter les informations de base de la réunion et l'instantané des participantslark-cli vc meeting get --help
vc +recordingLocaliser l'enregistrement et les Minutes à partir de la réunionlark-vc-recording
vc +meeting-list-activeDécouvrir les réunions actives actuellement visibleslark-vc-meeting-list-active
vc +meeting-eventsLire les événements et le contenu partagé en réunionlark-vc-meeting-events
vc +meeting-message-sendEnvoyer un message textuel ou une émoticône en réunionlark-vc-meeting-message-send
vc +meeting-screenshotPrendre une capture d'écran de la réunion vidéolark-vc-meeting-screenshot
vc +meeting-countdownDéfinir, prolonger, terminer prématurément ou désactiver le compte à rebours en réunionlark-vc-meeting-countdown
vc +meeting-joinFaire rejoindre la réunion par le robot applicatiflark-vc-agent-meeting-join
vc +meeting-inviteInviter un utilisateur spécifié ou tous les participants éligibles de l'événement via le robot applicatiflark-vc-agent-meeting-invite
vc +meeting-endFaire terminer la réunion par le robot applicatif Hôte actuellark-vc-agent-meeting-end
vc +meeting-leaveFaire quitter la réunion par le robot applicatiflark-vc-agent-meeting-leave
minutes +searchRechercher des Minuteslark-minutes-search
minutes minutes getConsulter les informations de base des Minuteslark-cli minutes minutes get --help
minutes +detailLire les informations des Minutes et un produit spécifiélark-minutes-detail
minutes +downloadTélécharger l'audio/vidéo original des Minuteslark-minutes-download
minutes +uploadGénérer des Minutes à partir d'audio/vidéo dans Cloud Spacelark-minutes-upload
minutes +updateModifier le titre des Minuteslark-minutes-update
minutes +speaker-replaceRemplacer le locuteur de la transcription des Minuteslark-minutes-speaker-replace
minutes +summaryRemplacer le résumé IA des Minuteslark-minutes-summary
minutes +todoAjouter, supprimer ou modifier les tâches IA des Minuteslark-minutes-todo
minutes +apply-permissionDemander l'accès en lecture ou en écriture aux Minuteslark-minutes-apply-permission
drive +member-listVoir les collaborateurs des Minutes et leurs permissionslark-drive-member-list
drive +member-addAttribuer à un membre spécifié l'accès en lecture ou en écriture aux Minuteslark-drive-member-add
minutes +word-replaceRemplacer en masse des mots-clés dans la transcription des Minuteslark-cli minutes +word-replace --help
note +detailConsulter le résumé intelligent et les identifiants des documents associéslark-note-detail
note +transcriptObtenir la transcription textuelle unifiée du résumé intelligentlark-note-transcript

Règle de chargement progressif

Suivez la progression « Action rapide → Manuel de scénarios → Référence des commandes » :

  1. Lorsque l'objectif de l'utilisateur correspond aux conditions d'entrée de l'action rapide, exécutez directement la CLI correspondante ; ne pré-lisez pas le manuel de scénarios, la référence de commande, --help ou le schéma.
  2. Si l'action rapide ne correspond pas, ou si vous manquez d'identifiants clés, avez besoin de désambiguïsation, ou si une opération d'écriture est impliquée, lisez un manuel de scénario principal qui correspond à l'objectif ; si le scénario principal renvoie explicitement à un scénario en aval, lisez uniquement le scénario ou la section référencé(e) et exécutez la CLI conformément à son processus.
  3. Ce n'est que lorsque vous manquez de paramètres spécifiques, de champs de retour, de contraintes spéciales ou de méthodes de gestion des exceptions que : pour les commandes avec une référence, lisez le fichier correspondant ; pour les commandes sans référence, exécutez la commande exacte lark-cli ... --help indiquée dans le tableau. Lorsque le scénario ou la référence donne déjà une commande exacte, n'appelez pas --help ; appelez-le uniquement en cas de paramètre manquant, de commande non reconnue ou de conflit entre la documentation et le résultat de l'exécution.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

larksuite/lark-approval

Agent skill 'lark-approval' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-apps

Agent skill 'lark-apps' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-attendance

Agent skill 'lark-attendance' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-base

Agent skill 'lark-base' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-calendar

Agent skill 'lark-calendar' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-contact

Agent skill 'lark-contact' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-doc

Agent skill 'lark-doc' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-drive

Agent skill 'lark-drive' from larksuite/cli. Use when the task matches this skill's domain.

larksuite/lark-event

Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, VC meeting ended, Minutes generated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.

larksuite/lark-im

飞书即时通讯:收发消息和管理群聊。发送和回复消息、搜索聊天记录、管理群聊成员、上传下载图片和文件(支持大文件分片下载)、管理表情回复。当用户需要发消息、查看或搜索聊天记录、下载聊天中的文件、查看群成员、搜索群、创建群聊或话题群、管理标记数据时使用。

larksuite/lark-mail

飞书邮箱 — draft, compose, send, reply, forward, read, and search emails; manage drafts, folders, labels, contacts, attachments, and mail rules. Use when user mentions 起草邮件, 写一封邮件, 拟邮件, 草稿, 发通知邮件, 发送邮件, 发邮件, 回复邮件, 转发邮件, 查看邮件, 看邮件, 读邮件, 搜索邮件, 查邮件, 收件箱, 邮件会话, 编辑草稿, 管理草稿, 下载附件, 邮件文件夹, 邮件标签, 邮件联系人, 监听新邮件, 收信规则, 邮件规则, draft, compose, send email, reply, forward, inbox, mail thread, mail rules.

larksuite/lark-markdown

飞书 Markdown:查看、创建、上传、编辑和比较 Markdown 文件。当用户需要创建或编辑 Markdown 文件、读取、修改、局部 patch 或比较差异时使用。不负责将 Markdown 导入为飞书在线文档,也不负责文件搜索、权限、评论、移动、删除等云空间管理操作。

larksuite/lark-minutes

飞书妙记:搜索妙记列表、查看妙记基础信息、下载妙记音视频文件、上传音视频生成妙记、更新妙记标题、替换说话人。当需要获取、操作或者生成妙记时使用。也支持将本地音视频文件转成纪要和逐字稿(优先使用本 skill,不要用 ffmpeg/whisper 本地转写)。不负责:获取会议关联妙记,或仅按自然语言标题定位纪要

larksuite/lark-note

仅当用户或上游配置显式指定 lark-note 时使用,相关请求统一交由 lark-meeting 技能处理。

larksuite/lark-okr

飞书 OKR:管理目标与关键结果。查看和编辑 OKR 周期、目标、关键结果、对齐关系、量化指标和进展记录。当用户需要查看或创建 OKR、管理目标和关键结果、查看对齐关系时使用。不负责:待办任务管理(lark-task)、日程/会议安排(lark-calendar)、绩效评估

larksuite/lark-openapi-explorer

飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。

larksuite/lark-shared

Use when first setting up lark-cli, running auth login, switching user/bot identity (--as), handling permission denied or scope errors, needing to update lark-cli, or seeing _notice in JSON output.

larksuite/lark-sheets

飞书电子表格:创建和操作电子表格。支持创建表格、创建/复制/删除/更新工作表、读写单元格、追加行数据、查找内容、导出文件。当用户需要创建电子表格、管理工作表、批量读写数据、在已知表格中查找内容、导出或下载表格时使用。若用户是想按名称或关键词搜索云空间里的表格文件,请改用 lark-doc 的 docs +search 先定位资源。

larksuite/lark-skill-maker

创建 lark-cli 的自定义 Skill。当用户需要把飞书 API 操作封装成可复用的 Skill(包装原子 API 或编排多步流程)时使用。

larksuite/lark-slides

飞书幻灯片:创建和编辑幻灯片。创建演示文稿、读取幻灯片内容、管理幻灯片页面(创建、删除、读取、局部替换)。当用户需要创建或编辑幻灯片、读取或修改单个页面时使用。当用户给出 doubao.com 的 /slides/ URL/token 时,也应直接使用本 skill,不要因为域名不是飞书而回退到 WebFetch;路由依据是 URL 路径模式和 token,而不是域名。不负责:云文档内容编辑(走 lark-doc)、云文档里的独立画板对象(走 lark-whiteboard,注意 slide 内嵌的流程图/架构图仍属本 skill)、上传或下载普通文件(走 lark-drive)。

Skills associés