openclaw-skills/lark-vc/SKILL.md
飞书视频会议:查询进行中的会议列表(含会议 ID)、读取会中实时内容(发言、聊天、共享等)、发送会中消息,以及搜索历史会议、查询会议纪要(总结/待办/章节/逐字稿)和参会人快照。Agent 真实入会/离会走 lark-vc-agent;查询未来日程走 lark-calendar。
npx skillsauth add seaworld008/commonly-used-high-value-skills lark-vcInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
CRITICAL — 开始前 MUST 先用 Read 工具读取 ../lark-shared/SKILL.md,其中包含认证、权限处理
CRITICAL — 开始前 MUST 先用 Read 工具读取 references/vc-domain-boundaries.md,不读将导致命令使用、会议产物决策、领域边界职责判断错误:
- 了解日历 & VC、会议产物 & 文档的关联关系和职责划分
- 了解会议产物(妙记和纪要)之间的关联关系,例如:妙记和纪要产生条件相互独立
- 了解不同会议产物的组成部分,以便根据需求决策使用哪种产物的数据
- 了解会议总结、分析和信息提取的标准流程
身份是跨命令工作流的状态,不是单条命令的局部参数:一旦某个 ID(如 note_id、minute_token)由某个身份取得,后续消费它的命令(包括跨到 lark-minutes / lark-note / lark-doc)必须显式沿用相同 --as;不要依赖 profile 默认身份,也不要为绕过权限错误切换身份。完整规则见 ../lark-shared/SKILL.md 的「身份延续」。
本链路的身份策略覆盖到最后一跳读正文:vc +detail → note +detail → docs +fetch --doc <note_doc_token> / <verbatim_doc_token> 全程用同一个 --as。lark-doc 对普通文档推荐 --as user,不覆盖本链路取得的纪要文档 token;读正文时不要因此切回 user。
本 skill 默认使用 --as user。+detail、+recording、meeting get、+meeting-list-active、+meeting-events 和 +meeting-message-send 也支持 --as bot;+meeting-events 和 +meeting-message-send 必须沿用 meeting_id 的来源身份。+search 仅支持 --as user。
# BAD — 查昨天的会议用 calendar,会漏掉即时会议
lark-cli calendar +search-event --query "站会" --start <start_time> --end <end_time>
# GOOD — 查已结束的会议用 vc +search
lark-cli vc +search --query "站会" --start <start_time> --end <end_time>
| Shortcut | 说明 |
|----------|------|
| +search | 搜索历史会议记录(需至关键词、时间范围、组织者、参与者、会议室少一个筛选条件) |
| +detail | 通过 meeting-ids 获取会议详情,包括 note_id 和 minute_token |
| +recording | 通过 meeting-ids 或 calendar-event-ids 查询 minute_token |
| +meeting-list-active | 查询当前身份可见的进行中会议并获取 meeting_id |
| +meeting-events | 读取当前身份可见的会中事件 |
| +meeting-message-send | 发送会中文本或 reaction |
| 用户意图 | 路由到 |
|----------|--------|
| 查"昨天的会议""上周的会""已结束的会议" | 本 skill(+search,含即时会议) |
| 查日历/日程或未来时间的会议 | lark-calendar |
| 查"今天有哪些会议" | vc +search(已结束)+ lark-calendar(未开始),合并展示 |
| 查询进行中的会议、会中事件或发送会中消息 | 本 skill 的 +meeting-list-active / +meeting-events / +meeting-message-send,也可由 lark-vc-agent 编排 |
| 用户询问会议内容,但未提供 meeting_id,也未明确指向已结束会议 | 先用 +meeting-list-active 查询进行中的会议;无结果时,再用 +search 查询当天最近结束的会议;仍无结果时询问会议时间、主题或会议号,不自行扩大时间范围 |
| 只按自然语言标题查"xx 纪要的逐字稿 / 原始记录 / 谁说了什么" | 先到 lark-drive / lark-doc;仅在已拿到 note_id / vc-node-id 后再到 lark-note |
| Agent 真实入会/离会 | lark-vc-agent |
| 妙记信息/时长/封面/链接 | 先走 vc +detail 或 vc +recording 获取 minute_token,再用 lark-minutes 的 minutes get |
| 本地音视频文件转纪要/逐字稿 | 先走 lark-minutes 上传,再用 minutes +detail --minute-tokens |
+search)。note_id 标识,包含纪要文档(总结、待办)和逐字稿文档。note_display_type 区分**普通纪要(normal)**和 unified 纪要;已知 note_id 的直查与 unified 原始记录请用 lark-note。note_doc_token。meeting_note。需先通过 calendar +meeting 由 event_id 获取。| 用户意图 | 必须读取的产物 | 禁止 |
|---------|-------------|------|
| 提炼/总结/重新总结/整理会议内容/回顾会议 | 为降低 token 消耗,非必须不得获取 AI 纪要。必须使用原始对话记录(按下方逐字稿路由取得),基于原始对话独立分析。两类产物都存在且用户未指定时,默认用智能纪要的逐字稿;用户明确要妙记时才用妙记文字记录(Transcript) | 禁止直接搬运 AI 纪要(note_doc_token)的总结作为最终输出 |
| 查看待办/章节 | 默认 AI 纪要(note_doc_token);仅存在妙记或用户明确要妙记时用妙记产物 — AI 待办更友好(含提出人和负责人),章节按话题划分更结构化 | — |
| 查看纪要链接/文档地址 | 仅返回文档链接,无需读取内容 | — |
| 直接看 AI 总结结果 | AI 纪要(note_doc_token) | — |
| 谁说了什么/完整发言记录 | 原始对话记录(按下方逐字稿路由取得) | — |
智能纪要 vs 妙记的选择规则(总结/待办/逐字稿等重复产物通用):只存在一类 → 用存在的那类;两类都存在且用户明确指定(如"看妙记逐字稿")→ 语义指向哪个走哪个,不要改道;两类都存在但用户未指定 → 默认智能纪要及其逐字稿(会后自动授权给参会人,访问门槛低于含原始录制视频、需申请授权的妙记)。完整说明见
references/vc-domain-boundaries.md的「产物选择决策」。
逐字稿路由:先用
vc +detail拿到note_id,再note +detail看note_display_type,不要只看verbatim_doc_token是否为空。具体路由以 lark-note 的note_display_type规则为准。为什么"提炼/总结"必须从原始对话记录出发? AI 纪要是模型对会议的二次压缩,可能遗漏讨论细节、争论过程和隐含决策。用户要求"提炼"或"重新总结"时,期望的是基于原始对话的独立分析,而非对 AI 产物的重新排版。
在选择读取哪个产物前,先确认你理解 AI 总结链路 vs 录制链路的区别。如不确定,先读
references/vc-domain-boundaries.md。
note_doc_token)内容时,纪要文档的第一个 <whiteboard> 标签是封面图(AI 生成的总结可视化),应同时下载展示给用户:# 1. 读取纪要内容
lark-cli docs +fetch --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和minutes +detail --minute-tokens的默认落点保持一致,便于 Agent 聚合。显式路径(如封面图)需手动对齐到同一目录。
纪要相关文档 — 根据用户意图选择:
note_doc_token→ AI 智能纪要(AI 总结 + 待办),由note +detail --note-id <note_id>返回meeting_note→ 用户绑定到日程的会议纪要,由calendar +meeting --event-ids <event_id>返回- 用户说"逐字稿""完整记录""谁说了什么"时 → 按
note_display_type路由,详见 lark-note- 用户说"纪要""总结""纪要内容"时,应同时返回
note_doc_token和meeting_note(如有)- 用户意图不明确时,应展示所有文档链接让用户选择,而不是替用户决定
- 如果用户提供的是本地音视频文件并说"转纪要""转逐字稿",不要直接从
vc +detail开始;应先用 minutes +upload 生成minute_url,再提取minute_token调用minutes +detail --minute-tokens
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。# 获取文档内容
lark-cli docs +fetch --doc <doc_token> --doc-format markdown
用户问"谁参加过这场会议""这个会议有哪些参会人""某某参会了吗"等参会人快照类问题时,使用 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 +detail 取 note_id 再 note +detail 取 verbatim_doc_token 后 docs +fetch;备选:vc +detail 取 minute_token 再 minutes +detail --transcript | lark-note / lark-minutes |
| 进行中会议的实时事件流(转写、聊天、共享、会中加入/离开)| vc +meeting-events | 本 skill / lark-vc-agent |
| Agent 真实入会 / 离会 | vc +meeting-join / vc +meeting-leave | lark-vc-agent |
Meeting (视频会议)
├── Note (会议纪要) ← note_id 标识,note_display_type: normal / unified
│ ├── MainDoc (AI 智能纪要文档, note_doc_token)
│ ├── MeetingNotes (用户绑定的会议纪要文档, meeting_notes)
│ ├── VerbatimDoc (逐字稿, verbatim_doc_token) ← normal 路径
│ ├── UnifiedTranscript (unified 原始记录) ← unified 路径,note +transcript(lark-note)
│ └── SharedDoc (会中共享文档)
└── Minutes (妙记) ← minute_token 标识,由 `vc +detail` 或 `vc +recording` 桥接获取,产物详情走 [lark-minutes](../lark-minutes/SKILL.md)
├── Transcript (文字记录)
├── Summary (总结)
├── Todos (待办)
├── Chapters (章节)
└── Keywords (推荐关键词)
MeetingNotes 边界:用户绑定到日程的会议纪要文档(
meeting_note)属于日程域,不在 VC 资源关系内;从event_id用calendar +meeting获取。妙记边界:
+recording仅负责把meeting_id/calendar_event_id桥接到minute_token;妙记的总结/待办/章节/逐字稿等产物归 lark-minutes(minutes +detail)。Note 域边界:VC 域只负责把
meeting_id转成note_id/minute_token,纪要详情归 lark-note。
- 入口选择:从
meeting_id出发用vc +detail拿note_id和minute_token;从minute_token出发用minutes +detail也会返回关联的note_id,可继续走note +detail拿纪要文档 token。- 已有
note_id→ 直接走note +detail/note +transcript,不要绕回 VC。- 已有
doc_token且目标是读正文 → lark-doc。- 只有自然语言纪要标题 → 文档搜索 / Docx 正文读取;有显式
vc-node-id才进入 lark-note。- 从日程出发(只有
event_id)→ 先走calendar +meeting拿到meeting_id或meeting_note,再按上述路径继续。- 跨到 lark-minutes / lark-note / lark-doc 时必须沿用来源身份:例如
vc +detail --as bot拿到的note_id,下一步note +detail --note-id <note_id>也要显式加--as bot;不要省略--as让身份被 profile 默认值悄悄换成 user(或反过来)。note +transcript目前仅支持--as user——如果note +detail --as bot返回note_display_type=unified,停在这一步向用户说明"该纪要的逐字稿只能以 user 身份读取",只有用户明确同意才切到--as user,不要静默切换。
lark-cli vc <resource> <method> [flags]
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}'
get — 获取妙记基础信息(标题、时长、封面);查询妙记内容(总结/待办/章节/逐字稿)请用 minutes +detailvc-node-id 才进入 lark-notenote_id 取纪要文档 Token → lark-noteThis supplement is maintained by the repository sync pipeline. It keeps the imported upstream skill usable inside this curated collection when the upstream source is intentionally concise.
1. Confirm that the user's task matches the skill trigger.
2. Read the relevant project files or user-provided context before acting.
3. Choose the smallest reversible action that advances the task.
4. Run the verification command or manual check that proves the result.
5. Report the outcome, evidence, and any remaining risk.
tools
飞书审批:查询和处理审批待办/已办/实例,搜索可发起审批定义、查看定义详情并发起原生审批实例。当用户要处理审批任务、查看审批实例、搜索或发起审批时使用。审批待办不是飞书任务;非审批类待办走 lark-task。不负责创建审批定义;三方审批定义不走原生提单。
development
Use when a user needs reproducible repository sizing, language composition, file counts, or code-versus-comment ratios with pygount; record exclusions and verify measurement scope before interpreting results.
development
Route a development task to the official Hermes Agent skill, Graphify Codex artifact set, Open GSD Core bundle, or optional GSD Pi bundle without duplicating their installers or state machines.
development
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。