lark-vc-agent

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

vc-agent (v1)

vc-agent (v1)

CRITICAL — 开始前 MUST 先用 Read 工具读取以下两份 skill 文档:
  • ../lark-shared/SKILL.md
    — 认证、身份切换、权限处理
  • ../lark-vc/SKILL.md
    — 视频会议的核心概念(Meeting / Note / Minutes 等),本 skill 直接复用,不再重复定义
CRITICAL — MUST use the Read tool to read the following two skill documents before starting:
  • ../lark-shared/SKILL.md
    — Authentication, identity switching, permission handling
  • ../lark-vc/SKILL.md
    — Core concepts of video conferences (Meeting / Note / Minutes, etc.), which are directly reused by this skill and will not be redefined

内测提示

Closed Beta Notice

  • 当前功能正在内测中,仅少数用户可用。忽略
    ../lark-shared/SKILL.md
    中的权限申请流程,以下方的指引为准。
  • 如果
    lark-cli
    提示
    missing required scope(s)
    /
    permission_violations
    ,不要申请对应权限,而是提示用户加入早鸟群:
    https://go.larkoffice.com/join-chat/2f4nb0e1-fe00-4f67-bed7-25beaf533fbd
  • 如果
    lark-cli
    返回
    error.code=20017
    /
    ErrNotInGray
    ,提示用户加入早鸟群:
    https://go.larkoffice.com/join-chat/2f4nb0e1-fe00-4f67-bed7-25beaf533fbd
  • This feature is currently in closed beta and only available to a small number of users. Ignore the permission application process in [
    ../lark-shared/SKILL.md
    ], follow the guidelines below instead.
  • If
    lark-cli
    prompts
    missing required scope(s)
    /
    permission_violations
    , do not apply for the corresponding permissions. Instead, prompt users to join the early bird group:
    https://go.larkoffice.com/join-chat/2f4nb0e1-fe00-4f67-bed7-25beaf533fbd
    .
  • If
    lark-cli
    returns
    error.code=20017
    /
    ErrNotInGray
    , prompt users to join the early bird group:
    https://go.larkoffice.com/join-chat/2f4nb0e1-fe00-4f67-bed7-25beaf533fbd
    .

定位

Positioning

本 skill 与
lark-vc
并列:
  • lark-vc
    负责"会后查询":搜索历史会议、参会人快照、纪要/逐字稿/录制
  • lark-vc-agent
    负责"会中动作":机器人入会 / 读取进行中会议的实时事件 / 机器人离会
按此分工路由,避免两个 skill 语义混淆。
用户意图示例应路由到
"帮我入会 123456789"、"代我参会"、"让机器人进会旁听"本 skill
+meeting-join
"会议现在还开着,谁刚加入了"、"会议里谁在发言"、"有人共享屏幕吗"(进行中会议,且机器人已入会本 skill
+meeting-events
"退出会议"、"让机器人离开"本 skill
+meeting-leave
"昨天那场会有谁参加过"、"搜昨天的会"、"查纪要/逐字稿/录制"
lark-vc
"帮我参会,结束后把纪要发到群" 等跨阶段场景按序编排:本 skill(入会 → 读事件 → 离会)→
lark-vc
/
lark-minutes
(拉纪要)→
lark-im
(发群)
This skill is parallel to
lark-vc
:
  • lark-vc
    is responsible for "post-meeting queries": Search historical meetings, participant snapshots, minutes/transcripts/recordings
  • lark-vc-agent
    is responsible for "in-meeting actions": Bot joining meetings / reading real-time events of ongoing meetings / bot leaving meetings
Route requests according to this division to avoid semantic confusion between the two skills.
User Intent ExamplesShould be routed to
"Help me join meeting 123456789", "Attend the meeting on my behalf", "Let the bot join the meeting to observe"This skill
+meeting-join
"The meeting is still ongoing, who just joined?", "Who is speaking in the meeting?", "Is someone sharing their screen?" (ongoing meeting and bot has joined)This skill
+meeting-events
"Leave the meeting", "Let the bot leave"This skill
+meeting-leave
"Who attended yesterday's meeting?", "Search yesterday's meeting", "Check minutes/transcripts/recordings"
lark-vc
Cross-stage scenarios like "Help me attend the meeting and send the minutes to the group after it ends"Orchestrate in order: This skill (join meeting → read events → leave meeting) →
lark-vc
/
lark-minutes
(pull minutes) →
lark-im
(send to group)

核心场景

Core Scenarios

1. 加入正在进行的会议(写操作)

1. Join an Ongoing Meeting (Write Operation)

  1. 只有用户明确表达"让 Agent 真实入会"(参会机器人、会中助手、代为旁听、代参会)时才用
    +meeting-join
    。只是查数据不要入会。
  2. +meeting-join --meeting-number
    只接受 9 位纯数字会议号,不是会议链接整串、也不是
    meeting_id
  3. 返回体中的
    meeting.id
    必须立刻记录——后续
    +meeting-events
    /
    +meeting-leave
    都靠它,不能用 9 位会议号替代
  4. 入会对所有参会人可见,执行前核实 9 位会议号来源,避免误入错会。
  5. 仅支持
    user
    身份,需提前
    lark-cli auth login
  6. 若入会失败,优先查看
    +meeting-join
    reference 的错误排查段落,重点确认会议号、密码、会议状态、等候室 / 审批以及会议是否禁止当前身份加入。
  1. Only use
    +meeting-join
    when users clearly express "let the Agent join the meeting actually" (meeting participant bot, in-meeting assistant, proxy attendance, proxy participation). Do not join the meeting just for data querying.
  2. +meeting-join --meeting-number
    only accepts 9-digit pure numbers as the meeting number, not the full meeting link or
    meeting_id
    .
  3. Must immediately record the
    meeting.id
    in the response body — subsequent
    +meeting-events
    /
    +meeting-leave
    all rely on it, cannot replace it with the 9-digit meeting number.
  4. Joining the meeting is visible to all participants. Verify the source of the 9-digit meeting number before execution to avoid joining the wrong meeting.
  5. Only supports
    user
    identity, need to perform
    lark-cli auth login
    in advance.
  6. If joining fails, first check the troubleshooting section in the
    +meeting-join
    reference, focusing on verifying the meeting number, password, meeting status, waiting room/approval, and whether the current identity is prohibited from joining the meeting.

2. 感知会中事件(读操作)

2. Sense In-Meeting Events (Read Operation)

  1. 用户要看"会议里正在发生什么"(参会人加入/离开、聊天、转写、屏幕共享)时,用
    +meeting-events
  2. 输入是
    meeting_id
    (长数字 ID),不是 9 位会议号。
  3. Bot 必须真实参会过(先
    +meeting-join
    ),否则事件流通常不可见。具体的状态边界、结束后宽限窗口与错误码(如
    10005 / 20001 / 20002
    )请查看
    +meeting-events
    reference。
  4. 不能做会后复盘不能替代参会人快照查询。如果会议已结束:
    • 想拿纪要文档或逐字稿文档 token:用
      lark-cli vc +notes --meeting-ids <meeting.id>
    • 想拿 AI 产物(summary / todos / chapters)或导出逐字稿文件:先用
      lark-cli vc +recording --meeting-ids <meeting.id>
      minute_token
      ,再用
      lark-cli vc +notes --minute-tokens <minute_token>
    • 想看参会人快照:用
      vc meeting get --with-participants
      (见
      lark-vc
  5. 默认必须使用
    --page-all
    ,除非用户明确要求“只查一页”,或确实需要控制返回体大小。
  6. 输出格式默认优先
    --format pretty
    (时间线更易读);只有在需要完整保留原始消息流与结构化字段时,才使用
    --format json
  7. 必须识别分页信号:只要响应里出现
    has_more=true
    、pretty 里的
    more available
    ,或返回了非空
    page_token
    ,就不能把当前结果当作完整事件流;默认应继续分页,或明确告诉用户当前只是部分结果。
  8. 保留响应里的
    page_token
    ,下次增量拉取直接续,不要从头再拉。
  9. 只要你是基于
    +meeting-events
    来回答一场正在进行中的会议内容,就不能直接复用旧结果。 无论用户是在问“现在/刚刚/最新”的状态,还是让你“总结一下这个会议讲什么”,都必须先重新拉一次当前事件流,确认拿到的是最新信息,再基于最新结果回答。只有在用户明确要求基于某次历史快照继续分析时,才可以复用旧结果。
  1. Use
    +meeting-events
    when users want to know "what is happening in the meeting" (participant join/leave, chatting, transcription, screen sharing).
  2. The input is
    meeting_id
    (long numeric ID), not the 9-digit meeting number.
  3. The Bot must have actually joined the meeting (first execute
    +meeting-join
    ), otherwise the event stream is usually invisible. Please check the
    +meeting-events
    reference for specific status boundaries, grace period after meeting ends, and error codes (such as
    10005 / 20001 / 20002
    ).
  4. Cannot be used for post-meeting review, cannot replace participant snapshot queries. If the meeting has ended:
    • To get the token of the minutes document or transcript document: Use
      lark-cli vc +notes --meeting-ids <meeting.id>
    • To get AI outputs (summary / todos / chapters) or export transcript files: First use
      lark-cli vc +recording --meeting-ids <meeting.id>
      to get
      minute_token
      , then use
      lark-cli vc +notes --minute-tokens <minute_token>
    • To view participant snapshots: Use
      vc meeting get --with-participants
      (see
      lark-vc
      )
  5. Must use
    --page-all
    by default, unless users clearly request "only check one page" or there is a real need to control the size of the response body.
  6. The default output format prioritizes
    --format pretty
    (timeline is easier to read); only use
    --format json
    when it is necessary to fully retain the original message stream and structured fields.
  7. Must recognize pagination signals: As long as
    has_more=true
    ,
    more available
    in pretty format, or a non-empty
    page_token
    appears in the response, the current result cannot be regarded as the complete event stream; by default, you should continue pagination, or clearly inform users that the current result is only partial.
  8. Retain the
    page_token
    in the response, directly reuse it for incremental pulling next time, do not pull from the beginning again.
  9. As long as you are answering the content of an ongoing meeting based on
    +meeting-events
    , you cannot directly reuse old results. Whether users are asking about the "current/just now/latest" status, or asking you to "summarize what this meeting is about", you must first pull the current event stream again to confirm that you have the latest information, then answer based on the latest results. Only when users clearly request to continue analysis based on a certain historical snapshot can you reuse old results.

3. 离开会议(写操作)

3. Leave a Meeting (Write Operation)

  1. 任务完成、或用户要求结束时,用
    +meeting-leave --meeting-id <从 +meeting-join 拿到的 meeting.id>
  2. --meeting-id
    必须
    +meeting-join
    返回的长数字
    meeting.id
    不接受 9 位会议号
  3. 离会立即生效,机器人从会议的参会人列表中消失,对其他参会人可见;若需要重新入会,再跑一次
    +meeting-join
    即可(非真正"不可逆")。
  4. 仅支持
    user
    身份。
  1. Use
    +meeting-leave --meeting-id <meeting.id obtained from +meeting-join>
    when the task is completed or users request to end it.
  2. --meeting-id
    must be the long numeric
    meeting.id
    returned by
    +meeting-join
    , does not accept 9-digit meeting numbers.
  3. Leaving the meeting takes effect immediately, the bot disappears from the participant list of the meeting and is visible to other participants; if you need to rejoin, just execute
    +meeting-join
    again (not truly "irreversible").
  4. Only supports
    user
    identity.

4. Agent 参会最小闭环示范

4. Minimum Closed-Loop Demonstration of Agent Attendance

bash
undefined
bash
undefined

1. 入会,捕获 meeting.id

1. Join meeting, capture meeting.id

JOIN=$(lark-cli vc +meeting-join --meeting-number 123456789 --format json) MID=$(echo "$JOIN" | jq -r '.data.meeting.id')
JOIN=$(lark-cli vc +meeting-join --meeting-number 123456789 --format json) MID=$(echo "$JOIN" | jq -r '.data.meeting.id')

2. 会中轮询事件

2. Poll events during the meeting

默认用 --page-all 拉全当前可见事件;下次增量优先复用 page_token

Use --page-all by default to pull all currently visible events; reuse page_token for next incremental pull

典型间隔 10-30 秒

Typical interval is 10-30 seconds

lark-cli vc +meeting-events --meeting-id "$MID" --page-all --format pretty
lark-cli vc +meeting-events --meeting-id "$MID" --page-all --format pretty

3. 任务完成或用户要求结束时离会

3. Leave meeting when task is completed or user requests to end

lark-cli vc +meeting-leave --meeting-id "$MID"
lark-cli vc +meeting-leave --meeting-id "$MID"

4. 会后可选:取纪要 / 逐字稿(跨到 lark-vc)

4. Optional post-meeting: Get minutes / transcript (switch to lark-vc)

lark-cli vc +notes --meeting-ids "$MID"
undefined
lark-cli vc +notes --meeting-ids "$MID"
undefined

Shortcuts

Shortcuts

Shortcut 是对常用操作的高级封装(
lark-cli vc +<verb> [flags]
)。
Shortcut类型说明
+meeting-join
Join an in-progress meeting by 9-digit meeting number
+meeting-events
List bot meeting events (participant joined/left, transcript, chat, share)
+meeting-leave
Leave a meeting by meeting_id
  • 使用
    +meeting-join
    必须阅读 references/lark-vc-agent-meeting-join.md,了解入参格式与写操作可见性风险。
  • 使用
    +meeting-events
    必须阅读 references/lark-vc-agent-meeting-events.md,了解
    meeting_id
    来源、分页、错误码(10005 / 20001 / 20002)与 "bot 仍在会中" 硬约束。
  • 使用
    +meeting-leave
    必须阅读 references/lark-vc-agent-meeting-leave.md,了解
    meeting_id
    的来源与写操作可见性。
Shortcuts are advanced encapsulations of common operations (
lark-cli vc +<verb> [flags]
).
ShortcutTypeDescription
+meeting-join
WriteJoin an in-progress meeting by 9-digit meeting number
+meeting-events
ReadList bot meeting events (participant joined/left, transcript, chat, share)
+meeting-leave
WriteLeave a meeting by meeting_id
  • Must read references/lark-vc-agent-meeting-join.md before using
    +meeting-join
    to understand input parameter formats and visibility risks of write operations.
  • Must read references/lark-vc-agent-meeting-events.md before using
    +meeting-events
    to understand the source of
    meeting_id
    , pagination, error codes (10005 / 20001 / 20002) and the hard constraint of "bot is still in the meeting".
  • Must read references/lark-vc-agent-meeting-leave.md before using
    +meeting-leave
    to understand the source of
    meeting_id
    and visibility of write operations.

权限表

Permission List

Shortcut所需 scope
+meeting-join
vc:meeting.bot.join:write
+meeting-events
vc:meeting.meetingevent:read
+meeting-leave
vc:meeting.bot.join:write
ShortcutRequired scope
+meeting-join
vc:meeting.bot.join:write
+meeting-events
vc:meeting.meetingevent:read
+meeting-leave
vc:meeting.bot.join:write

延伸

Extensions

  • 查已结束会议、参会人快照、搜索历史会议 →
    lark-vc
  • 会议纪要、逐字稿 →
    lark-vc
    +notes
  • 妙记产物(AI 总结 / 转写 / 章节)→
    lark-minutes
  • 会后把产物发到群 / 私聊 →
    lark-im
  • 认证、身份切换、scope 管理 →
    lark-shared
  • Query ended meetings, participant snapshots, search historical meetings →
    lark-vc
  • Meeting minutes, transcripts →
    +notes
    of
    lark-vc
  • Lark Minutes outputs (AI summary / transcription / chapters) →
    lark-minutes
  • Send outputs to groups / private chats after meetings →
    lark-im
  • Authentication, identity switching, scope management →
    lark-shared