- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段 - 强制每个任务都必须有唯一 id,且由用户负责生成 - 修改合并模式逻辑,merge=true 下保留未提及的旧任务 - 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress) - 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled - 优化状态转换校验,允许特定状态间合法切换 - 简化任务变更消息,移除详细的新增/更新/移除统计 - 更新文档和示例,明确 id 必须由用户生成和使用 - 修复和补充测试,增强状态转换和合并模式验证 - 调整任务时间戳生成逻辑,统一使用当前时间及索引 - 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
154 lines
5.7 KiB
Markdown
154 lines
5.7 KiB
Markdown
|
||
# vc +recording
|
||
|
||
> **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
|
||
|
||
通过 meeting_id 或 calendar_event_id 查询对应的 minute_token。这是 VC 域和 Minutes 域之间的桥梁命令。只读操作。
|
||
|
||
> **边界提醒:** 如果用户明确要的是"妙记信息""妙记详情""妙记链接""minute_token""标题""时长""owner"这类妙记元信息,先用本命令拿到 `minute_token`,再调用 `minutes minutes get`。不要直接切到 `vc +notes`;`vc +notes` 只用于纪要内容和逐字稿。
|
||
|
||
本 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 获取完整纪要
|
||
lark-cli vc +notes --minute-tokens <minute_token>
|
||
```
|
||
|
||
### 场景 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`;如果要逐字稿、总结、待办、章节,再传给 `vc +notes --minute-tokens`。
|
||
|
||
## 参考
|
||
|
||
- [lark-vc](../SKILL.md) — 视频会议全部命令
|
||
- [lark-vc-search](lark-vc-search.md) — 搜索历史会议(获取 meeting_id)
|
||
- [lark-vc-notes](lark-vc-notes.md) — 获取会议纪要
|
||
- [lark-shared](../../lark-shared/SKILL.md) — 认证和全局参数
|