forked from AxTps/Starlight_Lancher
feat:移除了弹窗,服务器添加sls
This commit is contained in:
205
.agents/skills/lark-vc/SKILL.md
Normal file
205
.agents/skills/lark-vc/SKILL.md
Normal file
@ -0,0 +1,205 @@
|
||||
---
|
||||
name: lark-vc
|
||||
version: 1.0.0
|
||||
description: "飞书视频会议:搜索历史会议记录、查询会议纪要(总结/待办/章节/逐字稿)、查询参会人快照。当用户查询已结束的会议、获取会议产物(纪要/妙记)、查看参会人时使用;查询未来日程走 lark-calendar。不负责:Agent 真实入会/离会、会中实时事件(走 lark-vc-agent)。"
|
||||
metadata:
|
||||
requires:
|
||||
bins: ["lark-cli"]
|
||||
cliHelp: "lark-cli vc --help"
|
||||
---
|
||||
|
||||
# vc (v1)
|
||||
|
||||
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
|
||||
|
||||
**CRITICAL — 开始前 MUST 先用 Read 工具读取 [`references/vc-domain-boundaries.md`](references/vc-domain-boundaries.md)**,不读将导致命令使用、会议产物决策、领域边界职责判断错误:
|
||||
> 1. 了解日历 & VC、会议产物 & 文档的关联关系和职责划分
|
||||
> 2. 了解会议产物(妙记和纪要)之间的关联关系,例如:**妙记和纪要产生条件相互独立**
|
||||
> 3. 了解不同会议产物的组成部分,以便根据需求决策使用哪种产物的数据
|
||||
> 4. 了解会议总结、分析和信息提取的标准流程
|
||||
|
||||
## 身份
|
||||
|
||||
所有 vc 命令默认使用 `--as user`。`+search` 和 `meeting get` 也支持 `--as bot`。
|
||||
|
||||
```bash
|
||||
# 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>
|
||||
```
|
||||
|
||||
## Shortcuts (推荐优先使用)
|
||||
|
||||
| Shortcut | 说明 |
|
||||
|----------|------|
|
||||
| [`+search`](references/lark-vc-search.md) | 搜索历史会议记录(需至关键词、时间范围、组织者、参与者、会议室少一个筛选条件) |
|
||||
| [`+detail`](references/lark-vc-detail.md) | 通过 meeting-ids 获取会议详情,包括 note_id 和 minute_token |
|
||||
| [`+recording`](references/lark-vc-recording.md) | 通过 meeting-ids 或 calendar-event-ids 查询 minute_token |
|
||||
|
||||
- 使用任何 Shortcut 前,必须先读其对应 reference 文档。
|
||||
|
||||
## 意图路由
|
||||
|
||||
| 用户意图 | 路由到 |
|
||||
|----------|--------|
|
||||
| 查"昨天的会议""上周的会""已结束的会议" | 本 skill(`+search`,含即时会议) |
|
||||
| 查日历/日程或未来时间的会议 | [lark-calendar](../lark-calendar/SKILL.md) |
|
||||
| 查"今天有哪些会议" | `vc +search`(已结束)+ lark-calendar(未开始),合并展示 |
|
||||
| 只按自然语言标题查"xx 纪要的逐字稿 / 原始记录 / 谁说了什么" | 先到 [lark-drive](../lark-drive/SKILL.md) / [lark-doc](../lark-doc/SKILL.md);仅在已拿到 `note_id` / `vc-node-id` 后再到 [lark-note](../lark-note/SKILL.md) |
|
||||
| Agent 真实入会/离会、会中实时事件 | [lark-vc-agent](../lark-vc-agent/SKILL.md) |
|
||||
| 妙记信息/时长/封面/链接 | 先走 `vc +detail` 或 `vc +recording` 获取 `minute_token`,再用 [lark-minutes](../lark-minutes/SKILL.md) 的 `minutes get` |
|
||||
| 本地音视频文件转纪要/逐字稿 | 先走 [lark-minutes](../lark-minutes/SKILL.md) 上传,再用 `minutes +detail --minute-tokens` |
|
||||
|
||||
## 核心概念
|
||||
|
||||
- **视频会议(Meeting)**:飞书视频会议实例,通过 meeting_id 标识。已结束的会议支持通过关键词、时间段、参会人、组织者、会议室等条件搜索(见 `+search`)。
|
||||
- **会议纪要(Note)**:视频会议结束后生成的结构化文档,通过 `note_id` 标识,包含纪要文档(总结、待办)和逐字稿文档。`note_display_type` 区分**普通纪要(`normal`)**和 **unified 纪要**;已知 `note_id` 的直查与 unified 原始记录请用 [lark-note](../lark-note/SKILL.md)。
|
||||
- **妙记(Minutes)**:来源于飞书视频会议的录制产物或用户上传的音视频文件,支持视频/音频的转写,包含总结、待办、章节和文字记录,通过 minute_token 标识。妙记带有**原始会议录制视频**,会后**不会自动授权给参会人**,需管理员授权或参会人主动申请;而智能纪要及其逐字稿会后自动授权给参会人。
|
||||
- **纪要文档(MainDoc)**:AI 智能纪要的主文档,包含 AI 生成的总结和待办,对应 `note_doc_token`。
|
||||
- **用户会议纪要(MeetingNotes)**:用户主动绑定到日程的纪要文档,对应 `meeting_note`。需先通过 [`calendar +meeting`](../lark-calendar/references/lark-calendar-meeting.md) 由 `event_id` 获取。
|
||||
- **逐字稿(VerbatimDoc)**:会议的逐句文字记录,包含说话人和时间戳。
|
||||
|
||||
## 产物选择决策
|
||||
|
||||
| 用户意图 | 必须读取的产物 | 禁止 |
|
||||
|---------|-------------|------|
|
||||
| 提炼/总结/重新总结/整理会议内容/回顾会议 | 为降低 token 消耗,非必须不得获取 AI 纪要。必须使用原始对话记录(按下方逐字稿路由取得),基于原始对话独立分析。两类产物都存在且用户未指定时,默认用智能纪要的逐字稿;用户明确要妙记时才用妙记文字记录(Transcript) | 禁止直接搬运 AI 纪要(`note_doc_token`)的总结作为最终输出 |
|
||||
| 查看待办/章节 | 默认 AI 纪要(`note_doc_token`);仅存在妙记或用户明确要妙记时用妙记产物 — AI 待办更友好(含提出人和负责人),章节按话题划分更结构化 | — |
|
||||
| 查看纪要链接/文档地址 | 仅返回文档链接,无需读取内容 | — |
|
||||
| 直接看 AI 总结结果 | AI 纪要(`note_doc_token`) | — |
|
||||
| 谁说了什么/完整发言记录 | 原始对话记录(按下方逐字稿路由取得) | — |
|
||||
|
||||
> **智能纪要 vs 妙记的选择规则**(总结/待办/逐字稿等重复产物通用):只存在一类 → 用存在的那类;两类都存在且用户明确指定(如"看妙记逐字稿")→ **语义指向哪个走哪个,不要改道**;两类都存在但用户未指定 → **默认智能纪要及其逐字稿**(会后自动授权给参会人,访问门槛低于含原始录制视频、需申请授权的妙记)。完整说明见 [`references/vc-domain-boundaries.md`](references/vc-domain-boundaries.md) 的「产物选择决策」。
|
||||
|
||||
|
||||
> **逐字稿路由**:先用 `vc +detail` 拿到 `note_id`,再 [`note +detail`](../lark-note/SKILL.md) 看 `note_display_type`,**不要只看 `verbatim_doc_token` 是否为空**。具体路由以 [lark-note](../lark-note/SKILL.md) 的 `note_display_type` 规则为准。
|
||||
>
|
||||
> **为什么"提炼/总结"必须从原始对话记录出发?** AI 纪要是模型对会议的二次压缩,可能遗漏讨论细节、争论过程和隐含决策。用户要求"提炼"或"重新总结"时,期望的是基于原始对话的独立分析,而非对 AI 产物的重新排版。
|
||||
|
||||
## 核心场景
|
||||
|
||||
### 1. 搜索会议记录
|
||||
1. 仅支持搜索已结束的会议,对于还未开始的未来会议,需要使用 lark-calendar 技能。
|
||||
2. 仅支持使用关键词、时间段、参会人、组织者、会议室等筛选条件搜索会议记录,对于不支持的筛选条件,需要提示用户。
|
||||
3. 搜索结果存在多条数据时,务必注意分页数据获取,不要遗漏任何会议记录。
|
||||
4. 只有自然语言纪要标题、没有会议线索时,不要把标题当会议关键词;按上方意图路由切到文档搜索。
|
||||
|
||||
### 2. 整理会议纪要
|
||||
|
||||
> 在选择读取哪个产物前,先确认你理解 AI 总结链路 vs 录制链路的区别。如不确定,先读 [`references/vc-domain-boundaries.md`](references/vc-domain-boundaries.md)。
|
||||
|
||||
1. 整理纪要文档时默认给出纪要文档、逐字稿、妙记链接即可,无需读取纪要文档或逐字稿内容。
|
||||
2. 用户明确需要获取总结、待办、章节产物时,再读取文档获取具体内容。
|
||||
3. 读取智能纪要(`note_doc_token`)内容时,纪要文档的**第一个 `<whiteboard>`** 标签是封面图(AI 生成的总结可视化),应同时下载展示给用户:
|
||||
|
||||
```bash
|
||||
# 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>`](../lark-calendar/references/lark-calendar-meeting.md) 返回
|
||||
> - 用户说"逐字稿""完整记录""谁说了什么"时 → 按 `note_display_type` 路由,详见 [lark-note](../lark-note/SKILL.md)
|
||||
> - 用户说"纪要""总结""纪要内容"时,应同时返回 `note_doc_token` 和 `meeting_note`(如有)
|
||||
> - 用户意图不明确时,应展示所有文档链接让用户选择,而不是替用户决定
|
||||
> - 如果用户提供的是**本地音视频文件**并说"转纪要""转逐字稿",不要直接从 `vc +detail` 开始;应先用 [minutes +upload](../lark-minutes/references/lark-minutes-upload.md) 生成 `minute_url`,再提取 `minute_token` 调用 `minutes +detail --minute-tokens`
|
||||
|
||||
### 3. 纪要文档与逐字稿链接
|
||||
1. 纪要文档、逐字稿文档与关联的共享文档默认使用文档 Token 返回。
|
||||
2. 仅需要获取文档名称和 URL 等基本信息时,使用 `lark-cli drive metas batch_query` 查询
|
||||
```bash
|
||||
# 学习命令使用方式
|
||||
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}'
|
||||
```
|
||||
3. 需要获取文档内容时,使用 `lark-cli docs +fetch`。
|
||||
```bash
|
||||
# 获取文档内容
|
||||
lark-cli docs +fetch --doc <doc_token> --doc-format markdown
|
||||
```
|
||||
|
||||
### 4. 查询参会人快照(读操作)
|
||||
|
||||
用户问"谁参加过这场会议""这个会议有哪些参会人""某某参会了吗"等**参会人快照**类问题时,使用 **`vc meeting get --with-participants`**:这是参会人服务端快照 API,不依赖 bot 身份参会,**已结束会议也可查**:
|
||||
|
||||
```bash
|
||||
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-note/SKILL.md) / [lark-minutes](../lark-minutes/SKILL.md) |
|
||||
| **进行中会议**的实时事件流(转写、聊天、共享、会中加入/离开)| `vc +meeting-events` | [`lark-vc-agent`](../lark-vc-agent/SKILL.md) |
|
||||
| **Agent 真实入会 / 离会** | `vc +meeting-join` / `vc +meeting-leave` | [`lark-vc-agent`](../lark-vc-agent/SKILL.md) |
|
||||
|
||||
## 资源关系
|
||||
|
||||
```text
|
||||
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`](../lark-calendar/references/lark-calendar-meeting.md) 获取。
|
||||
>
|
||||
> **妙记边界**:`+recording` 仅负责把 `meeting_id` / `calendar_event_id` 桥接到 `minute_token`;妙记的总结/待办/章节/逐字稿等产物归 [lark-minutes](../lark-minutes/SKILL.md)(`minutes +detail`)。
|
||||
>
|
||||
> **Note 域边界**:VC 域只负责把 `meeting_id` 转成 `note_id` / `minute_token`,纪要详情归 [lark-note](../lark-note/SKILL.md)。
|
||||
> - 入口选择:从 `meeting_id` 出发用 `vc +detail` 拿 `note_id` 和 `minute_token`;从 `minute_token` 出发用 [`minutes +detail`](../lark-minutes/references/lark-minutes-detail.md) 也会返回关联的 `note_id`,可继续走 `note +detail` 拿纪要文档 token。
|
||||
> - 已有 `note_id` → 直接走 [`note +detail`](../lark-note/SKILL.md) / [`note +transcript`](../lark-note/SKILL.md),不要绕回 VC。
|
||||
> - 已有 `doc_token` 且目标是读正文 → [lark-doc](../lark-doc/SKILL.md)。
|
||||
> - 只有自然语言纪要标题 → 文档搜索 / Docx 正文读取;有显式 `vc-node-id` 才进入 [lark-note](../lark-note/SKILL.md)。
|
||||
> - 从日程出发(只有 `event_id`)→ 先走 [`calendar +meeting`](../lark-calendar/references/lark-calendar-meeting.md) 拿到 `meeting_id` 或 `meeting_note`,再按上述路径继续。
|
||||
|
||||
## API Resources
|
||||
|
||||
```bash
|
||||
lark-cli vc <resource> <method> [flags]
|
||||
```
|
||||
|
||||
### meeting
|
||||
|
||||
- `get` — 获取会议详情(主题、时间、参会人、note_id)
|
||||
|
||||
```bash
|
||||
# 获取会议基础信息(不含参会人)
|
||||
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](../lark-minutes/SKILL.md))
|
||||
|
||||
- `get` — 获取妙记基础信息(标题、时长、封面);查询妙记**内容**(总结/待办/章节/逐字稿)请用 [`minutes +detail`](../lark-minutes/references/lark-minutes-detail.md)
|
||||
|
||||
## 不在本 skill 范围
|
||||
|
||||
- 查询未来的会议日程 → [lark-calendar](../lark-calendar/SKILL.md)
|
||||
- Agent 真实入会/离会、会中实时事件 → [lark-vc-agent](../lark-vc-agent/SKILL.md)
|
||||
- 只有纪要文档标题的逐字稿查询 → 文档搜索 / Docx 正文读取;有显式 `vc-node-id` 才进入 [lark-note](../lark-note/SKILL.md)
|
||||
- 本地音视频文件转纪要/逐字稿、妙记搜索/下载/上传/重命名/替换说话人 → [lark-minutes](../lark-minutes/SKILL.md)
|
||||
- 通过 `note_id` 取纪要文档 Token → [lark-note](../lark-note/SKILL.md)
|
||||
44
.agents/skills/lark-vc/references/lark-vc-detail.md
Normal file
44
.agents/skills/lark-vc/references/lark-vc-detail.md
Normal file
@ -0,0 +1,44 @@
|
||||
|
||||
# vc +detail
|
||||
|
||||
通过会议 ID 获取会议详情,包括基本信息、关联的纪要 ID(`note_id`)和妙记 Token(`minute_token`)。只读。
|
||||
|
||||
## 命令
|
||||
|
||||
```bash
|
||||
# 单个 / 批量(逗号分隔,最多 50 个)
|
||||
lark-cli vc +detail --meeting-ids <meeting_id1>,<meeting_id2>
|
||||
```
|
||||
|
||||
## 输出字段
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `meeting_id` | 会议 ID |
|
||||
| `meeting_no` | 会议 9 位号码 |
|
||||
| `topic` | 会议主题 |
|
||||
| `start_time` | 开始时间 |
|
||||
| `end_time` | 结束时间 |
|
||||
| `note_id` | 关联的纪要 ID。 |
|
||||
| `minute_token` | 关联的妙记 Token。 |
|
||||
|
||||
## 典型场景
|
||||
|
||||
### 场景 1:获取会议的纪要和妙记关联
|
||||
|
||||
`vc +detail` 只能拿到 `note_id` 和 `minute_token`,不直接返回纪要文档 token 与妙记产物内容。要获取实际产物,需根据用户诉求继续调用 `note +detail` 或 `minutes +detail`:
|
||||
|
||||
```bash
|
||||
# 1. 获取会议详情,拿到 note_id 和 minute_token
|
||||
lark-cli vc +detail --meeting-ids <meeting_id>
|
||||
|
||||
# 2. 用 note_id 获取纪要文档 Token(note_doc_token / verbatim_doc_token / shared_doc_tokens)
|
||||
lark-cli note +detail --note-id <note_id>
|
||||
|
||||
# 3. 用 minute_token 获取妙记产物
|
||||
# ⚠️ 必须显式指定 --summary / --todo / --chapter / --keyword / --transcript 中至少一个 flag,
|
||||
# 不传任何 flag 则不会返回任何产物内容。
|
||||
lark-cli minutes +detail --minute-tokens <minute_token> --todo --transcript
|
||||
```
|
||||
|
||||
> **路由建议**:当用户未明确指定使用妙记时,**优先**走 `note +detail` 链路(纪要文档信息更完整、含逐字稿原文),仅在 `note_id` 为空或用户要求妙记产物时才走 `minutes +detail`。
|
||||
152
.agents/skills/lark-vc/references/lark-vc-recording.md
Normal file
152
.agents/skills/lark-vc/references/lark-vc-recording.md
Normal file
@ -0,0 +1,152 @@
|
||||
|
||||
# vc +recording
|
||||
|
||||
|
||||
通过 meeting_id 或 calendar_event_id 查询对应的 minute_token。这是 VC 域和 Minutes 域之间的桥梁命令。只读操作。
|
||||
|
||||
> **边界提醒:** 如果用户明确要的是"妙记信息""妙记详情""妙记链接""minute_token""标题""时长""owner"这类妙记元信息,先用本命令拿到 `minute_token`,再调用 `minutes minutes get`。不要直接切到 `minutes +detail`;`minutes +detail` 只用于纪要内容和逐字稿。
|
||||
|
||||
本 skill 对应 shortcut:`lark-cli vc +recording`。
|
||||
|
||||
## 命令
|
||||
|
||||
```bash
|
||||
# 通过会议 ID 查询(逗号分隔支持批量,最多 50 个)
|
||||
lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28
|
||||
lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28,69xxxxxxxxxxxxx29
|
||||
|
||||
# 通过日程事件 ID 查询
|
||||
lark-cli vc +recording --calendar-event-ids xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_0
|
||||
|
||||
# 输出格式
|
||||
lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28 --format json
|
||||
|
||||
# 预览 API 调用
|
||||
lark-cli vc +recording --meeting-ids 69xxxxxxxxxxxxx28 --dry-run
|
||||
```
|
||||
|
||||
## 参数
|
||||
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `--meeting-ids <ids>` | 二选一 | 会议 ID,逗号分隔支持批量 |
|
||||
| `--calendar-event-ids <ids>` | 二选一 | 日程事件 ID,逗号分隔支持批量 |
|
||||
| `--format <fmt>` | 否 | 输出格式:json (默认) / pretty / table / ndjson / csv |
|
||||
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
||||
|
||||
## 核心约束
|
||||
|
||||
### 1. 两种参数互斥
|
||||
|
||||
每次只能指定一种输入方式。同时传入会报错。
|
||||
|
||||
### 2. 仅支持 user 身份
|
||||
|
||||
该命令仅支持 `user` 身份,使用前需完成 `lark-cli auth login`。user token 只能查自己有权限的录制。
|
||||
|
||||
### 3. 批量上限
|
||||
|
||||
每次最多传入 50 个 ID。
|
||||
|
||||
### 4. 录制必须已完成
|
||||
|
||||
录制必须完成生成后才能查询。时长 < 5 秒的录制可能不会生成文件。
|
||||
|
||||
## 输出结果
|
||||
|
||||
返回 `recordings` 数组,每条记录包含:
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| `meeting_id` | 会议 ID |
|
||||
| `calendar_event_id` | 日历事件 ID(仅 `--calendar-event-ids` 路径) |
|
||||
| `minute_token` | 从录制 URL 中解析的妙记 Token |
|
||||
| `recording_url` | 录制 URL |
|
||||
| `duration` | 录制时长(毫秒) |
|
||||
| `error` | 错误信息(仅查询失败时存在) |
|
||||
|
||||
## 如何获取输入参数
|
||||
|
||||
| 输入参数 | 获取方式 |
|
||||
|---------|---------|
|
||||
| `meeting_id` | 使用 `lark-cli vc +search` 搜索历史会议,取结果中的 `id` 字段 |
|
||||
| `calendar_event_id` | 使用 `lark-cli calendar +agenda` 查看日程,取结果中的 `event_id` 字段 |
|
||||
|
||||
## Agent 组合场景
|
||||
|
||||
### 场景 1:知道 meeting_id,想下载录制
|
||||
|
||||
```bash
|
||||
# 第 1 步:通过 meeting_id 查询录制,拿到 minute_token
|
||||
lark-cli vc +recording --meeting-ids xxx
|
||||
|
||||
# 第 2 步:使用上一步返回的 minute_token 下载妙记文件
|
||||
lark-cli minutes +download --minute-tokens <minute_token>
|
||||
```
|
||||
|
||||
### 场景 2:知道 meeting_id,想查询妙记基础信息
|
||||
|
||||
```bash
|
||||
# 第 1 步:通过 meeting_id 查询录制,拿到 minute_token
|
||||
lark-cli vc +recording --meeting-ids xxx
|
||||
|
||||
# 第 2 步:使用上一步返回的 minute_token 查询妙记基础信息
|
||||
lark-cli minutes minutes get --params '{"minute_token":"<minute_token>"}'
|
||||
```
|
||||
|
||||
### 场景 3:知道 meeting_id,想获取完整纪要(含 AI 产物)
|
||||
|
||||
```bash
|
||||
# 第 1 步:通过 meeting_id 查询录制,拿到 minute_token
|
||||
lark-cli vc +recording --meeting-ids xxx
|
||||
|
||||
# 第 2 步:使用上一步返回的 minute_token 获取完整纪要
|
||||
# ⚠️ 必须显式指定要获取的产物 flag(--summary, --keyword, --todo, --chapter, --transcript)
|
||||
lark-cli minutes +detail --minute-tokens <minute_token> --summary --todo --chapter --transcript
|
||||
```
|
||||
|
||||
### 场景 4:先搜索会议,再获取录制并下载
|
||||
|
||||
```bash
|
||||
# 第 1 步:搜索历史会议,拿到 meeting_ids
|
||||
lark-cli vc +search --query "周会" --start 2026-03-10
|
||||
|
||||
# 第 2 步:使用上一步返回的 meeting_ids 查询录制,拿到 minute_tokens
|
||||
lark-cli vc +recording --meeting-ids <ids>
|
||||
|
||||
# 第 3 步:使用其中一个 minute_token 下载妙记文件
|
||||
lark-cli minutes +download --minute-tokens <token>
|
||||
```
|
||||
|
||||
### 场景 5:从日历事件获取录制
|
||||
|
||||
```bash
|
||||
# 第 1 步:通过日历 event_id 查询录制,拿到 minute_token
|
||||
lark-cli vc +recording --calendar-event-ids <event_id>
|
||||
|
||||
# 第 2 步:使用上一步返回的 minute_token 下载妙记文件
|
||||
lark-cli minutes +download --minute-tokens <minute_token>
|
||||
```
|
||||
|
||||
## 常见错误与排查
|
||||
|
||||
| 错误现象 | 根本原因 | 解决方案 |
|
||||
|---------|---------|---------|
|
||||
| `exactly one of ... is required` | 未传入参数或同时传了多种 | 只指定一种输入方式 |
|
||||
| `no recording available` | 该会议无录制或录制未完成 | 确认会议已结束且开启了录制 |
|
||||
| `121005 no permission` | 无权查看该会议录制 | 确认是会议参与者或有录制权限 |
|
||||
| `124002 recording generating` | 录制文件仍在生成中 | 等待录制完成后重试 |
|
||||
| `missing required scope(s)` | 权限不足 | 按提示运行 `auth login --scope` |
|
||||
|
||||
## 提示
|
||||
|
||||
- 默认使用 `--format json` 输出,Agent 更擅长解析 JSON 数据。
|
||||
- 排查参数与请求结构时优先使用 `--dry-run`。
|
||||
- `minute_token` 从录制 URL 尾段解析(`https://meetings.feishu.cn/minutes/{minute_token}`)。
|
||||
- 拿到 `minute_token` 后,如果要妙记基础信息,优先传给 `minutes minutes get`;如果要下载媒体文件,传给 `minutes +download`;如果要逐字稿、总结、待办、章节,再传给 `minutes +detail --minute-tokens`。
|
||||
|
||||
## 参考
|
||||
|
||||
- [lark-vc](../SKILL.md) — 视频会议全部命令
|
||||
- [lark-vc-search](lark-vc-search.md) — 搜索历史会议(获取 meeting_id)
|
||||
- [lark-minutes-detail](../../lark-minutes/references/lark-minutes-detail.md) — 获取会议纪要
|
||||
163
.agents/skills/lark-vc/references/lark-vc-search.md
Normal file
163
.agents/skills/lark-vc/references/lark-vc-search.md
Normal file
@ -0,0 +1,163 @@
|
||||
|
||||
# vc +search
|
||||
|
||||
搜索已结束的历史会议记录,支持关键词、时间范围、组织者、参与者、会议室多条件过滤。只读,仅 `--as user`。
|
||||
|
||||
## 关键词使用边界
|
||||
|
||||
`--query` 只用于真实会议关键词,例如会议主题、项目名、评审名、客户名。用户只是说"我这月参加的所有视频会议"、"最近两周我组织的所有视频会议"、"总结主要议题 / 看看参会情况"时,本质是历史会议列表和后续总结,不要把"回顾"、"所有视频会议"、"总结主要议题"等动作词放进 `--query`。这类请求应先用时间范围 + `--participant-ids` / `--organizer-ids` 搜全量候选,再按结果继续取纪要或录制信息。
|
||||
|
||||
列表阶段只负责找会议记录;总结阶段必须继续取证。若用户要求"主要议题"、"主要决策"、"参会情况",先确认搜索结果的 `meeting_id`、时间、组织者/参与者符合过滤条件,然后用 `vc +detail` 或 `minutes` 读取纪要、妙记或录制信息。没有纪要或妙记时,如实说明只能基于会议标题/参会数据汇总,不要编造议题。
|
||||
|
||||
## 典型触发表达
|
||||
|
||||
以下说法通常应优先使用 `vc +search`:
|
||||
|
||||
- 今天开过的会
|
||||
- 今天开了哪些会
|
||||
- 最近参加过哪些会
|
||||
- 我这周开过的会
|
||||
- 已结束的会议
|
||||
- 历史会议记录
|
||||
|
||||
## 命令
|
||||
|
||||
```bash
|
||||
# 关键词搜索
|
||||
lark-cli vc +search --query "周会"
|
||||
|
||||
# 查询某一天开过的会(单日查询时,start 和 end 必须填写同一天)
|
||||
lark-cli vc +search --start 2026-03-10 --end 2026-03-10
|
||||
|
||||
# 按时间范围搜索
|
||||
lark-cli vc +search --start "2026-03-10T00:00+08:00" --end "2026-03-17T00:00+08:00"
|
||||
|
||||
# 按组织者 / 参与者 / 会议室(逗号分隔)
|
||||
lark-cli vc +search --organizer-ids "ou_user1,ou_user2"
|
||||
lark-cli vc +search --participant-ids "ou_user1,ou_user2"
|
||||
lark-cli vc +search --room-ids "123,456"
|
||||
|
||||
# 多条件组合
|
||||
lark-cli vc +search --organizer-ids "ou_user1" --room-ids "123" --start "2026-03-10T00:00+08:00"
|
||||
|
||||
# 翻页
|
||||
lark-cli vc +search --query "周会" --page-token "<PAGE_TOKEN>"
|
||||
```
|
||||
|
||||
## 参数
|
||||
|
||||
| 参数 | 必填 | 说明 |
|
||||
|------|------|------|
|
||||
| `--query <text>` | 否 | 搜索关键词 |
|
||||
| `--start <time>` | 否 | 开始时间(ISO 8601 或仅日期) |
|
||||
| `--end <time>` | 否 | 结束时间(ISO 8601 或仅日期) |
|
||||
| `--organizer-ids <ids>` | 否 | 组织者 open_id 列表,逗号分隔 |
|
||||
| `--participant-ids <ids>` | 否 | 参与者 open_id 列表,逗号分隔 |
|
||||
| `--room-ids <ids>` | 否 | 会议室 ID 列表,逗号分隔 |
|
||||
| `--page-size <n>` | 否 | 每页数量,默认 `15`,最大 `30` |
|
||||
| `--page-token <token>` | 否 | 翻页标记,用于获取下一页 |
|
||||
| `--dry-run` | 否 | 预览 API 调用,不执行 |
|
||||
|
||||
## 核心约束
|
||||
|
||||
### 1. 至少提供一个过滤条件
|
||||
|
||||
所有参数均可选,但必须至少提供一个过滤条件:`--query`、`--start`、`--end`、`--organizer-ids`、`--participant-ids` 或 `--room-ids`。
|
||||
|
||||
没有真实关键词时,时间范围或人员过滤已经满足这个约束,`--query` 可以省略。
|
||||
|
||||
涉及"本月"、"最近两周"这类相对时间时,先基于执行当天计算 `"<YYYY-MM-DD>"` 占位符,再运行命令;不要沿用文档示例生成时的具体日期。
|
||||
|
||||
### 2. 仅搜索历史会议
|
||||
|
||||
`vc +search` 只能搜索已结束的历史会议记录,不用于查询未来日程。查询未来会议安排请使用 [lark-calendar](../../lark-calendar/SKILL.md)。
|
||||
|
||||
### 3. 仅支持 user 身份
|
||||
|
||||
该接口仅支持 `user` 身份,使用前需完成 `lark-cli auth login` 并具备 `vc:meeting.search:read` 权限。
|
||||
|
||||
### 4. 支持分页
|
||||
|
||||
当返回 `has_more=true` 时,使用响应中的 `page_token` 配合 `--page-token` 获取下一页结果。
|
||||
|
||||
### 5. 机器人可同时加入多个会议
|
||||
|
||||
机器人支持同时加入多个正在进行中的会议;加入新会议前,不需要先退出已经在会中的其他会议。
|
||||
|
||||
这意味着:
|
||||
|
||||
- 不要假设 bot 一次只能在一个会议中
|
||||
- 如果用户要求 bot 再加入另一场会,可以直接继续执行对应的入会命令
|
||||
- 只有在用户明确要求结束某一场会中的 bot 参会时,才调用对应的离会命令
|
||||
|
||||
### 6. 日期型 `--end` 包含当天整天
|
||||
|
||||
当 `--end` 传入的是仅日期格式(如 `2026-03-10`)时,CLI 会将它解释为当天 `23:59:59`,而不是当天 `00:00:00`。
|
||||
|
||||
这意味着:
|
||||
|
||||
- `--start 2026-03-10 --end 2026-03-10` 表示只查 `2026-03-10` 当天
|
||||
- `--start 2026-03-10 --end 2026-03-11` 表示查询 `2026-03-10` 和 `2026-03-11` 两天
|
||||
|
||||
如果用户说“昨天开过的会”“今天开过的会”“某一天开过的会”,应把 `--start` 和 `--end` 都设置为同一天,而不是把 `--end` 设成下一天。
|
||||
|
||||
## 时间格式
|
||||
|
||||
`--start` 和 `--end` 支持以下时间格式:
|
||||
|
||||
| 格式 | 示例 | 说明 |
|
||||
|------|------|------|
|
||||
| ISO 8601(带时区) | `2026-03-10T14:00:00+08:00` | 推荐 |
|
||||
| ISO 8601(不带时区) | `2026-03-10T14:00:00` | 按本地时区解析 |
|
||||
| 仅日期 | `2026-03-10` | 按天粒度解析;若用于 `--end`,表示当天 `23:59:59` |
|
||||
|
||||
## 输出结果
|
||||
|
||||
- 默认输出 JSON,包含 `items`、`has_more` 和 `page_token`。
|
||||
|
||||
## Pagination (`has_more` / `page_token`)
|
||||
|
||||
- 当结果中返回 `has_more=true` 时,说明还有更多页可继续获取。
|
||||
- 继续翻页时,使用响应中的 `page_token` 搭配 `--page-token` 发起下一次查询。
|
||||
- 不要假设调大 `--page-size` 就能拿全结果;分页遍历时应以 `has_more` 和 `page_token` 为准。
|
||||
- 未明确要求全量时,逐页累计已读取的 `items` 数:累计不到 50 条之前可自动继续翻页(`has_more=true` 即继续);超过 50 条且仍 `has_more=true` 时,先向用户确认是否继续获取全部结果。
|
||||
- 用户明确说"所有 / 全部 / 统计 / 按时间排序"时,该全量意图优先于 50 条的确认门槛;直接按 `has_more` 翻完所有页并去重,再排序或统计,不要只用第一页回答。
|
||||
|
||||
```bash
|
||||
# First page
|
||||
lark-cli vc +search --query "周会" --page-size 15
|
||||
|
||||
# Next page
|
||||
lark-cli vc +search --query "周会" --page-size 15 --page-token "<PAGE_TOKEN>"
|
||||
```
|
||||
|
||||
## 搜索结果中的下一步
|
||||
|
||||
搜索结果中的 `meeting_id` 可直接用于继续查询会议纪要或妙记:
|
||||
|
||||
```bash
|
||||
# 如果要会议纪要 / 逐字稿 / AI 总结 / 待办 / 章节
|
||||
lark-cli vc +detail --meeting-ids <MEETING_ID>
|
||||
|
||||
# 如果要会议对应的妙记信息 / minute_token / 妙记链接
|
||||
lark-cli vc +recording --meeting-ids <MEETING_ID>
|
||||
# 然后再用返回的 minute_token 调用:
|
||||
lark-cli minutes minutes get --params '{"minute_token":"<MINUTE_TOKEN>"}'
|
||||
```
|
||||
|
||||
## 常见错误与排查
|
||||
|
||||
| 错误现象 | 根本原因 | 解决方案 |
|
||||
|---------|---------|---------|
|
||||
| 命令直接报错,要求提供过滤条件 | 没有传入 `--query`、时间范围或任何过滤 ID | 至少补充一个过滤条件后重试 |
|
||||
| 时间参数校验失败 | `--start` 或 `--end` 格式不合法 | 改用 ISO 8601 或 `YYYY-MM-DD` |
|
||||
| 搜不到未来会议 | `vc +search` 只查历史会议 | 改用 [lark-calendar](../../lark-calendar/SKILL.md) 查询未来日程 |
|
||||
| 权限不足 | 未授权 `vc:meeting.search:read` | 使用 `auth login` 完成授权 |
|
||||
|
||||
## 提示
|
||||
- 必须使用 `--format json` 输出,你更佳擅长解析 JSON 数据。
|
||||
- 排查参数与请求结构时优先使用 `--dry-run`。
|
||||
- 搜索的时间范围最大为 1 个月,如果需要搜索更长时间范围的会议,需要拆分为多次时间范围为一个月查询。
|
||||
- 不要使用 `yesterday`、`today` 这类相对时间字面量;请先转换成明确日期,例如 `2026-03-10`。
|
||||
- 用户如果明确问的是“妙记信息”而不是“纪要内容”,不要默认走 `vc +detail`;应先用 `vc +recording`。
|
||||
|
||||
196
.agents/skills/lark-vc/references/vc-domain-boundaries.md
Normal file
196
.agents/skills/lark-vc/references/vc-domain-boundaries.md
Normal file
@ -0,0 +1,196 @@
|
||||
# Calendar/VC/Doc 跨领域关联关系、领域知识和职责边界说明
|
||||
|
||||
本文档说明飞书日历(Calendar)、视频会议(VC)、云文档(Doc)三个域之间的关联关系,帮助理解跨域数据流转和产物依赖。
|
||||
|
||||
## Calendar 域
|
||||
|
||||
- **lark-calendar skill** 负责日历与日程管理,包括创建、查询、修改、删除日程等操作。
|
||||
- **日程与会议的关系**:日程可以用于提前预约会议,确定会议时间、参与人、会议室、会议主题等信息。日程上可以关联飞书/Lark 视频会议。
|
||||
- **并非所有会议都通过日程发起**:即时会议不经过日程预约,直接创建。因此,仅查询日程数据无法覆盖所有会议,搜索历史会议应优先使用 `vc +search`。
|
||||
- **日程上的用户会议纪要**:用户可以在日程上绑定自己的会议纪要文档(MeetingNotes),用于手动记录会议相关信息。该文档与 AI 生成的智能纪要(`note_doc_token`)是不同的文档,相互独立。
|
||||
|
||||
> **路由规则**:查询过去已结束的会议 → `lark-vc`;查询未来日程/待开的会 → `lark-calendar`;查询"今天有哪些会议" → 两者结合(`vc +search` 查已结束 + `calendar` 查未开始)。
|
||||
|
||||
## VC 域
|
||||
|
||||
- **lark-vc skill** 负责视频会议管理,包括搜索历史会议、查询会议产物(智能纪要、逐字稿、妙记等)、查询参会人快照等操作。
|
||||
- **会议类型**:会议可以是日程会议(由日程发起,有对应的 `calendar_event_id`),也可以是即时会议等其他类型。
|
||||
|
||||
### 会议产物
|
||||
|
||||
会议产物取决于会中开启的功能,分为两条独立链路:
|
||||
|
||||
#### 链路一:开启「AI 总结」
|
||||
|
||||
会中开启「AI 总结」功能后,产生以下产物:
|
||||
|
||||
| 产物 | Token 字段 | 本质 | 说明 |
|
||||
|------|-----------|------|------|
|
||||
| 智能纪要 | `note_doc_token` | 飞书文档 | AI 生成的会议总结与待办 |
|
||||
| 逐字稿 | `verbatim_doc_token` | 飞书文档 | 完整的逐句发言记录(含说话人、时间戳)— **仅 `note_display_type=normal` 时是可读的独立文档**;`unified` 纪要的逐字稿用 `note +transcript --note-id <note_id>` 拉取(见下方 [Note 域](#note-域)) |
|
||||
| 共享文档 | `shared_doc_token` | 飞书文档 | 会中投屏共享的文档信息 |
|
||||
|
||||
> **授权特性**:智能纪要总结文档及其逐字稿文档(总结文档尾部会挂逐字稿链接与会中投屏共享文档链接)在会后**自动授权给参会人**,参会人通常可直接读取,无需额外申请。
|
||||
|
||||
此外,还存在**用户会议纪要(MeetingNotes)**,对应 `meeting_note` 字段。这是用户主动绑定到日程的纪要文档,通常用于会前记录会议相关内容,与智能纪要文档相互独立。仅通过 [`calendar +meeting --event-ids`](../../lark-calendar/references/lark-calendar-meeting.md) 路径返回。
|
||||
|
||||
#### 链路二:开启「录制」
|
||||
|
||||
会中开启「录制」功能后,产生**妙记产物**(`minute_token`)。注意:妙记不一定是会中产生的,用户上传音视频文件或录音也会产生妙记。妙记本身包含以下子产物:
|
||||
|
||||
| 子产物 | 说明 |
|
||||
|--------|------|
|
||||
| Summary(总结) | 对整场会议的智能总结 |
|
||||
| Todo(待办) | 会议中识别出的待处理任务列表 |
|
||||
| Chapter(章节) | 按讨论话题划分的核心内容摘要 |
|
||||
| Transcript(文字记录) | 整场会议最原始的逐人发言记录 |
|
||||
|
||||
> **授权特性**:妙记带有**原始会议录制视频**,会后**不会自动授权给参会人**,需管理员主动授权或参会人主动申请后才能读取(含其 Summary/Todo/Chapter/Transcript 等产物)。因此当同一场会议既有智能纪要又有妙记时,参会人访问**智能纪要及其逐字稿**的门槛通常低于妙记。
|
||||
|
||||
#### 两条链路的独立性
|
||||
|
||||
- 智能纪要(AI 总结链路)和妙记(录制链路)**相互独立、互不影响**。
|
||||
- 一场会议可能同时拥有两类产物,也可能只有其中一类,也可能都没有。
|
||||
- 当两者都存在时,Summary/Todo 内容可能重叠,应根据用户意图选择优先读取哪个。
|
||||
|
||||
> **产物选择决策**:
|
||||
> - **AI 产物 vs 原始记录**:智能总结、待办、章节都属于 AI 分析产物,可能只包含最终结论和关键信息。
|
||||
> - **用户要求"提炼/总结/重新总结/整理/回顾"会议内容时** → **内容总结必须从逐字稿/文字记录出发,基于原始对话独立分析**。禁止直接搬运 AI 纪要的总结作为最终输出——那只是对 AI 产物的重新排版,不是独立提炼。
|
||||
> - **用户要求查看待办或章节时** → **应参考 AI 产物的待办和章节**,因为 AI 产物的待办更友好(包含提出人和负责人),章节按话题划分更结构化。
|
||||
> - **用户只想直接看 AI 总结结果** → 使用 AI 产物的总结。
|
||||
> - **智能纪要 vs 妙记的选择规则**(适用于总结、待办、逐字稿等重复产物,含逐字稿/原始记录):
|
||||
> - **只存在一类产物** → 用存在的那一类。
|
||||
> - **两类都存在、用户明确指定了其中一类**(如"看妙记的逐字稿""用妙记总结")→ **语义指向哪个就走哪个链路,不要自作主张改道**。
|
||||
> - **两类都存在、用户未指定** → **默认用智能纪要及其逐字稿**(智能纪要及逐字稿会后自动授权给参会人,访问门槛更低;妙记含原始录制视频、不自动授权,需申请)。
|
||||
|
||||
|
||||
#### 逐字稿与文字记录的格式
|
||||
|
||||
智能纪要的逐字稿(`normal` 纪要的 `verbatim_doc_token` 文档、`unified` 纪要的 `note +transcript` 输出)和妙记的文字记录(Transcript)都记录了用户原始对话内容,格式一致:
|
||||
|
||||
```
|
||||
发言人名称 相对时间戳
|
||||
<发言内容>
|
||||
```
|
||||
|
||||
示例:
|
||||
|
||||
```
|
||||
张三 00:00:00.195
|
||||
我们接下来讨论一下项目进度。
|
||||
```
|
||||
|
||||
- 第一行为发言人信息,包含用户名称和发言的相对时间(从会议开始计算的偏移量)。
|
||||
- 后续行为该发言人的发言内容,直到下一个发言人标记出现。
|
||||
|
||||
### 会议总结和分析流程
|
||||
|
||||
#### Step 1: 定位会议
|
||||
|
||||
根据关键字、组织者、参与人、会议室等条件搜索会议,获取会议列表。
|
||||
|
||||
> **不要把纪要标题当会议线索:** 如果用户说“查询 xx 纪要的逐字稿 / 原始记录 / 谁说了什么”,且没有 `meeting_id`、`calendar_event_id`、会议号、参会人或时间范围,先用 `drive +search --query <标题>` 搜索纪要文档,拿到 Docx URL/token 后再 `docs +fetch`。若返回 `<vc-transcribe-tab vc-node-id="...">`,提取 `note_id` 后进入 Note 域判断 `normal` / `unified`;若没有该 block,但有“文字记录/逐字稿” Docx 链接,直接用 `docs +fetch` 读取该链接。
|
||||
|
||||
```bash
|
||||
lark-cli vc +search --start "<YYYY-MM-DD>" --end "<YYYY-MM-DD>" --format json
|
||||
```
|
||||
|
||||
详细用法请阅读 [`lark-vc-search.md`](lark-vc-search.md)。
|
||||
|
||||
#### Step 2: 根据 meeting_id 查询产物
|
||||
|
||||
##### 获取会议产物
|
||||
|
||||
当用户提供 `meeting_id` 并需要会议产物时,先用 `vc +detail` 拿到 `note_id` 和 `minute_token`:
|
||||
|
||||
```bash
|
||||
lark-cli vc +detail --meeting-ids '<meeting_id1>,<meeting_id2>'
|
||||
```
|
||||
|
||||
详细用法请阅读 [`lark-vc-detail.md`](lark-vc-detail.md)。
|
||||
|
||||
**优先路径:通过 `note_id` 获取纪要产物**
|
||||
|
||||
如果用户未明确要求使用妙记,且返回了 `note_id`,**优先**使用 `note +detail` 获取纪要文档的 token 信息:
|
||||
|
||||
```bash
|
||||
lark-cli note +detail --note-id <note_id>
|
||||
```
|
||||
|
||||
可获取会议的所有产物信息,包括:
|
||||
- 纪要标识(`note_id`)与展示类型(`note_display_type`:`unknown` / `normal` / `unified`)— 决定逐字稿走哪条路由
|
||||
- 智能纪要(`note_doc_token`)— AI 生成的总结和待办信息
|
||||
- 逐字稿(`verbatim_doc_token`)— 完整的会中发言记录(仅 `normal` 纪要可直接读取该文档)
|
||||
- 共享文档(`shared_doc_token`)— 会中投屏共享的文档
|
||||
|
||||
拿到文档 token 后,再通过 Doc 域 `docs +fetch` 拉取文档正文内容(见 Step 3)。详细用法请阅读 [`lark-note-detail.md`](../../lark-note/references/lark-note-detail.md)。
|
||||
|
||||
**备选路径:通过 `minute_token` 获取妙记产物**
|
||||
|
||||
如果 `note_id` 为空,或用户明确要求使用妙记产物,则使用 `minutes +detail` 获取妙记的具体产物:
|
||||
|
||||
```bash
|
||||
# 必须显式指定要获取的产物 flag,至少传一个;不传则不会返回任何产物内容
|
||||
lark-cli minutes +detail --minute-tokens '<minute_token1>,<minute_token2>' \
|
||||
--summary --todo --chapter --keyword --transcript
|
||||
```
|
||||
|
||||
> **注意**:`minutes +detail` 需要**手动指定**要获取的产物 flag,可选 `--summary`(总结)、`--todo`(待办)、`--chapter`(章节)、`--keyword`(关键词)、`--transcript`(文字记录)。**未传任何产物 flag 时不会返回产物内容**,请按用户诉求按需指定。详细用法请阅读 [`lark-minutes-detail.md`](../../lark-minutes/references/lark-minutes-detail.md)。
|
||||
|
||||
#### Step 3: 按 `note_display_type` 拉取正文 / 逐字稿
|
||||
|
||||
智能纪要(`note_doc_token`)是飞书文档,使用 `docs +fetch` 读取正文内容;**逐字稿的读取方式由 `note_display_type` 决定**:
|
||||
|
||||
```bash
|
||||
# 纪要正文(两种展示类型都适用)
|
||||
lark-cli docs +fetch --doc <note_doc_token> --doc-format markdown
|
||||
|
||||
# note_display_type=normal:逐字稿是独立文档
|
||||
lark-cli docs +fetch --doc <verbatim_doc_token> --doc-format markdown
|
||||
|
||||
# note_display_type=unified:逐字稿不是独立文档,按 note_id 拉取
|
||||
lark-cli note +transcript --note-id <note_id>
|
||||
```
|
||||
|
||||
详细用法请参考 [lark-doc](../../lark-doc/SKILL.md) 与 [lark-note](../../lark-note/SKILL.md) skill。
|
||||
|
||||
#### Step 4: 判断用户需要的产物内容
|
||||
|
||||
- 根据用户诉求(总结/待办/章节/完整发言记录等),选择合适的产物进行分析和信息提取
|
||||
- 如果两种产物都不存在或没有权限,需如实告知用户
|
||||
|
||||
## Note 域
|
||||
|
||||
- VC 只负责从 `meeting_id` 定位会议产物和 `note_id` / `minute_token`([`vc +detail`](lark-vc-detail.md))。
|
||||
- 已知 `note_id` 后切到 [lark-note](../../lark-note/SKILL.md);逐字稿路由以 `lark-note` 的 `note_display_type` 规则为准。
|
||||
- 已知 `minute_token` 时,[`minutes +detail`](../../lark-minutes/references/lark-minutes-detail.md) 顶层会一并返回该妙记关联的 `note_id`(如有);可直接传给 `note +detail` 取纪要文档 token,无需绕回 VC。
|
||||
- 仅有日程 `event_id` 时,先走 [`calendar +meeting`](../../lark-calendar/references/lark-calendar-meeting.md) 拿到 `meeting_id` 或用户绑定的 `meeting_note`,再按上述路径继续。
|
||||
- 只有自然语言纪要标题时,先走文档搜索与 `docs +fetch`;只有 `<vc-transcribe-tab vc-node-id="...">` 的 `vc-node-id` 可以进入 Note 域。
|
||||
- `doc_token` / Docx URL 不是 `note_id`。没有 `vc-node-id` 时不要反推 Note,继续按 Doc 域读取正文或正文中明确给出的逐字稿文档。
|
||||
|
||||
## Doc 域
|
||||
|
||||
- **lark-doc skill** 负责飞书云文档管理,包括获取文档元信息、读取文档内容、创建和编辑文档等操作。
|
||||
- **会议产物的文档本质**:智能纪要(`note_doc_token`)和 `normal` 纪要的逐字稿(`verbatim_doc_token`)都是飞书文档,需要通过 `lark-doc` 的 API(如 `docs +fetch`)查询其内容和元信息;`unified` 纪要的逐字稿不是独立文档,用 `note +transcript` 拉取([lark-note](../../lark-note/SKILL.md))。
|
||||
- **文档元信息查询**:获取文档名称、URL 等基本信息时,使用 `drive metas batch_query`;获取文档正文内容时,使用 `docs +fetch`。
|
||||
|
||||
## 三域关联总览
|
||||
|
||||
```
|
||||
Calendar (日程) ──── 发起预约 ────► VC (会议)
|
||||
│
|
||||
┌──────────────────┤
|
||||
│ │
|
||||
AI 总结链路 录制链路
|
||||
│ │
|
||||
▼ ▼
|
||||
智能纪要 (Doc) 妙记 (Minutes)
|
||||
逐字稿 (Doc) ├── Summary
|
||||
共享文档 (Doc) ├── Todo
|
||||
用户纪要 (Doc) ├── Chapter
|
||||
└── Transcript
|
||||
```
|
||||
|
||||
- Calendar 提供会议预约入口,但并非所有会议都来自日程。
|
||||
- VC 是会议数据的中心,管理会议记录和产物关联。
|
||||
- Doc 是会议产物的载体,智能纪要和逐字稿都以飞书文档形式沉淀,需通过 Doc 域 API 读取。
|
||||
Reference in New Issue
Block a user