@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
@@ -5,17 +5,12 @@ description: "会议纪要整理工作流:汇总指定时间范围内的会议
5
5
  metadata:
6
6
  requires:
7
7
  bins: ["lark-cli"]
8
+ skills: ["lark-meeting"]
8
9
  ---
9
10
 
10
11
  # 会议纪要汇总工作流
11
12
 
12
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**。然后阅读 [`../lark-vc/SKILL.md`](../lark-vc/SKILL.md),了解会议纪要相关操作。
13
-
14
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-vc/references/vc-domain-boundaries.md`](../lark-vc/references/vc-domain-boundaries.md)**,不读将导致命令使用、会议产物决策、领域边界职责判断错误:
15
- > 1. 了解日历 & VC、会议产物 & 文档的关联关系和职责划分
16
- > 2. 了解会议产物(妙记和纪要)之间的关联关系,例如:**妙记和纪要产生条件相互独立**
17
- > 3. 了解不同会议产物的组成部分,以便根据需求决策使用哪种产物的数据
18
- > 4. 了解会议总结、分析和信息提取的标准流程
13
+ **CRITICAL — 开始前 MUST 先完整读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) 和 [`../lark-meeting/SKILL.md`](../lark-meeting/SKILL.md)**。认证、身份和权限以 lark-shared 为准;会议与产物关系、产物选择和逐字稿路由以 lark-meeting 为准。
19
14
 
20
15
  ## 适用场景
21
16
 
@@ -29,6 +24,7 @@ metadata:
29
24
  ```bash
30
25
  lark-cli auth login --domain vc # 基础(查询+纪要)
31
26
  lark-cli auth login --domain vc,drive # 含读取纪要文档正文、生成文档
27
+ lark-cli auth login --domain vc,drive,minutes # 含无 note_id 时的妙记备选路径
32
28
  ```
33
29
 
34
30
  ## 工作流
@@ -80,12 +76,21 @@ lark-cli note +detail --note-id "note_id"
80
76
  ```
81
77
  - 根据上一步搜集到的 `meeting-id` 查询。
82
78
  - 单次最多查询 50 个,超过 50 个需分批调用。
83
- - 部分会议没有 `note_id` 或报错 `no notes available`,在最终输出中标注"无纪要"。
79
+ - 部分会议没有 `note_id` 或报错 `no notes available`,**不要直接标注"无纪要"**:先看 `vc +detail` 是否返回了 `minute_token`,有则走下面的妙记备选路径;`note_id` 和 `minute_token` 都没有时才标注"无纪要"。
84
80
  - 记录每个纪要的 `note_id`(纪要 ID)、`note_display_type`(展示类型:`unknown` / `normal` / `unified`)、`note_doc_token`(纪要文档 Token)和 `verbatim_doc_token`(逐字稿文档 Token)。
85
81
 
86
- > **逐字稿路由按 `note_display_type` 决定**(详见 [vc-domain-boundaries.md](../lark-vc/references/vc-domain-boundaries.md) 的 Note 域):
82
+ > **妙记备选路径(无 `note_id`、有 `minute_token` 时)**:智能纪要与妙记是两条独立产物链路,缺少智能纪要不代表这场会没有内容。
83
+ >
84
+ > ```bash
85
+ > # --minute-tokens 是复数形式(+download 同);--output-dir 只接受相对路径
86
+ > lark-cli minutes +detail --minute-tokens "<minute_token>" --transcript --output-dir ./transcripts --as user
87
+ > ```
88
+ >
89
+ > 逐字稿会落盘,供 Step 4 基于原始发言独立提炼(不要照搬 AI 总结)。若返回 `No read permission`(`2091005`),先把无权限事实告知用户,用户明确同意后再用单数 flag 申请:`lark-cli minutes +apply-permission --minute-token "<minute_token>" --perm view --as user`;申请需 owner 在客户端批准后才可重试。详见 [基于 minute_token 查询妙记及关联产物](../lark-meeting/scenes/query-minutes-and-artifacts.md)。
90
+
91
+ > **逐字稿路由按 `note_display_type` 决定**(详见 [基于 note_id 查询智能纪要及关联产物](../lark-meeting/scenes/query-note-and-artifacts.md)):
87
92
  > - `normal`:逐字稿是独立文档,链接/正文走 `verbatim_doc_token`。
88
- > - `unified`:逐字稿**不是独立文档**,没有可分享的逐字稿文档链接;需要逐字稿内容时用 `note +transcript --note-id <note_id>`([lark-note](../lark-note/SKILL.md))拉取到本地,报告中标注"unified 纪要"即可。
93
+ > - `unified`:逐字稿**不是独立文档**,没有可分享的逐字稿文档链接;需要逐字稿内容时用 `note +transcript --note-id <note_id>`([lark-meeting](../lark-meeting/SKILL.md))拉取到本地,报告中标注"unified 纪要"即可。
89
94
 
90
95
  2. 获取纪要文档和逐字稿文档链接
91
96
  ```bash
@@ -117,6 +122,8 @@ lark-cli docs +update --doc "<url_or_token>" --command append --doc-format markd
117
122
  ## 参考
118
123
 
119
124
  - [lark-shared](../lark-shared/SKILL.md) — 认证、权限(必读)
120
- - [lark-vc](../lark-vc/SKILL.md) — `+search`、`+detail` 详细用法
121
- - [lark-note](../lark-note/SKILL.md) — `note +detail`、`note +transcript`(unified 纪要逐字稿)
122
- - [lark-doc](../lark-doc/SKILL.md) — `+fetch`、`+create`、`+update` 详细用法
125
+ - [lark-meeting](../lark-meeting/SKILL.md) — 会议与产物统一路由
126
+ - [查询会议与会议产物](../lark-meeting/scenes/query-meeting-and-artifacts.md) — 搜索、消歧、产物获取与逐字稿分析流程
127
+ - [查询妙记及关联产物](../lark-meeting/scenes/query-minutes-and-artifacts.md) — 无 `note_id` 时的妙记备选路径
128
+ - [`vc +search`](../lark-meeting/references/lark-vc-search.md)、[`vc +detail`](../lark-meeting/references/lark-vc-detail.md)、[`note +detail`](../lark-meeting/references/lark-note-detail.md)、[`note +transcript`](../lark-meeting/references/lark-note-transcript.md)、[`minutes +detail`](../lark-meeting/references/lark-minutes-detail.md)、[`minutes +apply-permission`](../lark-meeting/references/lark-minutes-apply-permission.md) — 命令细节
129
+ - [lark-doc](../lark-doc/SKILL.md) — `+fetch`、`+create`、`+update` 详细用法
@@ -1,210 +0,0 @@
1
- # Base data analysis SOP
2
-
3
- Base 数据查询与分析任务的执行契约。覆盖记录读取、筛选、排序、Top/Bottom N、聚合统计、分组聚合、多表关联、临时分析和查询后写入前的目标定位。
4
-
5
- 本文只管查询选路和正确性边界;具体操作前先读真实结构和现状,复杂 JSON 再跳到 reference:
6
-
7
- - `+data-query`: entry guide [lark-base-data-query-guide.md](lark-base-data-query-guide.md), full DSL SSOT [lark-base-data-query.md](lark-base-data-query.md)
8
- - 视图筛选: [lark-base-view-set-filter.md](lark-base-view-set-filter.md)
9
- - 记录读取: `+record-list` / `+record-search` / `+record-get`,先确认字段 ID、字段名、分页和投影范围
10
-
11
- ## 0. Hard Rules
12
-
13
- - 全局问题不能用默认 `+record-list --limit N` 片面地回答。
14
- - `jq` / shell / 本地代码是在个人电脑或当前运行环境中处理已返回数据,只适合小范围结果;超过 200 行默认不推荐本地统计、排序或求极值,应改用 Base 云端查询服务的 filter/sort/aggregate。
15
- - “最高、最低、最新、最早、Top、Bottom、总数、全部、异常、最大、最小、最多、最少、优先级最高”等全局语义,必须在 Base 云端查询服务中完成筛选、排序或聚合。
16
- - 一次性原始记录查询优先用 `+record-list` / `+record-search` 的 filter/sort;聚合分析优先用 `+data-query`。
17
- - `+record-search` 用于关键词检索字段的展示文本;金额、状态、日期、空值、关联等结构化条件继续用 `--filter-json` 表达。
18
- - 不要依赖已有视图,除非用户明确指定该视图,或你已读取并验证其 filter/sort/projection 符合当前问题。
19
- - 交付输出必须使用用户可读的真实字段值;内部 ID、`record_id`、关联记录 ID、open_id、编码字段只可作为连接键或定位键,不能替代最终输出,除非用户明确要求输出这些键值。
20
- - 每次读取必须做最小投影,并包含后续解释、回查或写入需要的业务 key。
21
-
22
- ## 1. Intent -> Tool Path
23
-
24
- | 用户意图 | 首选路径 | 关键规则 |
25
- | --- | --- | --- |
26
- | 看几条、预览、示例 | `+record-list --limit N --field-id ...` | 保持局部语义;不要推广为全局结论 |
27
- | 已知 `record_id` | `+record-get` | 直接读取;不要 search/list 反查 |
28
- | 明确关键词 | `+record-search --keyword ... --search-field ... --field-id ...` | 必须显式指定 `--search-field`;可叠加 `--filter-json` |
29
- | 按条件找原始记录 | `+record-list --filter-json ...` | `filter-json` 与视图筛选结构一致,支持文本、数字、日期、选项、人员、群组、关联等值 |
30
- | 排序 / TopN 原始记录 | `+record-list --filter-json ... --sort-json ... --limit N` | 最高/最新用 `desc:true`,最低/最早用 `desc:false`;数组顺序表达优先级;最多 10 个排序条件 |
31
- | 聚合 / 分组 / 分组排序 | `+data-query` | 使用 filters/dimensions/measures/sort/limit |
32
- | 聚合后输出逐条记录 | `+data-query` 得到业务 key 或候选字段组合 -> `+record-list --filter-json` / `+record-get` 回查 | `+data-query` 维度行按字段组合去重且不返回 `record_id` |
33
- | 多表 / 多跳关联 | 以候选数最小的事实表为驱动表,沿业务 key 或 link `record_id` 逐跳回查 | 读出 link 单元格里的关联 `record_id` 后,到被关联表批量 `+record-get` 展示字段 |
34
- | 查询后写入 / 视图化 | 先用本 SOP 得到可复核的目标记录 id 集合 | 再进入记录写入或视图配置;高价值可复用查询可沉淀为持久视图 |
35
-
36
- ## 2. Execution Patterns
37
-
38
- ### 2.1 结构化原始记录与 TopN
39
-
40
- 使用 `+record-list` 的 filter/sort 路径:
41
-
42
- 1. `+field-list` 确认筛选字段、排序字段、展示字段、业务 key。
43
- 2. 筛选只用 `--filter-json` 或 `--filter-json @file`。
44
- 3. 排序用 `--sort-json`。
45
- 4. `--field-id` 做最小投影,`--limit` 控制返回数量。
46
-
47
- Example: string/number 条件 + TopN:
48
-
49
- ```bash
50
- lark-cli base +record-list \
51
- --base-token <base_token> \
52
- --table-id <table_id> \
53
- --filter-json '{"logic":"and","conditions":[["Title","==","Launch plan"],["Score",">=",80]]}' \
54
- --sort-json '[{"field":"Updated","desc":true}]' \
55
- --field-id Name \
56
- --field-id Title \
57
- --field-id Score \
58
- --limit 20
59
- ```
60
-
61
- Example: 复杂筛选从文件读取:
62
-
63
- ```bash
64
- lark-cli base +record-list \
65
- --base-token <base_token> \
66
- --table-id <table_id> \
67
- --filter-json @filter.json \
68
- --sort-json '[{"field":"Priority","desc":true}]' \
69
- --field-id Name \
70
- --field-id Tags \
71
- --limit 50
72
- ```
73
-
74
- `filter-json` 与视图筛选结构一致。下面只列常用 fewshot;字段类型、operator、value 形状拿不准,或需要人员、群组、关联、空值、地理位置、formula / lookup 等完整筛选时,先读 [lark-base-view-set-filter.md](lark-base-view-set-filter.md),再把同样的 filter JSON 传给 `--filter-json`。
75
-
76
- 文本 `==`:字段值等于目标文本。
77
- ```json
78
- {"logic":"and","conditions":[["Title","==","Launch plan"]]}
79
- ```
80
-
81
- 文本包含 / like:文本字段包含目标片段;operator 写 `intersects`。
82
- ```json
83
- {"logic":"and","conditions":[["Title","intersects","urgent"]]}
84
- ```
85
-
86
- 数字 `==`:字段值等于目标数字。
87
- ```json
88
- {"logic":"and","conditions":[["Score","==",95]]}
89
- ```
90
-
91
- 日期 `==`:字段值等于目标日期;datetime / created_at / updated_at 用 `ExactDate(...)`。
92
- ```json
93
- {"logic":"and","conditions":[["Due Date","==","ExactDate(2026-06-02)"]]}
94
- ```
95
-
96
- 选项 `==`:字段值匹配单个选项;选项值使用选项名数组,单个选项也写数组。
97
- ```json
98
- {"logic":"and","conditions":[["Priority","==",["P0"]]]}
99
- ```
100
-
101
- 选项 `intersects`:字段值与给定选项集合有交集,常用于多选或“命中任一选项”。
102
- ```json
103
- {"logic":"and","conditions":[["Tags","intersects",["P0","Blocked"]]]}
104
- ```
105
-
106
- `--sort-json` 传排序数组,数组顺序就是优先级,`desc:true` 为降序,`desc:false` 为升序,最多 10 个排序条件。
107
-
108
- ### 2.2 关键词检索后叠加结构化条件
109
-
110
- 使用 `+record-search` 做关键词命中,结构化条件仍用 `--filter-json` 下推:
111
-
112
- ```bash
113
- lark-cli base +record-search \
114
- --base-token <base_token> \
115
- --table-id <table_id> \
116
- --keyword Alice \
117
- --search-field Name \
118
- --filter-json '{"logic":"and","conditions":[["Status","!=","Done"]]}' \
119
- --sort-json '[{"field":"Updated","desc":true}]' \
120
- --field-id Name \
121
- --field-id Status \
122
- --limit 20
123
- ```
124
-
125
- 不要把 `+record-search` 当成金额、状态、日期、空值、关联字段的结构化筛选入口;这些条件继续写成 `--filter-json`。
126
-
127
- ### 2.3 聚合分析与 TopN
128
-
129
- 使用 `+data-query`:
130
-
131
- - 让 Base 云端查询服务完成 filters、dimensions、measures、sort、pagination.limit。
132
- - `pagination.limit` 是 Base 云端查询服务中的结果限制,不是本地分页扫描。
133
- - 常用聚合 fewshot 先读 [lark-base-data-query-guide.md](lark-base-data-query-guide.md);字段类型、日期 value、DSL shape 以 [lark-base-data-query.md](lark-base-data-query.md) 为准。
134
- - `+data-query` 可返回聚合结果或维度字段行;维度字段行按字段组合去重且不返回 `record_id`,不能当逐条原始记录结果使用。
135
- - 需要输出逐条记录、记录定位或完整行级字段时,先用 `+data-query` 得到业务 key、分组值或候选字段组合,再用 `+record-list --filter-json` / `+record-get` 回查。
136
-
137
- Example: 分组计数:
138
-
139
- ```bash
140
- lark-cli base +data-query \
141
- --base-token <base_token> \
142
- --dsl '{"datasource":{"type":"table","table":{"tableId":"<table_id>"}},"dimensions":[{"field_name":"Status","alias":"status"}],"measures":[{"field_name":"Status","aggregation":"count","alias":"count"}],"shaper":{"format":"flat"}}'
143
- ```
144
-
145
- Example: 过滤后汇总并取 TopN:
146
-
147
- ```bash
148
- lark-cli base +data-query \
149
- --base-token <base_token> \
150
- --dsl '{"datasource":{"type":"table","table":{"tableId":"<table_id>"}},"dimensions":[{"field_name":"Owner","alias":"owner"}],"measures":[{"field_name":"Amount","aggregation":"sum","alias":"total_amount"}],"filters":{"type":1,"conjunction":"and","conditions":[{"field_name":"Status","operator":"is","value":["Done"]}]},"sort":[{"field_name":"total_amount","order":"desc"}],"pagination":{"limit":10},"shaper":{"format":"flat"}}'
151
- ```
152
-
153
- ### 2.4 视图化与复用
154
-
155
- 一次性查询先用 `+record-list` / `+record-search` 的 filter/sort 验证。需要用户长期打开、共享或复用时,再把同一套 filter/sort 沉淀为视图。
156
-
157
- Example: 将已验证的筛选排序写入视图:
158
-
159
- ```bash
160
- lark-cli base +view-set-filter \
161
- --base-token <base_token> \
162
- --table-id <table_id> \
163
- --view-id <view_id> \
164
- --json @filter.json
165
-
166
- lark-cli base +view-set-sort \
167
- --base-token <base_token> \
168
- --table-id <table_id> \
169
- --view-id <view_id> \
170
- --json '{"sort_config":[{"field":"Priority","desc":true}]}'
171
- ```
172
-
173
- 手动配置和视图配置的优先级:
174
-
175
- 1. `--filter-json` 覆盖 `--view-id` 保存的 view filter JSON。
176
- 2. `--sort-json` 覆盖 `--view-id` 保存的 view sort config。
177
- 3. 没有手动 filter/sort 时,`--view-id` 使用视图自身保存的 filter/sort。
178
-
179
- ### 2.5 关系查询与回查
180
-
181
- - link 单元格通常是关联表 `record_id` 数组,不是用户可读内容,只是连接键。
182
- - 先用 `+field-list` 确认 link 字段的 `link_table`、业务唯一键和展示字段。
183
- - 从驱动表拿到候选记录后,用关联 `record_id` 到关联表 `+record-get` 批量读取记录内容。
184
- - 多跳关系逐跳建立 `record_id/key -> 用户可读字段` 映射;最终用户可读的信息。
185
-
186
- 禁止:
187
-
188
- - 把 link `record_id` 当最终输出。
189
- - 用 `+record-search` 搜 link `record_id`。
190
- - 基于 ID、自增编号、link 值做语义猜测;禁止依赖字段先验、样本记忆补全交付输出。
191
-
192
- ## 3. Range & Pagination Contract
193
-
194
- - `+record-list` 默认页、固定 `--limit`、本地 `jq`、shell 管道、手工浏览输出,都只覆盖已读取范围;超过 200 行不要把本地处理当作推荐路径。
195
- - `has_more=true`、存在下一页 offset/page token、或返回行数等于 page size,都表示可能还有未读取数据。
196
- - 对全局问题,只有 Base 云端查询服务已经通过 filter/sort/aggregate 收敛目标范围,或 `+data-query` 已在云端完成聚合、排序和限制时,才可以用有限返回形成结论。
197
- - 必须全量导出时,按 `+record-list` 分页语义串行翻页;不要并发调用 `+record-list`。
198
-
199
- ## 4. Final Answer Check
200
-
201
- 形成交付输出前必须能确认:
202
-
203
- - 问题范围是局部样例、单点定位、全局原始记录、聚合分析、多表关联,还是查询后写入。
204
- - 筛选、排序、聚合是否发生在 Base 云端查询服务中,而不是本地 `jq` / shell 中。
205
- - 如果使用 `jq` / shell,本地输入是否是 200 行以内的小范围结果;超过 200 行是否已改用 Base 云端查询服务查询。
206
- - 如果使用 `+record-list` / `+record-search`,是否处理了 `has_more`,且投影包含业务 key 和解释字段。
207
- - 如果涉及关系查询,是否按 `record_id` 或业务 key 精确回查,交付输出是否来自关联表真实字段。
208
- - 交付输出能追溯到表、字段、筛选条件、排序/聚合条件和连接键。
209
-
210
- 任一项无法确认时,继续查询或明确说明只能得到局部结论。
@@ -1,69 +0,0 @@
1
- # Base data-query guide
2
-
3
- This guide is the entry point for `+data-query`. Use it for common aggregation fewshots and command selection. For the complete DSL fields, operators, limits, and response details, use [lark-base-data-query.md](lark-base-data-query.md) as the DSL SSOT.
4
-
5
- Before using `+data-query`, also follow [lark-base-data-analysis-sop.md](lark-base-data-analysis-sop.md) to confirm that the task really needs aggregation instead of record listing or a temporary view.
6
-
7
- ## When to use
8
-
9
- Use `+data-query` when the user asks for server-side:
10
-
11
- - group by / aggregation
12
- - sum, average, min, max, count, distinct count
13
- - filtered aggregation
14
- - sorted Top N or Bottom N
15
- - global statistical conclusions
16
-
17
- `+data-query` can return dimension field rows, but those rows are grouped by dimension values and do not include `record_id`. Use `+record-list`, `+record-search`, or `+record-get` for row-level output, record identity, or full raw record details.
18
-
19
- ## Common Fewshots
20
-
21
- Count records by a category field:
22
-
23
- ```bash
24
- lark-cli base +data-query \
25
- --base-token <base_token> \
26
- --dsl '{"datasource":{"type":"table","table":{"tableId":"<table_id>"}},"dimensions":[{"field_name":"Status","alias":"status"}],"measures":[{"field_name":"Status","aggregation":"count","alias":"count"}],"shaper":{"format":"flat"}}'
27
- ```
28
-
29
- Sum a number field by category and return Top 10:
30
-
31
- ```bash
32
- lark-cli base +data-query \
33
- --base-token <base_token> \
34
- --dsl '{"datasource":{"type":"table","table":{"tableId":"<table_id>"}},"dimensions":[{"field_name":"Region","alias":"region"}],"measures":[{"field_name":"Amount","aggregation":"sum","alias":"total_amount"}],"sort":[{"field_name":"total_amount","order":"desc"}],"pagination":{"limit":10},"shaper":{"format":"flat"}}'
35
- ```
36
-
37
- Aggregate only records matching a filter:
38
-
39
- ```bash
40
- lark-cli base +data-query \
41
- --base-token <base_token> \
42
- --dsl '{"datasource":{"type":"table","table":{"tableId":"<table_id>"}},"dimensions":[{"field_name":"Owner","alias":"owner"}],"measures":[{"field_name":"Amount","aggregation":"sum","alias":"total_amount"}],"filters":{"type":1,"conjunction":"and","conditions":[{"field_name":"Status","operator":"is","value":["Done"]}]},"shaper":{"format":"flat"}}'
43
- ```
44
-
45
- ## Common filter values
46
-
47
- Common `Condition.value` shapes: select `is` / `isNot` uses exactly one option
48
- name; datetime `is` / `isGreater` / `isLess` uses `["Today"]` or
49
- `["ExactDate","<epoch_ms>"]`; `isEmpty` / `isNotEmpty` uses `[]`.
50
- Use relative date keywords only for relative requests; see
51
- [lark-base-data-query.md](lark-base-data-query.md) for other field types and operators.
52
-
53
- Use `tableName` when the table ID is unavailable but the table name is known:
54
-
55
- ```bash
56
- lark-cli base +data-query \
57
- --base-token <base_token> \
58
- --dsl '{"datasource":{"type":"table","table":{"tableName":"Orders"}},"measures":[{"field_name":"Amount","aggregation":"sum","alias":"total_amount"}],"shaper":{"format":"flat"}}'
59
- ```
60
-
61
- ## Routing to the DSL SSOT
62
-
63
- Read [lark-base-data-query.md](lark-base-data-query.md) when you need:
64
-
65
- - the full DSL field reference
66
- - supported aggregations and field types
67
- - filter operator details
68
- - pagination and result limits
69
- - response shape and error recovery
@@ -1,63 +0,0 @@
1
- # base +record-upsert
2
-
3
- > **前置条件:** 先阅读 [`../lark-shared/SKILL.md`](../../lark-shared/SKILL.md) 了解认证、全局参数和安全规则。
4
-
5
- 创建记录,或在带 `--record-id` 时更新记录。
6
-
7
- ## 推荐命令
8
-
9
- ```bash
10
- # 创建记录
11
- lark-cli base +record-upsert --base-token <base_token> --table-id <table_id> \
12
- --json '{"项目名称":"Apollo","状态":"进行中"}'
13
-
14
- # 更新记录
15
- lark-cli base +record-upsert --base-token <base_token> --table-id <table_id> --record-id <record_id> \
16
- --json '{"项目名称":"Apollo","状态":"完成","完成时间":"2026-03-24 10:00:00"}'
17
- ```
18
-
19
- ## 参数
20
-
21
- | 参数 | 必填 | 说明 |
22
- |------|------|------|
23
- | `--base-token <token>` | 是 | Base Token |
24
- | `--table-id <id_or_name>` | 是 | 表 ID 或表名 |
25
- | `--record-id <id>` | 否 | 传入时走更新,不传时走创建 |
26
- | `--json <body>` | 是 | 字段写入对象,类型 `Map<FieldNameOrID, CellValue>` |
27
-
28
- ## API
29
-
30
- - 创建:`POST /open-apis/base/v3/bases/:base_token/tables/:table_id/records`
31
- - 更新:带 `--record-id` 时改走 `PATCH /records/:record_id`
32
-
33
- ## `--json` 结构
34
-
35
- - `--json` 必须是 **JSON object map**,形状是 `Map<FieldNameOrID, CellValue>`。
36
- - key 是字段名或字段 ID;value 是该字段的 `CellValue`。
37
- - 一次请求里同一字段只用一种标识,避免重复写入冲突。
38
- - 写入前先 `+field-list` 确认字段类型和字段名/ID。
39
- - CellValue 统一看 [lark-base-cell-value.md](lark-base-cell-value.md)。
40
-
41
- ```json
42
- {
43
- "项目名称": "Apollo",
44
- "状态": "进行中",
45
- "完成时间": "2026-03-24 10:00:00"
46
- }
47
- ```
48
-
49
- ## 返回重点
50
-
51
- - 创建时返回 `record` 和 `created: true`。
52
- - 更新时返回 `record` 和 `updated: true`。
53
- - 如果写入了 `formula / lookup / created_at / updated_at / created_by / updated_by` 等只读字段,返回里可能出现 `ignored_fields`,这些字段不会被更新。
54
-
55
- ## 坑点
56
-
57
- - 有 `--record-id` 就一定更新;不传就一定创建,不会自动查重或按业务键 upsert。
58
- - `select` 字段只支持写入字段中已有的选项;构造 CellValue 前先用 `+field-list` 或 `+field-search-options` 确认目标选项存在。
59
- - 这是写入操作,执行前必须确认目标表和字段。
60
-
61
- ## 参考
62
-
63
- - [lark-base-cell-value.md](lark-base-cell-value.md) — CellValue 格式规范
@@ -1,62 +0,0 @@
1
-
2
- # minutes +detail
3
-
4
- 通过 `minute_token` 查询妙记详情,按需获取 AI 产物(总结/待办/章节/逐字稿/关键词)。只读。
5
-
6
- > `--summary` / `--todo` / `--chapter` / `--keyword` / `--transcript` 至少一个;不传任何产物 flag 时只返回基础信息(如 `title`),AI 产物字段都不会出现。一次性获取所有产物:`--summary --todo --chapter --keyword --transcript`。
7
-
8
- ## 命令
9
-
10
- ```bash
11
- # 仅基础信息
12
- lark-cli minutes +detail --minute-tokens obcxxxxxxxxxx
13
-
14
- # 批量(逗号分隔,最多 50 个)
15
- lark-cli minutes +detail --minute-tokens obcxxx,obcyyy --summary --todo
16
-
17
- # 全产物
18
- lark-cli minutes +detail --minute-tokens obcxxx --summary --todo --chapter --keyword --transcript
19
-
20
- # 仅逐字稿,覆盖已有文件,指定输出目录
21
- lark-cli minutes +detail --minute-tokens obcxxx --transcript --overwrite --output-dir ./out
22
- ```
23
-
24
- ## 输出
25
-
26
- `minutes` 数组每条含 `minute_token`、`title`、`note_id`、`artifacts`。`note_id` 仅在该妙记关联了会议纪要时返回,可直接传给 [`note +detail`](../../lark-note/references/lark-note-detail.md) 拿纪要文档 token,无需再绕回 `vc +detail`。`artifacts` 中**只包含本次请求的产物**:
27
-
28
- | 字段 | 类型 | 说明 |
29
- |------|------|------|
30
- | `artifacts.summary` | string | AI 总结。 |
31
- | `artifacts.todos` | array | 待办事项列表。 |
32
- | `artifacts.chapters` | array | 章节列表。 |
33
- | `artifacts.keywords` | array | 关键词列表。 |
34
- | `artifacts.transcript_file` | string | 逐字稿本地文件路径。 |
35
-
36
- 逐字稿默认落地 `./minutes/{minute_token}/transcript.txt`,与 `minutes +download` 同目录便于聚合。指定 `--output-dir <dir>` 时改写到 `<dir>/artifact-{title}-{minute_token}/transcript.txt`。
37
-
38
- ## minute_token 来源
39
-
40
- | 来源 | 取值字段 |
41
- |------|---------|
42
- | 妙记 URL `https://*.feishu.cn/minutes/obcxxx` | 截路径最后一段 `obcxxx` |
43
- | `vc +detail --meeting-ids` | `minute_token` |
44
- | `vc +recording --meeting-ids` | `minute_token` |
45
- | `minutes +search` | `minute_token` |
46
-
47
- ## 典型链路:从 minute_token 拿纪要文档 token
48
-
49
- 只持有 `minute_token`(如妙记 URL 入口),又想拿 AI 智能纪要 / 逐字稿文档时:
50
-
51
- ```bash
52
- # 1. 取妙记关联的 note_id,没有关联会议纪要则为空
53
- lark-cli minutes +detail --minute-tokens <minute_token>
54
-
55
- # 2. 用 note_id 拿 note_doc_token / verbatim_doc_token / shared_doc_tokens
56
- lark-cli note +detail --note-id <note_id>
57
-
58
- # 3. 读纪要 / 逐字稿正文
59
- lark-cli docs +fetch --api-version v2 --doc <note_doc_token> --doc-format markdown
60
- ```
61
-
62
- > `minute_token` 不要直接传给 `note +detail`:必须先用本命令拿到 `note_id` 再调用 `note +detail`。
@@ -1,104 +0,0 @@
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
- 当用户要求将音视频文件转换为妙记,或进一步要纪要/逐字稿/文字稿/撰写文字时,必须按照以下步骤执行:
18
-
19
- 1. **上传文件至云空间(云盘/云存储)获取 file_token**
20
- - 使用 `lark-cli drive +upload` 命令上传本地文件到云空间/云盘/云存储(Drive):
21
- ```bash
22
- lark-cli drive +upload --file <path/to/media/file>
23
- ```
24
- - 从命令的返回结果中提取生成的 `file_token`。
25
-
26
- 2. **将 file_token 转换为妙记链接(minute_url)**
27
- - 调用本 shortcut,将获取到的 `file_token` 转换为妙记:
28
- ```bash
29
- lark-cli minutes +upload --file-token <file_token>
30
- ```
31
- - 命令执行成功后,将返回生成的妙记链接 `minute_url`。
32
-
33
- 3. **如需纪要 / 逐字稿 / 文字稿 / 撰写文字,使用返回的 `minute_token` 调用 `minutes +detail`**
34
- - 如果用户要的是纪要、逐字稿、文字稿、撰写文字、总结、待办或章节,使用上一步返回的 `minute_token` 继续调用:
35
- ```bash
36
- lark-cli minutes +detail --minute-tokens <minute_token> --wait-ready --summary --todo --chapter --keyword --transcript
37
- ```
38
- - `--wait-ready` 参数表示等待妙记生成完毕后再获取产物,上传后立即读取详情时必须加上此参数。
39
- - `minutes +detail --minute-tokens` 会返回妙记产物(总结、待办、章节、关键词、逐字稿);必要时还会把逐字稿落地到本地文件。
40
-
41
- > **异步生成提示**:API 会立即返回 `minute_url`,但妙记可能仍在异步生成中,您可以直接通过该妙记链接查看当前的处理状态和转写结果。
42
-
43
- ## 命令示例
44
-
45
- ```bash
46
- # 通过已上传到云空间(云盘/云存储)的 file_token 生成妙记
47
- lark-cli minutes +upload --file-token boxcnxxxxxxxxxxxxxxxx
48
-
49
- # 上传后立即获取妙记产物,需加 --wait-ready 等待生成完毕(--summary --todo --chapter --keyword --transcript 按需传入)
50
- lark-cli minutes +detail --minute-tokens obcnxxxxxxxxxxxxxxxx --wait-ready --summary
51
- ```
52
-
53
- ## 参数
54
-
55
- | 参数 | 必填 | 说明 |
56
- |------|------|------|
57
- | `--file-token <token>` | 是 | 已经上传到飞书云空间(云盘/云存储)的音视频文件的 file_token |
58
-
59
- ## 支持的格式与限制
60
-
61
- 待上传到妙记的原始音视频文件必须满足以下要求:
62
-
63
- - 支持音频格式:`wav`、`mp3`、`m4a`、`aac`、`ogg`、`wma`、`amr`
64
- - 支持视频格式:`avi`、`wmv`、`mov`、`mp4`、`m4v`、`mpeg`、`ogg`、`flv`
65
- - 音视频时长不能超过 `6` 小时
66
- - 文件大小不能超过 `6 GB`
67
-
68
- > 说明:本 shortcut 只接收 `file_token`,不会直接读取本地文件内容,因此这些格式、时长和大小限制对应的是**原始上传文件**本身。若妙记生成失败,请先回查源文件是否满足上述要求。
69
-
70
- ## 核心约束
71
-
72
- ### 1. 必须提供 file_token
73
-
74
- 本接口不直接处理本地文件的上传,必须先使用 `drive +upload` 将文件上传到云空间(云盘/云存储)获取 `file_token`,然后再调用本接口。
75
-
76
- ### 2. 先上传,再生成妙记
77
-
78
- 推荐流程如下:
79
-
80
- 1. 使用 `lark-cli drive +upload --file <path>` 上传本地音视频文件到云空间(云盘/云存储)
81
- 2. 从返回结果中取出 `file_token`
82
- 3. 调用 `lark-cli minutes +upload --file-token <file_token>` 生成妙记
83
- 4. 如果目标是纪要、逐字稿、文字稿、撰写文字、总结、待办或章节,使用返回的 `minute_token`,继续调用 `lark-cli minutes +detail --minute-tokens <minute_token> --wait-ready`
84
-
85
- > **边界说明**:`minutes +upload` 本身只负责把文件转成妙记并返回 `minute_url`。纪要内容、逐字稿、文字稿、撰写文字、总结、待办、章节属于后续产物获取,应由 [minutes +detail](lark-minutes-detail.md) 承接。
86
-
87
- ## 输出结果示例
88
-
89
- ```json
90
- {
91
- "minute_url": "http(s)://<host>/minutes/<minute-token>",
92
- "minute_token": "<minute-token>"
93
- }
94
- ```
95
-
96
- | 字段 | 说明 |
97
- |------|------|
98
- | `minute_url` | 生成的妙记访问链接 |
99
- | `minute_token` | 从 `minute_url` 提取出的妙记 Token,可直接传给 `minutes +detail --minute-tokens` |
100
-
101
- ## 参考
102
-
103
- - [lark-minutes](../SKILL.md) -- 妙记相关功能说明
104
- - [drive +upload](../../lark-drive/references/lark-drive-upload.md) -- 上传文件到云空间(云盘/云存储)
@@ -1,26 +0,0 @@
1
- # note +detail
2
-
3
- 通过 `note_id` 查询会议纪要详情,获取下挂文档 Token(AI 智能纪要、逐字稿、会中共享文档)。只读,仅支持 `--as user`。
4
-
5
- ## 命令
6
-
7
- ```bash
8
- lark-cli note +detail --note-id <note_id>
9
- ```
10
-
11
- ## `note_id` 来源
12
-
13
- - 可以来自用户直接给出的 `note_id`。
14
- - 如果入口是文档,先由 [lark-doc](../../lark-doc/SKILL.md) 读取 Docx;只有 `<vc-transcribe-tab vc-node-id="...">` 的 `vc-node-id` 可以作为 `note_id`。
15
- - 没有 `vc-node-id` 时,不要从 `doc_token`、标题、正文或 backlink 反推 `note_id`。
16
-
17
- ## 输出后的路由
18
-
19
- | detail 字段 | 后续动作 |
20
- |---------|---------|
21
- | `note_doc_token` | 读纪要正文 / 总结 / 待办 / 章节:`docs +fetch --doc <note_doc_token>` |
22
- | `note_display_type=normal` + `verbatim_doc_token` | 读逐字稿:`docs +fetch --doc <verbatim_doc_token>` |
23
- | `note_display_type=unknown` + `verbatim_doc_token` | 先按普通独立逐字稿文档读取;不要猜成 unified |
24
- | `note_display_type=unified` | 读逐字稿 / 原始记录:转 [`note +transcript`](lark-note-transcript.md) |
25
-
26
- 判别键是 `note_display_type`。即使 unified 纪要返回了非空 `verbatim_doc_token`,逐字稿仍按 unified 路由。
@@ -1,44 +0,0 @@
1
-
2
- # vc +detail
3
-
4
- 通过会议 ID 获取会议详情,包括基本信息、关联的纪要 ID(`note_id`)和妙记 Token(`minute_token`)。只读。
5
-
6
- ## 命令
7
-
8
- ```bash
9
- # 单个 / 批量(逗号分隔,最多 50 个)
10
- lark-cli vc +detail --meeting-ids <meeting_id1>,<meeting_id2>
11
- ```
12
-
13
- ## 输出字段
14
-
15
- | 字段 | 说明 |
16
- |------|------|
17
- | `meeting_id` | 会议 ID |
18
- | `meeting_no` | 会议 9 位号码 |
19
- | `topic` | 会议主题 |
20
- | `start_time` | 开始时间 |
21
- | `end_time` | 结束时间 |
22
- | `note_id` | 关联的纪要 ID。 |
23
- | `minute_token` | 关联的妙记 Token。 |
24
-
25
- ## 典型场景
26
-
27
- ### 场景 1:获取会议的纪要和妙记关联
28
-
29
- `vc +detail` 只能拿到 `note_id` 和 `minute_token`,不直接返回纪要文档 token 与妙记产物内容。要获取实际产物,需根据用户诉求继续调用 `note +detail` 或 `minutes +detail`:
30
-
31
- ```bash
32
- # 1. 获取会议详情,拿到 note_id 和 minute_token
33
- lark-cli vc +detail --meeting-ids <meeting_id>
34
-
35
- # 2. 用 note_id 获取纪要文档 Token(note_doc_token / verbatim_doc_token / shared_doc_tokens)
36
- lark-cli note +detail --note-id <note_id>
37
-
38
- # 3. 用 minute_token 获取妙记产物
39
- # ⚠️ 必须显式指定 --summary / --todo / --chapter / --keyword / --transcript 中至少一个 flag,
40
- # 不传任何 flag 则不会返回任何产物内容。
41
- lark-cli minutes +detail --minute-tokens <minute_token> --todo --transcript
42
- ```
43
-
44
- > **路由建议**:当用户未明确指定使用妙记时,**优先**走 `note +detail` 链路(纪要文档信息更完整、含逐字稿原文),仅在 `note_id` 为空或用户要求妙记产物时才走 `minutes +detail`。