lark-vc
SkillCommunityAudited: no issuesTranslated from ChineseThis skill enables AI agents to interact with Lark video conferencing records. It allows agents to search past meetings, retrieve meeting notes, summaries, action items, transcripts, and participant snapshots.
npx skills add larksuite/cli/lark-vcvc (v1)
CRITICAL, Before starting, you MUST use the Read tool to read ../lark-shared/SKILL.md, which contains information on authentication and permission handling.
Core Concepts
- Meeting: A Lark video meeting instance, identified by
meeting_id. Ended meetings can be searched using keywords, time ranges, participants, organizers, meeting rooms, etc. (see+search). - Note: A structured document generated after a video meeting ends, containing a note document (including summaries, to-dos, and chapters) and a verbatim transcript document.
- Minutes: Recording products from Lark video meetings or audio/video files uploaded by users, supporting transcription and meeting notes, identified by
minute_token. - MainDoc: The main document of the AI intelligent notes, containing AI-generated summaries and to-dos, corresponding to
note_doc_token. - MeetingNotes: Note documents explicitly bound to a meeting by the user, corresponding to
meeting_notes. Returned only via the--calendar-event-idspath. - VerbatimDoc: A sentence-by-sentence text record of the meeting, including speakers and timestamps.
Core Scenarios
1. Searching Meeting Records
- Only ended meetings are supported. For future meetings that have not yet started, use the lark-calendar skill.
- Only filtering conditions such as keywords, time ranges, participants, organizers, and meeting rooms are supported. For unsupported filtering conditions, prompt the user.
- When search results contain multiple items, be sure to handle pagination to ensure no meeting records are missed.
2. Organizing Meeting Notes
- When organizing note documents, providing links to the note document and the verbatim transcript by default is sufficient. There is no need to read the content of the note document or the verbatim transcript.
- Only read the document to obtain specific content when the user explicitly requests summaries, to-dos, or chapter products from the note document.
- When reading the content of intelligent notes (
note_doc_token), the first<whiteboard>tag in the note document is the cover image (AI-generated summary visualization), which should be downloaded and displayed to the user:
# 1. Read note content
lark-cli docs +fetch --api-version v2 --doc <note_doc_token> --doc-format markdown
# 2. Extract the token of the first <whiteboard token="xxx"/> from the returned markdown
# 3. Download the cover image to the aggregation directory (same directory as the verbatim transcript and recording, to keep products together)
# Not all notes have a cover whiteboard; skip if there is no <whiteboard> tag
lark-cli docs +media-download --type whiteboard --token <whiteboard_token> --output ./minutes/<minute_token>/cover
Product Directory Specification: All downloaded products for the same meeting (recordings, verbatim transcripts, cover images, etc.) should be placed in the
./minutes/{minute_token}/directory. This is consistent with the default output locations ofminutes +downloadandvc +notes --minute-tokens, facilitating Agent aggregation. Explicit paths (such as cover images) must be manually aligned to the same directory.
Note-related Documents, Choose based on user intent:
note_doc_token→ AI Intelligent Notes (AI summary + to-dos + chapters)meeting_notes→ User-bound Meeting Notes (documents explicitly associated with the meeting by the user, returned only via the--calendar-event-idspath)verbatim_doc_token→ Verbatim Transcript (complete sentence-by-sentence text record, including speakers and timestamps), Use this when the user asks for "verbatim transcript," "complete record," or "who said what"- When the user asks for "notes," "summary," or "note content," return both
note_doc_tokenandmeeting_notes(if available)- When user intent is unclear, display all document links for the user to choose from, rather than deciding for them
- If the user provides a local audio/video file and says "convert to notes" or "convert to verbatim transcript," do not start directly with
vc +notes; first use minutes +upload to generate aminute_url, then extract theminute_tokento callvc +notes --minute-tokens
3. Linking Note Documents and Verbatim Transcripts
- Note documents, verbatim transcript documents, and associated shared documents are returned using document Tokens by default.
- When only basic information such as document name and URL is needed, use
lark-cli drive metas batch_queryto query.
# Learn how to use the command
lark-cli schema drive.metas.batch_query
# Batch get basic document information: query up to 10 documents at a time
lark-cli drive metas batch_query --data '{"request_docs": [{"doc_type": "docx", "doc_token": "<doc_token>"}], "with_url": true}'
- When document content is needed, use
lark-cli docs +fetch --api-version v2.
# Get document content
lark-cli docs +fetch --api-version v2 --doc <doc_token> --doc-format markdown
4. Querying Participant Snapshots (Read Operation)
When a user asks questions like "who attended this meeting," "who are the participants in this meeting," or "did so-and-so attend," use vc meeting get --with-participants: This is a server-side participant snapshot API that does not rely on the bot joining the meeting, and ended meetings can also be queried:
lark-cli vc meeting get --params '{"meeting_id":"<meeting_id>","with_participants":true}'
Selection Decision Table:
| User Intent | Recommended Command | Skill |
|---|---|---|
| Participant snapshot (who attended, when they joined/left, at any point in time) | vc meeting get --with-participants | This skill |
| Spoken content of an ended meeting | vc +notes to get verbatim_doc_token then docs +fetch --api-version v2 | This skill |
| Real-time event stream of an ongoing meeting (transcription, chat, sharing, joining/leaving) | vc +meeting-events | lark-vc-agent |
| Agent actually joining / leaving | vc +meeting-join / vc +meeting-leave | lark-vc-agent |
Resource Relationships
Meeting
├── Note
│ ├── MainDoc (AI Intelligent Note Document, note_doc_token)
│ ├── MeetingNotes (User-bound Meeting Note Document, meeting_notes)
│ ├── VerbatimDoc (Verbatim Transcript, verbatim_doc_token)
│ └── SharedDoc (Shared document during meeting)
└── Minutes ← identified by minute_token, +recording obtained from meeting_id
├── Transcript
├── Summary
├── Todos
└── Chapters
Note:
+searchcan only query ended historical meetings. To query future calendar arrangements, use lark-calendar.Priority: When a user searches for historical meetings,
vc +searchshould be prioritized overcalendar events search. Calendar search is oriented toward schedules, while VC search is oriented toward ended meeting records, supporting filtering by participants, organizers, meeting rooms, etc.Routing Rules: If the user asks about "meetings held," "what meetings were held today," "what have I attended recently," "ended meetings," or "historical meeting records," prioritize
vc +search. Only prioritize lark-calendar when querying future schedules, upcoming meetings, or agendas.Minutes Boundary:
+notesis responsible for note content, verbatim transcripts, and AI products; for basic information about Minutes, please prioritize+recordingand lark-minutes.File-to-Notes Boundary: If the user provides a local audio/video file and wants notes, verbatim transcripts, summaries, to-dos, or chapters, the entry point should first go through the lark-minutes upload process to generate a
minute_url/minute_token, then return tovc +notes --minute-tokensto obtain content products.Special Case: When a user asks "what meetings are there today," query meeting records held today via
vc +search, and simultaneously use the lark-calendar skill to query meetings that have not yet started today, then organize and display them to the user.
Shortcuts (Recommended for priority use)
Shortcuts are advanced wrappers for common operations (lark-cli vc +<verb> [flags]). Use shortcuts whenever available.
| Shortcut | Description |
|---|---|
+search | Search meeting records (requires at least one filter) |
+notes | Query meeting notes (via meeting-ids, minute-tokens, or calendar-event-ids) |
+recording | Query minute_token from meeting-ids or calendar-event-ids |
- When using the
+searchcommand, you must read references/lark-vc-search.md to understand search parameters and return value structures. - When using the
+notescommand, you must read references/lark-vc-notes.md to understand query parameters, product types, and return value structures. - When using the
+recordingcommand, you must read references/lark-vc-recording.md to understand query parameters and return value structures.
Agent meeting-related commands are independent: For
+meeting-join/+meeting-leave/+meeting-events, please use thelark-vc-agentskill.
API Resources
lark-cli schema vc.<resource>.<method> # Must view parameter structure before calling API
lark-cli vc <resource> <method> [flags] # Call API
Important: When using native APIs, you must first run
schemato view the--data/--paramsparameter structure; do not guess field formats.
meeting
get, Get meeting details (topic, time, participants, note_id)
# Get basic meeting information: does not include participant list
lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>"}'
# Get basic meeting information: includes participant list
lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>", "with_participants": true}'
minutes (Cross-domain, see lark-minutes for details)
get, Get basic Minutes information (title, duration, cover); to query note content, use+notes --minute-tokens <minute-token>
Permissions Table
| Method | Required Scope |
|---|---|
+notes --meeting-ids | vc:meeting.meetingevent:read, vc:note:read |
+notes --minute-tokens | vc:note:read, minutes:minutes:readonly, minutes:minutes.artifacts:read, minutes:minutes.transcript:export |
+notes --calendar-event-ids | calendar:calendar:read, calendar:calendar.event:read, vc:meeting.meetingevent:read, vc:note:read |
+recording --meeting-ids | vc:record:readonly |
+recording --calendar-event-ids | vc:record:readonly, calendar:calendar:read, calendar:calendar.event:read |
+search | vc:meeting.search:read |
meeting.get | vc:meeting.meetingevent:read |
For Agent meeting-related scopes (
vc:meeting.bot.join:write/vc:meeting.meetingevent:read), seelark-vc-agent.
vc (v1)
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
核心概念
- 视频会议(Meeting):飞书视频会议实例,通过 meeting_id 标识。已结束的会议支持通过关键词、时间段、参会人、组织者、会议室等条件搜索(见
+search)。 - 会议纪要(Note):视频会议结束后生成的结构化文档,包含纪要文档(包含总结、待办、章节)和逐字稿文档。
- 妙记(Minutes):来源于飞书视频会议的录制产物或用户上传的音视频文件,支持视频/音频的转写和会议纪要,通过 minute_token 标识。
- 纪要文档(MainDoc):AI 智能纪要的主文档,包含 AI 生成的总结和待办,对应
note_doc_token。 - 用户会议纪要(MeetingNotes):用户主动绑定到会议的纪要文档,对应
meeting_notes。仅通过--calendar-event-ids路径返回。 - 逐字稿(VerbatimDoc):会议的逐句文字记录,包含说话人和时间戳。
核心场景
1. 搜索会议记录
- 仅支持搜索已结束的会议,对于还未开始的未来会议,需要使用 lark-calendar 技能。
- 仅支持使用关键词、时间段、参会人、组织者、会议室等筛选条件搜索会议记录,对于不支持的筛选条件,需要提示用户。
- 搜索结果存在多条数据时,务必注意分页数据获取,不要遗漏任何会议记录。
2. 整理会议纪要
- 整理纪要文档时默认给出纪要文档和逐字稿链接即可,无需读取纪要文档或逐字稿内容。
- 用户明确需要获取纪要文档中的总结、待办、章节产物时,再读取文档获取具体内容。
- 读取智能纪要(
note_doc_token)内容时,纪要文档的第一个<whiteboard>标签是封面图(AI 生成的总结可视化),应同时下载展示给用户:
# 1. 读取纪要内容
lark-cli docs +fetch --api-version v2 --doc <note_doc_token> --doc-format markdown
# 2. 从返回的 markdown 中提取第一个 <whiteboard token="xxx"/> 的 token
# 3. 下载封面图到聚合目录(和逐字稿、录像同目录,保持产物归拢)
# 并非所有纪要都有封面画板,没有 <whiteboard> 标签时跳过即可
lark-cli docs +media-download --type whiteboard --token <whiteboard_token> --output ./minutes/<minute_token>/cover
产物目录规范:同一会议的所有下载产物(录像、逐字稿、封面图等)统一放到
./minutes/{minute_token}/目录下。这与minutes +download和vc +notes --minute-tokens的默认落点保持一致,便于 Agent 聚合。显式路径(如封面图)需手动对齐到同一目录。
纪要相关文档 — 根据用户意图选择:
note_doc_token→ AI 智能纪要(AI 总结 + 待办 + 章节)meeting_notes→ 用户绑定的会议纪要(用户主动关联到会议的文档,仅--calendar-event-ids路径返回)verbatim_doc_token→ 逐字稿(完整的逐句文字记录,含说话人和时间戳)— 用户说"逐字稿""完整记录""谁说了什么"时用这个- 用户说"纪要""总结""纪要内容"时,应同时返回
note_doc_token和meeting_notes(如有)- 用户意图不明确时,应展示所有文档链接让用户选择,而不是替用户决定
- 如果用户提供的是本地音视频文件并说"转纪要""转逐字稿",不要直接从
vc +notes开始;应先用 minutes +upload 生成minute_url,再提取minute_token调用vc +notes --minute-tokens
3. 纪要文档与逐字稿链接
- 纪要文档、逐字稿文档与关联的共享文档默认使用文档 Token 返回。
- 仅需要获取文档名称和 URL 等基本信息时,使用
lark-cli drive metas batch_query查询
# 学习命令使用方式
lark-cli schema drive.metas.batch_query
# 批量获取文档基本信息: 一次最多查询 10 个文档
lark-cli drive metas batch_query --data '{"request_docs": [{"doc_type": "docx", "doc_token": "<doc_token>"}], "with_url": true}'
- 需要获取文档内容时,使用
lark-cli docs +fetch --api-version v2。
# 获取文档内容
lark-cli docs +fetch --api-version v2 --doc <doc_token> --doc-format markdown
4. 查询参会人快照(读操作)
用户问"谁参加过这场会议""这个会议有哪些参会人""某某参会了吗"等参会人快照类问题时,使用 vc meeting get --with-participants:这是参会人服务端快照 API,不依赖 bot 身份参会,已结束会议也可查:
lark-cli vc meeting get --params '{"meeting_id":"<meeting_id>","with_participants":true}'
选型判断表:
| 用户意图 | 推荐命令 | 所在 skill |
|---|---|---|
| 参会人快照(谁参加过、何时入/离会,任意时点) | vc meeting get --with-participants | 本 skill |
| 已结束会议的发言内容 | vc +notes 取 verbatim_doc_token 再 docs +fetch --api-version v2 | 本 skill |
| 进行中会议的实时事件流(转写、聊天、共享、会中加入/离开) | vc +meeting-events | lark-vc-agent |
| Agent 真实入会 / 离会 | vc +meeting-join / vc +meeting-leave | lark-vc-agent |
资源关系
Meeting (视频会议)
├── Note (会议纪要)
│ ├── MainDoc (AI 智能纪要文档, note_doc_token)
│ ├── MeetingNotes (用户绑定的会议纪要文档, meeting_notes)
│ ├── VerbatimDoc (逐字稿, verbatim_doc_token)
│ └── SharedDoc (会中共享文档)
└── Minutes (妙记) ← minute_token 标识,+recording 从 meeting_id 获取
├── Transcript (文字记录)
├── Summary (总结)
├── Todos (待办)
└── Chapters (章节)
注意:
+search只能查询已结束的历史会议。查询未来的日程安排请使用 lark-calendar。优先级:当用户搜索历史会议时,应优先使用
vc +search而非calendar events search。calendar 的搜索面向日程,vc 的搜索面向已结束的会议记录,支持按参会人、组织者、会议室等维度过滤。路由规则:如果用户在问“开过的会”“今天开了哪些会”“最近参加过什么会”“已结束的会议”“历史会议记录”,优先使用
vc +search。只有在查询未来日程、待开的会、agenda 时才优先使用 lark-calendar。妙记边界:
+notes负责纪要内容、逐字稿和 AI 产物;妙记基础信息请优先看+recording与 lark-minutes。文件转纪要边界:如果用户给的是本地音视频文件,并希望得到纪要、逐字稿、总结、待办或章节,入口应先走 lark-minutes 的上传流程生成
minute_url/minute_token,再回到vc +notes --minute-tokens获取内容产物。特殊情况: 当用户查询“今天有哪些会议”时,通过
vc +search查询今天开过的会议记录,同时使用 lark-calendar 技能查询今天还未开始的会议,统一整理后展示给用户。
Shortcuts(推荐优先使用)
Shortcut 是对常用操作的高级封装(lark-cli vc +<verb> [flags])。有 Shortcut 的操作优先使用。
| Shortcut | 说明 |
|---|---|
+search | Search meeting records (requires at least one filter) |
+notes | Query meeting notes (via meeting-ids, minute-tokens, or calendar-event-ids) |
+recording | Query minute_token from meeting-ids or calendar-event-ids |
- 使用
+search命令时,必须阅读 references/lark-vc-search.md,了解搜索参数和返回值结构。 - 使用
+notes命令时,必须阅读 references/lark-vc-notes.md,了解查询参数、产物类型和返回值结构。 - 使用
+recording命令时,必须阅读 references/lark-vc-recording.md,了解查询参数和返回值结构。
Agent 参会相关命令已独立:
+meeting-join/+meeting-leave/+meeting-events请使用lark-vc-agent技能。
API Resources
lark-cli schema vc.<resource>.<method> # 调用 API 前必须先查看参数结构
lark-cli vc <resource> <method> [flags] # 调用 API
重要:使用原生 API 时,必须先运行
schema查看--data/--params参数结构,不要猜测字段格式。
meeting
get— 获取会议详情(主题、时间、参会人、note_id)
# 获取会议基础信息:不包含参会人列表
lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>"}'
# 获取会议基础信息:包含参会人列表
lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>", "with_participants": true}'
minutes(跨域,详见 lark-minutes)
get— 获取妙记基础信息(标题、时长、封面);查询纪要内容请用+notes --minute-tokens <minute-token>
权限表
| 方法 | 所需 scope |
|---|---|
+notes --meeting-ids | vc:meeting.meetingevent:read、vc:note:read |
+notes --minute-tokens | vc:note:read、minutes:minutes:readonly、minutes:minutes.artifacts:read、minutes:minutes.transcript:export |
+notes --calendar-event-ids | calendar:calendar:read、calendar:calendar.event:read、vc:meeting.meetingevent:read、vc:note:read |
+recording --meeting-ids | vc:record:readonly |
+recording --calendar-event-ids | vc:record:readonly、calendar:calendar:read、calendar:calendar.event:read |
+search | vc:meeting.search:read |
meeting.get | vc:meeting.meetingevent:read |
Agent 参会相关 scope(
vc:meeting.bot.join:write/vc:meeting.meetingevent:read)见lark-vc-agent。
Installs
217,186First seen
Jun 10, 2026
Auto-fetched from GitHub .
Stats via skills.sh.
Skills similar to lark-vc:
Installs
Installs
Installs