@amaster.ai/pi-lark 0.1.8 → 0.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +1 -3
  2. package/package.json +2 -2
  3. package/skills/lark-apps/SKILL.md +3 -1
  4. package/skills/lark-apps/references/lark-apps-cache.md +38 -5
  5. package/skills/lark-apps/references/lark-apps-db.md +130 -2
  6. package/skills/lark-apps/references/lark-apps-user-id-convert.md +63 -0
  7. package/skills/lark-base/SKILL.md +172 -167
  8. package/skills/lark-base/references/{lark-base-role-guide.md → lark-base-advanced-permission-and-role.md} +5 -5
  9. package/skills/lark-base/references/lark-base-app-block-data-config.md +122 -0
  10. package/skills/lark-base/references/lark-base-app.md +243 -0
  11. package/skills/lark-base/references/lark-base-cell-value.md +26 -19
  12. package/skills/lark-base/references/{dashboard-block-data-config.md → lark-base-dashboard-block-config.md} +65 -6
  13. package/skills/lark-base/references/lark-base-dashboard-block-get-data.md +1 -1
  14. package/skills/lark-base/references/lark-base-dashboard.md +38 -20
  15. package/skills/lark-base/references/lark-base-data-analysis-pandas.md +93 -0
  16. package/skills/lark-base/references/lark-base-data-analysis-python-stdlib.md +120 -0
  17. package/skills/lark-base/references/lark-base-data-query.md +8 -11
  18. package/skills/lark-base/references/lark-base-field-create.md +7 -50
  19. package/skills/lark-base/references/{formula-field-guide.md → lark-base-field-formula.md} +1 -1
  20. package/skills/lark-base/references/{lookup-field-guide.md → lark-base-field-lookup.md} +1 -1
  21. package/skills/lark-base/references/{lark-base-field-json.md → lark-base-field-schema.md} +25 -101
  22. package/skills/lark-base/references/lark-base-field-update.md +13 -51
  23. package/skills/lark-base/references/lark-base-filter-condition.md +19 -31
  24. package/skills/lark-base/references/lark-base-form-questions-create.md +36 -5
  25. package/skills/lark-base/references/lark-base-record-batch-create.md +5 -1
  26. package/skills/lark-base/references/lark-base-record-batch-update.md +5 -2
  27. package/skills/lark-base/references/lark-base-record-history-list.md +19 -2
  28. package/skills/lark-base/references/lark-base-record-query-and-analysis-cloud-sop.md +145 -0
  29. package/skills/lark-base/references/lark-base-record-query-and-analysis-sop.md +233 -0
  30. package/skills/lark-base/references/{role-config.md → lark-base-role-config.md} +2 -2
  31. package/skills/lark-base/references/lark-base-template-center.md +195 -0
  32. package/skills/lark-base/references/lark-base-view-set-filter.md +1 -1
  33. package/skills/lark-base/references/lark-base-workflow-schema.md +2 -2
  34. package/skills/lark-base/references/{lark-base-workflow-guide.md → lark-base-workflow.md} +1 -1
  35. package/skills/lark-calendar/SKILL.md +11 -6
  36. package/skills/lark-calendar/references/lark-calendar-create.md +4 -3
  37. package/skills/lark-calendar/references/lark-calendar-transfer.md +89 -0
  38. package/skills/lark-doc/SKILL.md +3 -3
  39. package/skills/lark-doc/references/lark-doc-fetch.md +9 -4
  40. package/skills/lark-doc/references/lark-doc-update.md +12 -8
  41. package/skills/lark-drive/SKILL.md +5 -3
  42. package/skills/lark-drive/references/lark-drive-add-comment.md +2 -2
  43. package/skills/lark-drive/references/lark-drive-download.md +27 -1
  44. package/skills/lark-drive/references/lark-drive-export.md +1 -0
  45. package/skills/lark-drive/references/lark-drive-member-remove.md +59 -0
  46. package/skills/lark-drive/references/lark-drive-preview.md +21 -2
  47. package/skills/lark-drive/references/lark-drive-push.md +5 -1
  48. package/skills/lark-drive/references/lark-drive-search.md +2 -0
  49. package/skills/lark-im/SKILL.md +14 -3
  50. package/skills/lark-im/references/lark-im-message-read-status.md +96 -0
  51. package/skills/lark-mail/references/lark-mail-draft-create.md +12 -12
  52. package/skills/lark-mail/references/lark-mail-forward.md +17 -17
  53. package/skills/lark-mail/references/lark-mail-reply-all.md +8 -8
  54. package/skills/lark-mail/references/lark-mail-reply.md +6 -6
  55. package/skills/lark-mail/references/lark-mail-send.md +20 -20
  56. package/skills/lark-mail/references/lark-mail-template-create.md +7 -6
  57. package/skills/lark-mail/references/lark-mail-template-update.md +7 -6
  58. package/skills/lark-meeting/SKILL.md +146 -0
  59. package/skills/lark-meeting/references/lark-minutes-apply-permission.md +92 -0
  60. package/skills/lark-meeting/references/lark-minutes-detail.md +52 -0
  61. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-download.md +7 -7
  62. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-search.md +4 -34
  63. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-speaker-replace.md +3 -4
  64. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-summary.md +2 -5
  65. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-todo.md +5 -15
  66. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-update.md +2 -3
  67. package/skills/lark-meeting/references/lark-minutes-upload.md +65 -0
  68. package/skills/lark-meeting/references/lark-note-detail.md +15 -0
  69. package/skills/{lark-note → lark-meeting}/references/lark-note-transcript.md +5 -9
  70. package/skills/{lark-vc-agent → lark-meeting}/references/lark-vc-agent-meeting-join.md +4 -55
  71. package/skills/{lark-vc-agent → lark-meeting}/references/lark-vc-agent-meeting-leave.md +2 -41
  72. package/skills/lark-meeting/references/lark-vc-detail.md +31 -0
  73. package/skills/{lark-vc-agent/references/lark-vc-agent-meeting-events.md → lark-meeting/references/lark-vc-meeting-events.md} +120 -109
  74. package/skills/{lark-vc-agent/references/lark-vc-agent-meeting-list-active.md → lark-meeting/references/lark-vc-meeting-list-active.md} +4 -29
  75. package/skills/{lark-vc-agent/references/lark-vc-agent-meeting-message-send.md → lark-meeting/references/lark-vc-meeting-message-send.md} +3 -5
  76. package/skills/{lark-vc → lark-meeting}/references/lark-vc-recording.md +5 -64
  77. package/skills/{lark-vc → lark-meeting}/references/lark-vc-search.md +9 -28
  78. package/skills/lark-meeting/scenes/create-and-edit-minutes.md +125 -0
  79. package/skills/lark-meeting/scenes/live-meeting-attend.md +107 -0
  80. package/skills/lark-meeting/scenes/live-meeting-interact.md +72 -0
  81. package/skills/lark-meeting/scenes/query-meeting-and-artifacts.md +90 -0
  82. package/skills/lark-meeting/scenes/query-minutes-and-artifacts.md +70 -0
  83. package/skills/lark-meeting/scenes/query-note-and-artifacts.md +127 -0
  84. package/skills/lark-minutes/SKILL.md +5 -197
  85. package/skills/lark-note/SKILL.md +5 -84
  86. package/skills/lark-shared/SKILL.md +25 -188
  87. package/skills/lark-shared/references/lark-shared-config-init.md +12 -0
  88. package/skills/lark-shared/references/lark-shared-high-risk-approval.md +38 -0
  89. package/skills/lark-shared/references/lark-shared-identity-and-permissions.md +105 -0
  90. package/skills/lark-shared/references/lark-shared-output-contract.md +17 -0
  91. package/skills/lark-shared/references/lark-shared-update-notice.md +23 -0
  92. package/skills/lark-slides/SKILL.md +56 -54
  93. package/skills/lark-slides/references/cli/lark-slides-add-slide.md +92 -0
  94. package/skills/lark-slides/references/cli/lark-slides-create.md +176 -0
  95. package/skills/lark-slides/references/cli/lark-slides-delete-slide.md +65 -0
  96. package/skills/lark-slides/references/cli/lark-slides-history.md +132 -0
  97. package/skills/lark-slides/references/cli/lark-slides-media-upload.md +103 -0
  98. package/skills/lark-slides/references/cli/lark-slides-replace-slide.md +259 -0
  99. package/skills/lark-slides/references/cli/lark-slides-screenshot.md +115 -0
  100. package/skills/lark-slides/references/{lark-slides-update-slide.md → cli/lark-slides-update-slide.md} +21 -4
  101. package/skills/lark-slides/references/cli/lark-slides-xml-presentation-slide-get.md +110 -0
  102. package/skills/lark-slides/references/cli/lark-slides-xml-presentation-slide-replace.md +188 -0
  103. package/skills/lark-slides/references/cli/lark-slides-xml-presentations-get.md +157 -0
  104. package/skills/lark-slides/references/iconpark-index.json +5 -41901
  105. package/skills/lark-slides/references/iconpark.md +3 -44
  106. package/skills/lark-slides/references/lark-slides-add-slide.md +3 -90
  107. package/skills/lark-slides/references/lark-slides-create.md +3 -174
  108. package/skills/lark-slides/references/lark-slides-delete-slide.md +3 -63
  109. package/skills/lark-slides/references/lark-slides-edit-workflows.md +3 -141
  110. package/skills/lark-slides/references/lark-slides-history.md +3 -130
  111. package/skills/lark-slides/references/lark-slides-media-upload.md +3 -102
  112. package/skills/lark-slides/references/lark-slides-pptx-template-workflows.md +3 -83
  113. package/skills/lark-slides/references/lark-slides-replace-slide.md +3 -256
  114. package/skills/lark-slides/references/lark-slides-screenshot.md +3 -113
  115. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-get.md +3 -108
  116. package/skills/lark-slides/references/lark-slides-xml-presentation-slide-replace.md +3 -186
  117. package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +3 -155
  118. package/skills/lark-slides/references/planning-layer.md +1 -1
  119. package/skills/lark-slides/references/slides_chart_demo.xml +5 -1415
  120. package/skills/lark-slides/references/slides_xml_schema_definition.xml +3 -3512
  121. package/skills/lark-slides/references/troubleshooting.md +3 -60
  122. package/skills/lark-slides/references/validation-checklist.md +3 -154
  123. package/skills/lark-slides/references/workflow/error-handling.md +62 -0
  124. package/skills/lark-slides/references/workflow/slides-editing.md +143 -0
  125. package/skills/lark-slides/references/workflow/template-editing.md +85 -0
  126. package/skills/lark-slides/references/workflow/validation-xml.md +156 -0
  127. package/skills/lark-slides/references/xml/iconpark-index.json +37458 -0
  128. package/skills/lark-slides/references/xml/iconpark.md +46 -0
  129. package/skills/lark-slides/references/xml/slides_chart_demo.xml +1415 -0
  130. package/skills/lark-slides/references/xml/slides_xml_schema_definition.xml +3601 -0
  131. package/skills/lark-slides/references/xml/xml-schema-quick-ref.md +497 -0
  132. package/skills/lark-slides/references/xml-schema-quick-ref.md +3 -495
  133. package/skills/lark-slides/scripts/iconpark_tool.py +1 -1
  134. package/skills/lark-slides/scripts/xml_lint.py +2989 -0
  135. package/skills/lark-slides/scripts/xml_lint_test.py +4720 -0
  136. package/skills/lark-slides/scripts/xml_text_overlap_lint.py +3 -2975
  137. package/skills/lark-slides/scripts/xml_text_overlap_lint_test.py +5 -4712
  138. package/skills/lark-task/SKILL.md +13 -1
  139. package/skills/lark-task/references/lark-task-create.md +3 -1
  140. package/skills/lark-vc/SKILL.md +5 -195
  141. package/skills/lark-vc-agent/SKILL.md +5 -191
  142. package/skills/lark-wiki/SKILL.md +3 -1
  143. package/skills/lark-wiki/references/lark-wiki-node-copy.md +5 -19
  144. package/skills/lark-wiki/references/lark-wiki-node-create.md +19 -2
  145. package/skills/lark-wiki/references/lark-wiki-node-get.md +15 -0
  146. package/skills/lark-wiki/references/lark-wiki-node-list.md +1 -1
  147. package/skills/lark-workflow-meeting-summary/SKILL.md +20 -13
  148. package/skills/lark-base/references/lark-base-data-analysis-sop.md +0 -210
  149. package/skills/lark-base/references/lark-base-data-query-guide.md +0 -69
  150. package/skills/lark-base/references/lark-base-record-upsert.md +0 -63
  151. package/skills/lark-minutes/references/lark-minutes-detail.md +0 -62
  152. package/skills/lark-minutes/references/lark-minutes-upload.md +0 -104
  153. package/skills/lark-note/references/lark-note-detail.md +0 -26
  154. package/skills/lark-vc/references/lark-vc-detail.md +0 -44
  155. package/skills/lark-vc/references/vc-domain-boundaries.md +0 -196
@@ -0,0 +1,146 @@
1
+ ---
2
+ name: lark-meeting
3
+ version: 1.0.0
4
+ description: "飞书视频会议:查询会议记录与会议产物(纪要/逐字稿/妙记)、妙记搜索/上传/下载/编辑、机器人参与会议;查询进行中的会议、实时会议内容(发言/聊天/共享文档)问答(会上/会里)、发送会中聊天/表情;基于 meeting_id、meeting_no、event_id、note_id、minute_token、vc-node-id 或妙记 URL 查询相关信息。预约会议、忙闲和会议室管理走 lark-calendar。"
5
+ metadata:
6
+ requires:
7
+ bins: ["lark-cli"]
8
+ cliHelp: "lark-cli vc --help;lark-cli minutes --help;lark-cli note --help"
9
+ ---
10
+
11
+ # lark-meeting
12
+
13
+ 飞书视频会议业务的统一入口,支持查询会议记录、实时会议互动、管理妙记、阅读智能纪要等操作。本技能负责领域关系、任务路由和跨命令编排。
14
+
15
+ 无需预读 [`lark-shared`](../lark-shared/SKILL.md) 或预跑 `auth status --verify`,仅遇到未认证、token / 身份或 scope 错误时读取该 Skill,修复后重试。认证、身份或 scope 管理请求则直接使用该 Skill。
16
+
17
+ ## 身份初始化与延续
18
+
19
+ 把 `source_identity` 作为跨命令工作流的状态:
20
+
21
+ 1. 上下文已有来源身份:严格沿用。用户要求切换时先说明身份连续性和权限影响,不静默切换。
22
+ 2. 没有来源身份,用户明确指定身份:使用用户指定的 `--as`。
23
+ 3. 没有来源身份且用户未指定:操作语义明确要求应用机器人时使用 `--as bot`,否则显式使用 `--as user`。
24
+
25
+ 确定 `source_identity` 后,再检查目标命令是否支持该身份:
26
+
27
+ - 支持:显式传入并继续执行。
28
+ - 不支持:说明限制并停止;不要为了让命令成功而替换身份。
29
+ - 只有用户明确同意切换身份后,才以新身份重新开始一条工作流。
30
+
31
+ ## 领域模型与概念
32
+
33
+ ```text
34
+ [会议来源]
35
+
36
+ Calendar 日程 (event_id) ──预约或关联──┐
37
+ 即时会议(无 event_id)────────────────┴──► 会议 (meeting_id)
38
+
39
+ Calendar 日程 ──meeting_note────────────► Doc(用户纪要,独立于 AI 智能纪要)
40
+
41
+ [会议产物]
42
+
43
+ 会议 (meeting_id)
44
+ ├── AI 总结 ──► Note 智能纪要 (note_id)
45
+ │ ├── 智能纪要文档 ───────────► Doc (note_doc_token)
46
+ │ ├── 逐字稿
47
+ │ │ ├── normal ──────────► Doc (verbatim_doc_token)
48
+ │ │ └── unified ──────────► note +transcript(非独立 Doc)
49
+ │ └── 共享文档 ──────────────► Doc (shared_doc_tokens)
50
+ │
51
+ └── 录制 ──► Minutes 妙记 (minute_token)
52
+ ├── AI 产物:Summary / Todo / Chapter / Keyword
53
+ ├── Transcript(文字记录)
54
+ └── 原始音视频
55
+
56
+ 本地音视频 ─────────────────────────────► Minutes 妙记 (minute_token)
57
+ ```
58
+
59
+ | 对象 | 主标识 | 概念与关系 |
60
+ |---|---|---|
61
+ | Calendar 日程 | `event_id` | 日历上的日程,包含时间、参与人、会议室和 RSVP,可预约或关联 VC 会议;不是完整的会议记录。日程上的 `meeting_note` 是用户手工绑定的 Doc,与 AI 智能纪要无关。 |
62
+ | Meeting 会议 | `meeting_id` | 实际发生的视频会议,可以来自 Calendar,也可以是没有日程的即时会议。会议主题、时间、参会人快照和会中事件属于会议数据;Note 与 Minutes 是它可能关联的会后产物。 |
63
+ | Note 智能纪要 | `note_id` | 开启 AI 总结后形成的逻辑产物集合。`note_display_type` 决定获取逐字稿中文字记录的不同方式。 |
64
+ | Minutes 妙记 | `minute_token` | 由会议录制或本地音视频上传生成,包含总结、待办、章节、关键词、文字记录和原始音视频;可以关联 VC 会议,也可以独立存在。 |
65
+ | Doc 文档 | Doc token | 内容载体,不是会议标识。`note_doc_token`、`shared_doc_tokens` 和部分 `verbatim_doc_token` 指向 Doc;Doc token 不能当作 `note_id` 或 `meeting_id`。 |
66
+
67
+ ### 核心标识
68
+
69
+ - `meeting_id`:会议 ID。长数字字符串,不是 9 位会议号。
70
+ - `meeting_no`:会议号。9 位纯数字;CLI 参数名为 `--meeting-number`。
71
+ - `minute_token`:妙记 Token。小写字母数字串,通常取自妙记 URL `/minutes/<minute_token>`。
72
+
73
+ 以上标识均按字符串原样传递,不能相互替代。
74
+
75
+ ### 领域不变量
76
+
77
+ - Note 与 Minutes 分别来自 AI 总结和录制两条独立链路。一场会议可能同时有两类产物、只有其中一类,也可能都没有;不能根据 `note_id` 推断必然存在 `minute_token`,反之亦然。
78
+ - Minutes 可以由本地音视频直接生成,因此不一定关联 `meeting_id` 或 Calendar `event_id`。
79
+ - Calendar `meeting_note`、Note `note_id`、Minutes `minute_token` 和各类 Doc token 标识不同对象,不能互换、代入其他域的命令或从一者反推另一者。
80
+
81
+ ## 快速行动
82
+
83
+ ### 查询进行中的会议内容
84
+
85
+ ```bash
86
+ # 当前用户所在会议
87
+ lark-cli vc +meeting-list-active --as user
88
+
89
+ # 应用机器人可见的目标用户会议
90
+ lark-cli vc +meeting-list-active --as bot --user-id <open_id>
91
+
92
+ # 确定唯一 meeting_id 后沿用来源身份
93
+ lark-cli vc +meeting-events --as <source_identity> --meeting-id <meeting_id> --page-all --format pretty
94
+ ```
95
+
96
+ 同时有多场会议时,需要先选择要查询的会议;只有一场会议时,直接查询该场会议的会议事件。
97
+
98
+ 应用身份只返回“目标用户正在参会、且应用机器人也在同一会议中”的会议;返回空不代表目标用户没有在开会。向用户说明结果时使用“用户身份”或“应用身份”,不要暴露 `user` / `bot` 这类内部缩写。
99
+
100
+ ## 场景手册
101
+
102
+ 当任务目标与场景匹配时,阅读对应的场景手册,按流程执行任务。
103
+
104
+ - [查询会议及其产物](scenes/query-meeting-and-artifacts.md):按主题、时间、参会人或 `meeting_id` / `meeting_no` / `event_id` 定位历史会议;查询参会人、录像和会议关联的智能纪要或妙记;基于会议记录总结或复盘。
105
+ - [查询妙记及其产物](scenes/query-minutes-and-artifacts.md):已有妙记 URL / `minute_token`,或按标题、所有者、参与者搜索妙记;读取总结、待办、章节、关键词、逐字稿,下载原始音视频,或查询关联智能纪要。
106
+ - [生成和修改妙记、管理妙记权限](scenes/create-and-edit-minutes.md):将本地音视频生成妙记、逐字稿、总结、待办或章节;修改妙记标题、总结、待办、关键词或说话人;申请妙记权限,或查看、分配妙记协作者权限。
107
+ - [查询智能纪要及关联产物](scenes/query-note-and-artifacts.md):已有 `note_id`、智能纪要 Docx URL/token,或需要查询纪要正文、逐字稿、妙记和共享文档等关联产物。
108
+ - [应用机器人参会与会中互动](scenes/live-meeting-attend.md):完整编排应用机器人的活跃会议发现、真实入会、事件拉取、文本/表情互动和明确授权后的离会。
109
+ - [会中事件与会中互动](scenes/live-meeting-interact.md):在不触发新的入会/离会操作时,使用用户身份或已在会中的应用身份查询活跃会议、查看发言/聊天/共享内容,或发送文本和表情。
110
+
111
+ ## 命令参考
112
+
113
+ | 命令 | 用途 | 参考方式 |
114
+ |---|---|---|
115
+ | `vc +search` | 搜索历史会议 | [lark-vc-search](references/lark-vc-search.md) |
116
+ | `vc +detail` | 查询会议信息及关联的 Note、Minutes 标识 | [lark-vc-detail](references/lark-vc-detail.md) |
117
+ | `vc meeting get` | 查询会议基础信息和参会人快照 | `lark-cli vc meeting get --help` |
118
+ | `vc +recording` | 从会议定位录制及妙记 | [lark-vc-recording](references/lark-vc-recording.md) |
119
+ | `vc +meeting-list-active` | 发现当前可见的进行中会议 | [lark-vc-meeting-list-active](references/lark-vc-meeting-list-active.md) |
120
+ | `vc +meeting-events` | 读取会中事件和共享内容 | [lark-vc-meeting-events](references/lark-vc-meeting-events.md) |
121
+ | `vc +meeting-message-send` | 发送会中文本消息或表情 | [lark-vc-meeting-message-send](references/lark-vc-meeting-message-send.md) |
122
+ | `vc +meeting-join` | 让应用机器人加入会议 | [lark-vc-agent-meeting-join](references/lark-vc-agent-meeting-join.md) |
123
+ | `vc +meeting-leave` | 让应用机器人离开会议 | [lark-vc-agent-meeting-leave](references/lark-vc-agent-meeting-leave.md) |
124
+ | `minutes +search` | 搜索妙记 | [lark-minutes-search](references/lark-minutes-search.md) |
125
+ | `minutes minutes get` | 查询妙记基础信息 | `lark-cli minutes minutes get --help` |
126
+ | `minutes +detail` | 读取妙记信息和指定产物 | [lark-minutes-detail](references/lark-minutes-detail.md) |
127
+ | `minutes +download` | 下载妙记原始音视频 | [lark-minutes-download](references/lark-minutes-download.md) |
128
+ | `minutes +upload` | 从云空间音视频生成妙记 | [lark-minutes-upload](references/lark-minutes-upload.md) |
129
+ | `minutes +update` | 修改妙记标题 | [lark-minutes-update](references/lark-minutes-update.md) |
130
+ | `minutes +speaker-replace` | 替换妙记逐字稿说话人 | [lark-minutes-speaker-replace](references/lark-minutes-speaker-replace.md) |
131
+ | `minutes +summary` | 替换妙记 AI 总结 | [lark-minutes-summary](references/lark-minutes-summary.md) |
132
+ | `minutes +todo` | 增删改妙记 AI 待办 | [lark-minutes-todo](references/lark-minutes-todo.md) |
133
+ | `minutes +apply-permission` | 申请妙记查看或编辑权限 | [lark-minutes-apply-permission](references/lark-minutes-apply-permission.md) |
134
+ | `drive +member-list` | 查看妙记协作者及其权限 | [lark-drive-member-list](../lark-drive/references/lark-drive-member-list.md) |
135
+ | `drive +member-add` | 给指定成员分配妙记查看或编辑权限 | [lark-drive-member-add](../lark-drive/references/lark-drive-member-add.md) |
136
+ | `minutes +word-replace` | 批量替换妙记逐字稿关键词 | `lark-cli minutes +word-replace --help` |
137
+ | `note +detail` | 查询智能纪要及关联文档标识 | [lark-note-detail](references/lark-note-detail.md) |
138
+ | `note +transcript` | 获取 unified 智能纪要逐字稿 | [lark-note-transcript](references/lark-note-transcript.md) |
139
+
140
+ ## 渐进加载规则
141
+
142
+ 按“快速行动 → 场景手册 → 命令参考”渐进加载:
143
+
144
+ 1. 用户目标符合“快速行动”的进入条件时,直接执行对应 CLI;不要预读场景手册、命令参考、`--help` 或 schema。
145
+ 2. 不符合快速行动条件,或缺少关键标识、需要消歧、涉及写操作时,读取与目标匹配的一个主场景手册;主场景明确转交到下游场景时,只继续读取被引用的场景或章节,并按其中流程执行 CLI。
146
+ 3. 仅当缺少具体参数、返回字段、特殊约束或异常处理方式时:有参考手册的命令读取对应文件;没有参考手册的命令运行表中列出的精确 `lark-cli ... --help`。场景或 reference 已给出精确命令时,不再调用 `--help`;仅在参数缺失、命令不识别或文档与运行结果冲突时调用。
@@ -0,0 +1,92 @@
1
+ # minutes +apply-permission
2
+
3
+ 向妙记所有者发起查看或编辑权限申请。**写操作**,只在用户明确要求申请权限时才调用;调用后不代表立即获得权限,只是提交了一条申请。
4
+
5
+ 本 skill 对应 shortcut:`lark-cli minutes +apply-permission`(调用 `POST /open-apis/minutes/v1/minutes/{minute_token}/permissions/apply`)。支持 `--as user` / `--as bot`。
6
+
7
+ ## 命令
8
+
9
+ ```bash
10
+ # 以 user 身份申请查看权限
11
+ lark-cli minutes +apply-permission --minute-token obcnxxxxxxxxxxxxxxxxxxxx --perm view --as user
12
+
13
+ # 以 bot 身份申请编辑权限
14
+ lark-cli minutes +apply-permission --minute-token obcnxxxxxxxxxxxxxxxxxxxx --perm edit --as bot
15
+
16
+ # 预览 API 调用
17
+ lark-cli minutes +apply-permission --minute-token obcnxxxxxxxxxxxxxxxxxxxx --perm view --dry-run
18
+ ```
19
+
20
+ ## 参数
21
+
22
+ | 参数 | 必填 | 说明 |
23
+ |------|------|------|
24
+ | `--minute-token <token>` | 是 | 妙记 Token |
25
+ | `--perm <view\|edit>` | 是 | 申请的权限:`view`(查看)或 `edit`(编辑) |
26
+ | `--dry-run` | 否 | 预览 API 调用,不执行 |
27
+
28
+ ## user / bot 身份与权限语义
29
+
30
+ - **user**:以当前登录用户身份向妙记所有者申请。所有者在飞书客户端收到申请通知,同意后该用户获得对应权限。
31
+ - **bot**:以应用身份向妙记所有者申请,代表"这个应用"而不是某个用户。同意后应用(bot)获得对应权限,不会让触发申请的用户本人获得权限。
32
+ - 两种身份的申请互不代表:user 身份申请通过后 bot 仍然无权限,反之亦然。
33
+
34
+ ## 核心约束
35
+
36
+ ### 1. 必须继承触发无权限错误的来源身份
37
+
38
+ `+apply-permission` 不是通用的"求权限"按钮:它申请的是**当前 `--as` 对应身份**的权限。如果是 `--as bot` 读取妙记时遇到无权限,就要用 `--as bot` 申请;如果是 `--as user` 遇到无权限,就用 `--as user` 申请。不要在申请时切换成另一个身份——那申请的是另一个主体的权限,解决不了原来那次调用的问题。
39
+
40
+ ### 2. missing scope 与资源 ACL 是两类不同问题
41
+
42
+ - **missing scope**(当前身份完全没有 `minutes:permission:apply` / `minutes:minutes.basic:read` 等 scope):这不是"没有这条妙记的权限",`+apply-permission` 解决不了。`--as user` 用 `auth login --scope` 补权限;`--as bot` 去开发者后台开通,**禁止**对 bot 执行 `auth login`。完整规则见 [lark-shared](../../lark-shared/SKILL.md)。
43
+ - **资源 ACL**(scope 都有,但对**这一条具体妙记**没有查看/编辑权限):这才是 `+apply-permission` 要解决的场景。
44
+
45
+ 先看错误的 `error.subtype` 是 `missing_scope` 还是资源级别的权限拒绝,再决定要不要调用本命令。
46
+
47
+ ### 3. 只有用户明确要求才发起申请
48
+
49
+ 遇到无权限错误时,先把"当前身份对这条妙记没有权限"的事实告知用户;只有用户明确说"帮我申请查看/编辑权限"时才调用本命令。不要在检测到无权限后自动发起申请。
50
+
51
+ ### 4. 禁止通过切换身份绕过资源权限
52
+
53
+ 如果 `--as bot` 对某条妙记没有权限,不要改用 `--as user` 重新读取来"绕过"这个限制(除非用户明确同意切换身份继续任务)。申请权限和切换身份是两件不同的事:前者是解决 bot 自身权限不足,后者是换一个完全不同的主体去访问资源。
54
+
55
+ ## 所需权限
56
+
57
+ | 身份 | 所需权限 |
58
+ |------|---------|
59
+ | user / bot | `minutes:permission:apply` |
60
+
61
+ ## 输出结果
62
+
63
+ ```json
64
+ {
65
+ "minute_token": "obcnxxxxxxxxxxxxxxxxxxxx",
66
+ "perm": "view"
67
+ }
68
+ ```
69
+
70
+ | 字段 | 说明 |
71
+ |------|------|
72
+ | `minute_token` | 妙记 Token |
73
+ | `perm` | 申请的权限(`view` / `edit`) |
74
+
75
+ ## 如何获取 minute_token
76
+
77
+ | 来源 | 获取方式 |
78
+ |------|---------|
79
+ | 妙记 URL | 从 URL 末尾提取,如 `https://sample.feishu.cn/minutes/obcnxxxxxxxxxxxxxxxxxxxx` |
80
+ | 妙记搜索 | `lark-cli minutes +search --query "关键词"` |
81
+ | 会议产物查询 | `lark-cli vc +recording --meeting-ids <id>`,拿到 `minute_token`(沿用同一 `--as`) |
82
+
83
+ ## 常见错误与排查
84
+
85
+ | 错误现象 | 根本原因 | 解决方案 |
86
+ |---------|---------|---------|
87
+ | `--perm` 不是 `view`/`edit` | 参数值不合法 | 只能传 `view` 或 `edit` |
88
+ | `missing required scope(s)` | 当前身份缺少 `minutes:permission:apply` | 见上方「missing scope 与资源 ACL」 |
89
+ | 申请后仍无权限 | 所有者尚未同意 | 这是异步申请,需等待所有者处理;不代表命令执行失败 |
90
+
91
+ ## 相关场景
92
+ - [生成和修改妙记](../scenes/create-and-edit-minutes.md)
@@ -0,0 +1,52 @@
1
+
2
+ # minutes +detail
3
+
4
+ 通过 `minute_token` 查询妙记详情,按需获取 AI 产物(总结/待办/章节/逐字稿/关键词)。只读,支持 `--as user` / `--as bot`。
5
+
6
+ `minute_token` 由某个身份取得时,本命令及后续 `note +detail`、`docs +fetch` 都必须显式沿用同一个 `--as`。
7
+
8
+ > `--summary` / `--todo` / `--chapter` / `--keyword` / `--transcript` 都是可选项;请求相应产物时必须显式传入,不传任何产物 flag 时只返回基础信息(如 `title`),AI 产物字段都不会出现。一次性获取所有产物:`--summary --todo --chapter --keyword --transcript`。
9
+
10
+ ## 命令
11
+
12
+ ```bash
13
+ # 仅基础信息
14
+ lark-cli minutes +detail --as <source_identity> --minute-tokens obcxxxxxxxxxx
15
+
16
+ # 批量(逗号分隔,最多 50 个)
17
+ lark-cli minutes +detail --as <source_identity> --minute-tokens obcxxx,obcyyy --summary --todo
18
+
19
+ # 全产物
20
+ lark-cli minutes +detail --as <source_identity> --minute-tokens obcxxx --summary --todo --chapter --keyword --transcript
21
+
22
+ # 仅逐字稿,覆盖已有文件,指定输出目录
23
+ lark-cli minutes +detail --as <source_identity> --minute-tokens obcxxx --transcript --overwrite --output-dir ./out
24
+ ```
25
+
26
+ ## 输出
27
+
28
+ `minutes` 数组每条含 `minute_token`、`title`、`note_id`、`artifacts`。`note_id` 仅在该妙记关联了会议纪要时返回,可直接传给 [`note +detail`](lark-note-detail.md) 拿纪要文档 token,无需再绕回 `vc +detail`。`artifacts` 中**只包含本次请求的产物**:
29
+
30
+ | 字段 | 类型 | 说明 |
31
+ |------|------|------|
32
+ | `artifacts.summary` | string | AI 总结。 |
33
+ | `artifacts.todos` | array | 待办事项列表。 |
34
+ | `artifacts.chapters` | array | 章节列表。 |
35
+ | `artifacts.keywords` | array | 关键词列表。 |
36
+ | `artifacts.transcript_file` | string | 逐字稿本地文件路径。 |
37
+
38
+ 逐字稿默认落地 `./minutes/{minute_token}/transcript.txt`,与 `minutes +download` 同目录便于聚合。指定 `--output-dir <dir>` 时改写到 `<dir>/artifact-{title}-{minute_token}/transcript.txt`。
39
+
40
+ ## minute_token 来源
41
+
42
+ | 来源 | 取值字段 |
43
+ |------|---------|
44
+ | 妙记 URL `https://*.feishu.cn/minutes/obcxxx` | 截路径最后一段 `obcxxx` |
45
+ | `vc +detail --meeting-ids` | `minute_token` |
46
+ | `vc +recording --meeting-ids` | `minute_token` |
47
+ | `minutes +search` | `minute_token` |
48
+
49
+ `minute_token` 不要直接传给 `note +detail`:需要关联 Note 时,先从本命令结果读取 `note_id`。跨产物流程由 [`query-minutes-and-artifacts`](../scenes/query-minutes-and-artifacts.md) 编排。
50
+
51
+ ## 相关场景
52
+ - [查询妙记及其产物](../scenes/query-minutes-and-artifacts.md)
@@ -2,10 +2,12 @@
2
2
  # minutes +download
3
3
 
4
4
 
5
- 下载妙记的音视频媒体文件到本地,或获取有效期 1 天的下载链接。只读操作。
5
+ 下载妙记的音视频媒体文件到本地,或获取有效期 1 天的下载链接。只读操作,支持 `--as user` / `--as bot`。
6
6
 
7
7
  本 skill 对应 shortcut:`lark-cli minutes +download`。
8
8
 
9
+ `minute_token` 是在某个身份下解析出来的(如 `vc +recording --as bot`):调用本命令时必须显式沿用同一个 `--as`,不要省略让身份被默认值悄悄换掉(完整规则见 [lark-shared](../../lark-shared/SKILL.md) 的「身份延续」)。
10
+
9
11
  ## 命令
10
12
 
11
13
  ```bash
@@ -119,17 +121,15 @@ API 限流 5 次/秒,批量下载时需注意控制频率。
119
121
  | 妙记尚未准备好 | 2091003 | 转写未完成 | 等待转写完成后重试 |
120
122
  | 资源已删除 | 2091004 | 妙记已被删除 | 确认妙记文件仍然存在 |
121
123
  | 权限不足 | 2091005 | 无阅读权限 | 检查是否有该妙记的访问权限 |
122
- | `missing required scope(s)` | — | 应用缺少权限 | 运行 `auth login --scope "minutes:minutes.media:export"` |
124
+ | `missing required scope(s)` | — | 当前身份缺少 scope | `--as user`:运行 `auth login --scope "minutes:minutes.media:export"`;`--as bot`:使用错误中的 `console_url` 去开发者后台开通,**禁止**对 bot 执行 `auth login`(见 [lark-shared](../../lark-shared/SKILL.md) 的权限管理) |
123
125
 
124
126
  ## 提示
125
127
 
126
128
  - 音视频文件可能较大,下载无固定超时限制(由用户 Ctrl+C 控制取消)。
127
- - 默认落点 `./minutes/{minute_token}/` 与 `minutes +detail` 的逐字稿共享同一目录,方便 Agent 聚合同一会议的所有产物。
129
+ - 默认落点 `./minutes/{minute_token}/` 与 `minutes +detail` 的逐字稿共享同一目录,方便 Agent 聚合同一妙记的原始音视频和逐字稿。
128
130
  - 单 token 模式下 `--output` 若传入已存在目录(如 `--output ./existing-dir`),等价于 `--output-dir`,文件落入该目录(cp 语义)。
129
131
  - 批量模式下 `--output` 不接受已存在的文件路径(会报错),应改用 `--output-dir`。
130
132
  - 如需获取妙记的纪要内容(逐字稿、AI 总结等),请使用 [minutes +detail](lark-minutes-detail.md)。
131
133
 
132
- ## 参考
133
-
134
- - [lark-minutes](../SKILL.md) — 妙记全部命令
135
- - [lark-minutes-detail](lark-minutes-detail.md) — 妙记详情与 AI 产物查询
134
+ ## 相关场景
135
+ - [查询妙记及其产物](../scenes/query-minutes-and-artifacts.md)
@@ -117,19 +117,6 @@ CLI 会先按输入的本地日历日语义解析,再标准化为 RFC3339 时
117
117
 
118
118
  如果用户说“昨天的妙记”“今天的妙记”“某一天内的妙记”,应把 `--start` 和 `--end` 都设置为同一天,而不是把 `--end` 设成下一天。
119
119
 
120
- ### 7. 会议的妙记先定位会议
121
-
122
- 如果用户明确要找某场会议的妙记,或同时提到“会议 / 开会 / 会”和“妙记”,应优先使用 `vc +search` 先定位会议,再按需通过 `vc +recording` 获取 `minute_token`,不要直接按妙记时间范围或关键词搜索。
123
- 只有在无法通过会议搜索定位目标会议,或用户明确要求按妙记维度检索时,才回退到 `minutes +search`。
124
-
125
- 如果用户要的是"某场会议的妙记信息""某个日程对应的妙记详情""minute\_token""妙记链接""标题""时长""owner",正确链路是:
126
-
127
- 1. `vc +search` 或 `calendar +agenda` 先定位会议 / 日程
128
- 2. `vc +recording` 获取 `minute_token`
129
- 3. `minutes minutes get` 查询妙记基础信息
130
-
131
- <br />
132
-
133
120
  ## 时间格式
134
121
 
135
122
  `--start` 和 `--end` 支持以下时间格式:
@@ -149,7 +136,8 @@ CLI 会先按输入的本地日历日语义解析,再标准化为 RFC3339 时
149
136
  - 当结果中返回 `has_more=true` 时,说明还有更多页可继续获取。
150
137
  - 继续翻页时,使用响应中的 `page_token` 搭配 `--page-token` 发起下一次查询。
151
138
  - 不要假设调大 `--page-size` 就能拿全结果;分页遍历时应以 `has_more` 和 `page_token` 为准。
152
- - 当 `has_more=true` 时,逐页累计已读取的 `items` 数:累计不到 50 条之前可自动继续翻页;超过 50 条后应停下来向用户确认是否获取全部结果。
139
+ - 用户未明确要求全量时,逐页累计已读取的 `items` 数:累计不到 50 条之前可自动继续翻页;超过 50 条且仍有更多结果时,先向用户确认是否继续获取全部结果。
140
+ - 用户明确说“全部 / 所有 / 统计 / 排序”时,该全量意图优先于 50 条确认门槛;直接按 `has_more` 翻完所有分页,按结果中的 `token` 去重后再返回、排序或统计。
153
141
 
154
142
  ```bash
155
143
  # First page
@@ -159,21 +147,6 @@ lark-cli minutes +search --query "预算复盘" --page-size 20
159
147
  lark-cli minutes +search --query "预算复盘" --page-size 20 --page-token '<PAGE_TOKEN>'
160
148
  ```
161
149
 
162
- ## 搜索结果中的下一步
163
-
164
- 搜索结果中的 `token` 可直接作为 `minute_token` 用于继续查询妙记产物:
165
- 通常先用搜索结果中的 `token` 获取妙记基础信息,确认描述、链接等元数据是否命中目标;只有需要进一步查看逐字稿、总结、待办、章节时,再继续查询关联的纪要产物。
166
-
167
- 如果你已经确定目标妙记,优先直接复用搜索结果中的 `token`,避免重复搜索。
168
-
169
- ```bash
170
- # 首先查询妙记元信息(标题、时长、封面) → 用本 skill
171
- lark-cli minutes minutes get --params '{"minute_token": "obcn***************"}'
172
-
173
- # 查妙记关联的产物(--summary --todo --chapter --keyword --transcript 按需返回)
174
- lark-cli minutes +detail --minute-tokens <minute_token> --summary
175
- ```
176
-
177
150
  ## 常见错误与排查
178
151
 
179
152
  | 错误现象 | 根本原因 | 解决方案 |
@@ -194,8 +167,5 @@ lark-cli minutes +detail --minute-tokens <minute_token> --summary
194
167
  - 排查参数与请求结构时优先使用 `--dry-run`。
195
168
  - 搜索的时间范围最大为 1 个月,如果需要搜索更长时间范围的妙记,需要拆分为多次时间范围为一个月查询。
196
169
 
197
- ## 参考
198
-
199
- - [lark-minutes](../SKILL.md) -- 妙记相关命令
200
- - [lark-minutes-detail](lark-minutes-detail.md) -- 基于 `minute_token` 获取逐字稿、总结、待办、章节等产物
201
- - [lark-vc](../../lark-vc/SKILL.md) -- 视频会议全部命令
170
+ ## 相关场景
171
+ - [查询妙记及其产物](../scenes/query-minutes-and-artifacts.md)
@@ -39,7 +39,7 @@
39
39
  3. **解析 `--from-speaker-id`**
40
40
  - 根据用户描述的原说话人(展示名,如「说话人1」「张三」),在 `speakers[]` 里按 `name` **精确匹配**,取对应的 **`speaker_id`** 作为 `--from-speaker-id` 的值。
41
41
  - **`--from-speaker-id` 只传 `speaker_id`,不传展示名。**
42
- - 若同名有多条(`name` 相同、`speaker_id` 不同):**不要擅自挑选**。可结合 [`vc +notes --minute-tokens`](../../lark-vc/references/lark-vc-notes.md) 对照各人发言内容,请用户确认后再用精确的 `speaker_id`。
42
+ - 若同名有多条(`name` 相同、`speaker_id` 不同):**不要擅自挑选**。可用 [`minutes +detail --transcript`](lark-minutes-detail.md) 对照各人发言内容,请用户确认后再用精确的 `speaker_id`。
43
43
  - 若列表中无匹配展示名:告知用户并核对拼写,或请用户在妙记页面确认标签。
44
44
 
45
45
  4. **解析 `--to-user-id`**
@@ -102,6 +102,5 @@ Agent 必须先 `lark-cli api GET .../speakerlist`,再 `+speaker-replace`;`-
102
102
  | `from_speaker_id` | 实际用于替换的不透明说话人标识 |
103
103
  | `to_user_id` | 替换后的新说话人 open_id,与输入的 `--to-user-id` 一致 |
104
104
 
105
- ## 参考
106
-
107
- - [lark-minutes](../SKILL.md) -- 妙记相关功能说明
105
+ ## 相关场景
106
+ - [生成和修改妙记](../scenes/create-and-edit-minutes.md)
@@ -113,8 +113,5 @@ lark-cli minutes +summary --minute-token obcnxxxxxxxxxxxxxxxxxxxx --summary @sum
113
113
  | 参数无效 | — | `minute_token` 缺失或格式错误 | 检查 token 是否完整 |
114
114
  | 权限不足 | — | 缺少 `minutes:minutes:update` | 运行 `auth login --scope "minutes:minutes:update"` |
115
115
 
116
- ## 参考
117
-
118
- - [lark-minutes](../SKILL.md) — 妙记全部命令
119
- - [minutes +todo](lark-minutes-todo.md) — 替换待办项
120
- - [minutes +detail](lark-minutes-detail.md) — 读取总结、待办等 AI 产物
116
+ ## 相关场景
117
+ - [生成和修改妙记](../scenes/create-and-edit-minutes.md)
@@ -1,6 +1,6 @@
1
1
  # minutes +todo
2
2
 
3
- > **路由**:本命令操作**妙记内的 AI 待办**,不是飞书任务(Task)。用户说「在妙记里新建待办」时**必须**用本命令,**禁止**走 `lark-cli task` / `tasklists list` / `task +create`。详见 [lark-minutes/SKILL.md](../SKILL.md) 第 6 节。
3
+ > **路由**:本命令操作**妙记内的 AI 待办**,不是飞书任务(Task)。用户说「在妙记里新建待办」时**必须**用本命令,**禁止**走 `lark-cli task` / `tasklists list` / `task +create`。详见 [生成和修改妙记](../scenes/create-and-edit-minutes.md)。
4
4
 
5
5
 
6
6
  对妙记中的待办做新增 / 更新 / 删除(单条或批量)。写操作。
@@ -24,17 +24,10 @@
24
24
  lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --operation add --todo "跟进预算审批" --is-done=false --as user
25
25
 
26
26
  # 批量:一次新增两条
27
- lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos '[
28
- {"operation":"add","content":"晚上好1","is_done":true},
29
- {"operation":"add","content":"晚上好2","is_done":false}
30
- ]'
27
+ lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos '[{"operation":"add","content":"晚上好1","is_done":true},{"operation":"add","content":"晚上好2","is_done":false}]'
31
28
 
32
29
  # 批量:混合增删改
33
- lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos '[
34
- {"operation":"add","content":"新待办","is_done":false},
35
- {"operation":"update","todo_id":"1234567890","content":"已更新","is_done":true},
36
- {"operation":"delete","todo_id":"9876543210"}
37
- ]'
30
+ lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos '[{"operation":"add","content":"新待办","is_done":false},{"operation":"update","todo_id":"1234567890","content":"已更新","is_done":true},{"operation":"delete","todo_id":"9876543210"}]'
38
31
 
39
32
  # 从文件读取
40
33
  lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --as user --todos @todos.json
@@ -129,8 +122,5 @@ lark-cli minutes +todo --minute-token obcnxxxxxxxxxxxxxxxxxxxx --operation add -
129
122
  | `error.subtype` = `permission_denied` | **妙记资源无编辑权**:向妙记所有者申请该妙记的编辑/协作权限;**不要**走 `auth login --scope` |
130
123
  | 缺少 OAuth scope(`error.missing_scopes` 含 `minutes:minutes:update`) | `lark-cli auth login --scope "minutes:minutes:update"` |
131
124
 
132
- ## 参考
133
-
134
- - [lark-minutes](../SKILL.md)
135
- - [minutes +summary](lark-minutes-summary.md)
136
- - [minutes +detail](lark-minutes-detail.md)
125
+ ## 相关场景
126
+ - [生成和修改妙记](../scenes/create-and-edit-minutes.md)
@@ -34,6 +34,5 @@ lark-cli minutes +update --minute-token xxx --topic "周会纪要 2026-05-18"
34
34
  | `minute_token` | 被修改的妙记 Token,与输入的 `--minute-token` 一致,可继续用于查询妙记信息、下载媒体或获取纪要产物 |
35
35
  | `topic` | 修改后的妙记标题,与输入的 `--topic` 一致 |
36
36
 
37
- ## 参考
38
-
39
- - [lark-minutes](../SKILL.md) -- 妙记相关功能说明
37
+ ## 相关场景
38
+ - [生成和修改妙记](../scenes/create-and-edit-minutes.md)
@@ -0,0 +1,65 @@
1
+ # minutes +upload
2
+
3
+
4
+ 上传音视频文件到飞书妙记并生成妙记(Minute)。
5
+
6
+ 本 skill 对应 shortcut:`lark-cli minutes +upload`。
7
+
8
+ ## 典型触发表达
9
+
10
+ - "把这个音视频文件转成妙记"
11
+ - "把这个音视频文件转成纪要"
12
+ - "把这个音视频文件转成逐字稿、文字稿或撰写文字"
13
+ - "把这个音视频文件转成总结、待办或章节"
14
+
15
+ ## 命令示例
16
+
17
+ ```bash
18
+ # 通过已上传到云空间(云盘/云存储)的 file_token 生成妙记
19
+ lark-cli minutes +upload --file-token boxcnxxxxxxxxxxxxxxxx
20
+
21
+ ```
22
+
23
+ ## 参数
24
+
25
+ | 参数 | 必填 | 说明 |
26
+ |------|------|------|
27
+ | `--file-token <token>` | 是 | 已经上传到飞书云空间(云盘/云存储)的音视频文件的 file_token |
28
+
29
+ ## 支持的格式与限制
30
+
31
+ 待上传到妙记的原始音视频文件必须满足以下要求:
32
+
33
+ - 支持音频格式:`wav`、`mp3`、`m4a`、`aac`、`ogg`、`wma`、`amr`
34
+ - 支持视频格式:`avi`、`wmv`、`mov`、`mp4`、`m4v`、`mpeg`、`ogg`、`flv`
35
+ - 音视频时长不能超过 `6` 小时
36
+ - 文件大小不能超过 `6 GB`
37
+
38
+ > 说明:本 shortcut 只接收 `file_token`,不会直接读取本地文件内容,因此这些格式、时长和大小限制对应的是**原始上传文件**本身。若妙记生成失败,请先回查源文件是否满足上述要求。
39
+
40
+ ## 核心约束
41
+
42
+ ### 1. 必须提供 file_token
43
+
44
+ 本接口不直接处理本地文件的上传,必须先使用 `drive +upload` 将文件上传到云空间(云盘/云存储)获取 `file_token`,然后再调用本接口。
45
+
46
+ ### 2. 异步生成
47
+
48
+ API 会立即返回 `minute_url`,但妙记可能仍在异步生成中。`minutes +upload` 不返回处理状态,命令成功只表示异步创建请求已提交;只有后续执行 `minutes +detail` 并确认就绪,才能声称妙记产物已生成或可用。上传与后续产物获取由 [`create-and-edit-minutes`](../scenes/create-and-edit-minutes.md) 编排;上传后立即查询产物时,`minutes +detail` 必须使用 `--wait-ready`。
49
+
50
+ ## 输出结果示例
51
+
52
+ ```json
53
+ {
54
+ "minute_url": "http(s)://<host>/minutes/<minute-token>",
55
+ "minute_token": "<minute-token>"
56
+ }
57
+ ```
58
+
59
+ | 字段 | 说明 |
60
+ |------|------|
61
+ | `minute_url` | 生成的妙记访问链接 |
62
+ | `minute_token` | 从 `minute_url` 提取出的妙记 Token,可直接传给 `minutes +detail --minute-tokens` |
63
+
64
+ ## 相关场景
65
+ - [生成和修改妙记](../scenes/create-and-edit-minutes.md)
@@ -0,0 +1,15 @@
1
+ # note +detail
2
+
3
+ 通过 `note_id` 查询会议纪要详情,获取下挂文档 Token(AI 智能纪要、逐字稿、会中共享文档)。只读,支持 `--as user` 或 `--as bot`。
4
+
5
+ ## 命令
6
+
7
+ ```bash
8
+ lark-cli note +detail --note-id <note_id>
9
+ lark-cli note +detail --note-id <note_id> --as bot
10
+ ```
11
+
12
+ `note_id` 由其他命令取得时,必须显式沿用来源身份。应用身份能否读到数据取决于应用对纪要主文档的查看权限。若 `--as bot` 返回 `note_display_type=unified`,不要静默切换到用户身份执行 `note +transcript`;先向用户说明该命令仅支持用户身份。
13
+
14
+ ## 相关场景
15
+ - [基于 note_id 查询纪要、逐字稿、共享文档等](../scenes/query-note-and-artifacts.md)
@@ -2,8 +2,10 @@
2
2
 
3
3
  只在 `note +detail` 已确认 `note_display_type=unified` 时使用。普通纪要逐字稿是独立 Docx 文档,应回到 [lark-doc](../../lark-doc/SKILL.md) 读取 `verbatim_doc_token`。
4
4
 
5
+ `note +transcript` 仅支持 `--as user`,不支持 `--as bot`。如果 `note +detail --as bot` 返回 `unified`,不要静默省略 `--as` 或改用用户身份继续;先说明该限制,只有用户明确同意后才切换身份重试。
6
+
5
7
  ```bash
6
- lark-cli note +transcript --note-id NOTE_ID
8
+ lark-cli note +transcript --note-id <note_id>
7
9
  ```
8
10
 
9
11
  ## 行为契约
@@ -13,11 +15,5 @@ lark-cli note +transcript --note-id NOTE_ID
13
15
  - 默认保存到 `./notes/{note_id}/unified_transcript.md`;`--transcript-format plain_text` 时保存为 `.txt`。
14
16
  - 目标文件已存在时会失败;用户明确要覆盖时才加 `--overwrite`。
15
17
 
16
- ## 何时不要用
17
-
18
- | 场景 | 正确路由 |
19
- |------|---------|
20
- | 只有纪要文档标题 | 先文档搜索,再 `docs +fetch`;有 `vc-node-id` 才回 Note 域 |
21
- | 只有 Docx URL / `doc_token` | 先 `docs +fetch`;不要从 `doc_token` 反推 `note_id` |
22
- | `note_display_type=normal` | `docs +fetch --doc <verbatim_doc_token>` |
23
- | `note_display_type=unknown` 且 `verbatim_doc_token` 非空 | 先按独立逐字稿文档读取 |
18
+ ## 相关场景
19
+ - [基于 note_id 查询纪要、逐字稿、共享文档等](../scenes/query-note-and-artifacts.md)