PicoBot/skills/lark-vc/references/lark-vc-notes.md
ooodc a7883dbed9 refactor(todo): 重构待办事项管理逻辑及更新状态规则
- 移除 TodoItem 中的 priority、created_at 和 updated_at 字段
- 强制每个任务都必须有唯一 id,且由用户负责生成
- 修改合并模式逻辑,merge=true 下保留未提及的旧任务
- 支持已完成和已取消任务重新激活(状态改回 pending 或 in_progress)
- 禁止 in_progress 状态退回到 pending,必须标记为 completed 或 cancelled
- 优化状态转换校验,允许特定状态间合法切换
- 简化任务变更消息,移除详细的新增/更新/移除统计
- 更新文档和示例,明确 id 必须由用户生成和使用
- 修复和补充测试,增强状态转换和合并模式验证
- 调整任务时间戳生成逻辑,统一使用当前时间及索引
- 该变更提供更合理的任务状态机械及管理模式,提升稳定性和易用性
2026-06-13 09:22:33 +08:00

8.1 KiB
Raw Blame History

vc +notes

前置条件: 先阅读 ../lark-shared/SKILL.md 了解认证、全局参数和安全规则。

查询会议纪要,支持通过会议 ID、妙记 Token 或日程事件 ID 获取纪要文档、逐字稿、AI 总结、待办和章节。只读操作。

本 skill 对应 shortcutlark-cli vc +notes

命令

# 通过会议 ID 查询(逗号分隔支持批量,最多 50 个)
lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28
lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28,69xxxxxxxxxxxxx29

# 通过妙记 Token 查询(从妙记 URL 中提取)
lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx
lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx,obbyyyyyyyyyyyyyyyyyy

# 指定逐字稿输出目录(仅 --minute-tokens 路径有效)
lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx --output-dir ./output
lark-cli vc +notes --minute-tokens obbxxxxxxxxxxxxxxxxxx --overwrite

# 通过日程事件 ID 查询(从 calendar +agenda 获取 event_id
lark-cli vc +notes --calendar-event-ids xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx_0

# 输出格式
lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28 --format json

# 预览 API 调用
lark-cli vc +notes --meeting-ids 69xxxxxxxxxxxxx28 --dry-run

参数

参数 必填 说明
--meeting-ids <ids> 三选一 会议 ID逗号分隔支持批量
--minute-tokens <tokens> 三选一 妙记 Token逗号分隔支持批量
--calendar-event-ids <ids> 三选一 日程事件 ID逗号分隔支持批量
--output-dir <dir> 逐字稿输出目录。未指定时默认落到 ./minutes/{minute_token}/transcript.txt(与 minutes +download 共享目录);显式指定时沿用旧布局 ./{output-dir}/artifact-{title}-{token}/transcript.txt。仅 --minute-tokens 路径有效
--overwrite 覆盖已存在的逐字稿文件,仅 --minute-tokens 路径有效
--dry-run 预览 API 调用,不执行

核心约束

1. 三种参数互斥

每次只能指定一种输入方式。同时传入多种会报错。

2. 仅支持 user 身份

该命令仅支持 user 身份,使用前需完成 lark-cli auth login

3. 批量上限

每次最多传入 50 个 ID/Token。

4. 按路径检查权限

不同输入方式需要不同权限,命令会自动检查对应路径所需的 scope

输入 所需权限
--meeting-ids vc:meeting.meetingevent:readvc:note:readvc:record:readonly
--minute-tokens vc:note:readminutes:minutes:readonlyminutes:minutes.artifacts:readminutes:minutes.transcript:export
--calendar-event-ids calendar:calendar:readcalendar:calendar.event:readvc:meeting.meetingevent:readvc:note:readvc:record:readonly

输出结果

有纪要文档时

返回 notes 数组,每条记录包含:

字段 说明
meeting_id 会议 ID--meeting-ids / --calendar-event-ids 路径)
minute_token 会议对应的妙记 Token--meeting-ids / --calendar-event-ids 路径自动通过录制 API 反查并附加)
note_id 纪要 ID — 用于继续进入 Note 域(note +detail / note +transcript
note_display_type 纪要展示类型unknown / normal / unified,区分普通纪要和 unified 纪要
note_doc_token AI 智能纪要文档 Token — AI 生成的总结、待办、章节
meeting_notes 用户绑定的会议纪要文档 Token 列表 — 用户主动关联到会议的文档(仅 --calendar-event-ids 路径返回)
verbatim_doc_token 逐字稿文档 Token — 完整的逐句文字记录含说话人和时间戳unified 纪要的逐字稿请改用 note +transcript
shared_doc_tokens 会中共享文档 Token 列表
creator_id 创建者 ID
create_time 创建时间(格式化)

选择哪个 token 用户说"会议纪要""总结""待办""纪要内容" → 返回 note_doc_tokenmeeting_notes(如有)。用户说"逐字稿""完整记录""谁说了什么" → 见下方「按 note_display_type 路由逐字稿」。意图不明确时,展示所有文档链接让用户选择。

📌 不确定该返回哪个 token参见 vc-domain-boundaries.md 的产物链路对比表,了解 AI 总结链路 vs 录制链路的区别。

note_display_type 路由逐字稿 / 原始记录

逐字稿走哪条路由由 note_display_type 决定,不要只看 verbatim_doc_token 是否为空

字段 / 条件 Agent 动作
用户要纪要正文 / 总结 / 待办 / 章节 docs +fetch --api-version v2 --doc <note_doc_token>
note_display_type=normal + 用户要逐字稿 docs +fetch --api-version v2 --doc <verbatim_doc_token>
note_display_type=unknown + verbatim_doc_token 非空 + 用户要逐字稿 docs +fetch --api-version v2 --doc <verbatim_doc_token>;不要猜成 unified
note_display_type=unknown + 无可用逐字稿 token note +detail --note-id <note_id> 复核,再按返回的展示类型路由
note_display_type=unified + 用户要逐字稿 / 原始记录 note +transcript --note-id <note_id> → 切到 lark-note
minute_token 存在 + 用户要音视频媒体 minutes +download --minute-tokens <minute_token>

unified 纪要的逐字稿不是独立文档,必须用 note +transcriptnote_id 拉取,输出更结构化。即使 unified 也返回了非空 verbatim_doc_token,仍以 note_display_type 为准。

minute-tokens 路径的 AI 产物

通过 --minute-tokens 查询时,返回的 artifacts 字段包含 AI 内置产物:

字段 说明
artifacts.summary AI 总结JSON 内联)
artifacts.todos 待办事项JSON 内联,只读);每条含 contentis_donetodo_idtodo_id 仅供 minutes +todo 更新/删除待办时使用,不必展示给用户。新建妙记内待办请用 minutes +todo,不要用 lark-task
artifacts.chapters 章节纪要JSON 内联)
artifacts.keywords 妙记推荐关键词JSON 内联)
artifacts.transcript_file 逐字稿本地文件路径。默认落到 ./minutes/{minute_token}/transcript.txt(与 minutes +download 聚合);显式 --output-dir 时走旧布局 ./{output-dir}/artifact-{title}-{token}/transcript.txt

如何获取输入参数

输入参数 获取方式
meeting_id vc +search 搜索历史会议 → 结果中的 id 字段
minute_token 从妙记 URL 中提取,如 https://sample.feishu.cn/minutes/obbyyyyyyyyyyyyyyyyyyobbyyyyyyyyyyyyyyyyyy
calendar_event_id calendar +agenda 查看日程 → 结果中的 event_id 字段

常见错误与排查

错误现象 根本原因 解决方案
exactly one of ... is required 未传入参数或同时传了多种 只指定一种输入方式
no notes available for this meeting 该会议未生成纪要 尝试用 --minute-tokens 路径
121005 no permission 非会议参与者无权查看 使用 --minute-tokens 降级到内置产物
missing required scope(s) 权限不足 按提示运行 auth login --scope
too many IDs 超过批量上限 分批查询,每批最多 50 个

提示

  • 默认使用 --format json 输出,你更佳擅长解析 JSON 数据。
  • 排查参数与请求结构时优先使用 --dry-run
  • --meeting-ids--calendar-event-ids 路径最终都走纪要详情 API需要 vc:note:read 权限。
  • --minute-tokens 路径无纪要权限时会自动降级,不会报错,而是下载内置产物到本地。

参考