lark-vc-agent

Installation
SKILL.md

vc-agent (v1)

CRITICAL — 开始前 MUST 先用 Read 工具读取以下两份 skill 文档:

内测提示

  • 当前功能正在内测中,仅少数用户可用。忽略 ../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

定位

本 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(发群)

核心场景

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

  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 的错误排查段落,重点确认会议号、密码、会议状态、等候室 / 审批以及会议是否禁止当前身份加入。

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

  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 来回答一场正在进行中的会议内容,就不能直接复用旧结果。 无论用户是在问“现在/刚刚/最新”的状态,还是让你“总结一下这个会议讲什么”,都必须先重新拉一次当前事件流,确认拿到的是最新信息,再基于最新结果回答。只有在用户明确要求基于某次历史快照继续分析时,才可以复用旧结果。

3. 离开会议(写操作)

  1. 任务完成、或用户要求结束时,用 +meeting-leave --meeting-id <从 +meeting-join 拿到的 meeting.id>
  2. --meeting-id 必须+meeting-join 返回的长数字 meeting.id不接受 9 位会议号
  3. 离会立即生效,机器人从会议的参会人列表中消失,对其他参会人可见;若需要重新入会,再跑一次 +meeting-join 即可(非真正"不可逆")。
  4. 仅支持 user 身份。

4. Agent 参会最小闭环示范

# 1. 入会,捕获 meeting.id
JOIN=$(lark-cli vc +meeting-join --meeting-number 123456789 --format json)
MID=$(echo "$JOIN" | jq -r '.data.meeting.id')

# 2. 会中轮询事件
#    默认用 --page-all 拉全当前可见事件;下次增量优先复用 page_token
#    典型间隔 10-30 秒
lark-cli vc +meeting-events --meeting-id "$MID" --page-all --format pretty

# 3. 任务完成或用户要求结束时离会
lark-cli vc +meeting-leave --meeting-id "$MID"

# 4. 会后可选:取纪要 / 逐字稿(跨到 lark-vc)
lark-cli vc +notes --meeting-ids "$MID"

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

权限表

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

延伸

  • 查已结束会议、参会人快照、搜索历史会议 → lark-vc
  • 会议纪要、逐字稿 → lark-vc+notes
  • 妙记产物(AI 总结 / 转写 / 章节)→ lark-minutes
  • 会后把产物发到群 / 私聊 → lark-im
  • 认证、身份切换、scope 管理 → lark-shared
Related skills

More from larksuite/cli

Installs
595
Repository
larksuite/cli
GitHub Stars
9.6K
First Seen
Today