@amaster.ai/pi-lark 0.1.9 → 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 (71) hide show
  1. package/README.md +1 -3
  2. package/package.json +2 -2
  3. package/skills/lark-apps/SKILL.md +1 -1
  4. package/skills/lark-apps/references/lark-apps-cache.md +38 -5
  5. package/skills/lark-base/SKILL.md +23 -6
  6. package/skills/lark-base/references/lark-base-app.md +18 -0
  7. package/skills/lark-base/references/lark-base-dashboard-block-config.md +28 -1
  8. package/skills/lark-base/references/lark-base-dashboard.md +29 -11
  9. package/skills/lark-base/references/lark-base-field-schema.md +10 -1
  10. package/skills/lark-base/references/lark-base-form-questions-create.md +36 -5
  11. package/skills/lark-base/references/lark-base-record-history-list.md +19 -2
  12. package/skills/lark-base/references/lark-base-template-center.md +195 -0
  13. package/skills/lark-calendar/SKILL.md +9 -6
  14. package/skills/lark-calendar/references/lark-calendar-transfer.md +89 -0
  15. package/skills/lark-doc/references/lark-doc-fetch.md +1 -1
  16. package/skills/lark-drive/references/lark-drive-add-comment.md +2 -2
  17. package/skills/lark-im/SKILL.md +8 -2
  18. package/skills/lark-im/references/lark-im-message-read-status.md +96 -0
  19. package/skills/lark-mail/references/lark-mail-draft-create.md +12 -12
  20. package/skills/lark-mail/references/lark-mail-forward.md +17 -17
  21. package/skills/lark-mail/references/lark-mail-reply-all.md +8 -8
  22. package/skills/lark-mail/references/lark-mail-reply.md +6 -6
  23. package/skills/lark-mail/references/lark-mail-send.md +20 -20
  24. package/skills/lark-mail/references/lark-mail-template-create.md +7 -6
  25. package/skills/lark-mail/references/lark-mail-template-update.md +7 -6
  26. package/skills/lark-meeting/SKILL.md +146 -0
  27. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-apply-permission.md +2 -5
  28. package/skills/lark-meeting/references/lark-minutes-detail.md +52 -0
  29. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-download.md +4 -6
  30. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-search.md +4 -34
  31. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-speaker-replace.md +3 -4
  32. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-summary.md +2 -5
  33. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-todo.md +5 -15
  34. package/skills/{lark-minutes → lark-meeting}/references/lark-minutes-update.md +2 -3
  35. package/skills/lark-meeting/references/lark-minutes-upload.md +65 -0
  36. package/skills/lark-meeting/references/lark-note-detail.md +15 -0
  37. package/skills/lark-meeting/references/lark-note-transcript.md +19 -0
  38. package/skills/{lark-vc-agent → lark-meeting}/references/lark-vc-agent-meeting-join.md +4 -55
  39. package/skills/{lark-vc-agent → lark-meeting}/references/lark-vc-agent-meeting-leave.md +2 -41
  40. package/skills/lark-meeting/references/lark-vc-detail.md +31 -0
  41. package/skills/{lark-vc → lark-meeting}/references/lark-vc-meeting-events.md +8 -98
  42. package/skills/{lark-vc → lark-meeting}/references/lark-vc-meeting-list-active.md +4 -29
  43. package/skills/{lark-vc → lark-meeting}/references/lark-vc-meeting-message-send.md +3 -5
  44. package/skills/{lark-vc → lark-meeting}/references/lark-vc-recording.md +4 -65
  45. package/skills/{lark-vc → lark-meeting}/references/lark-vc-search.md +9 -28
  46. package/skills/lark-meeting/scenes/create-and-edit-minutes.md +125 -0
  47. package/skills/lark-meeting/scenes/live-meeting-attend.md +107 -0
  48. package/skills/lark-meeting/scenes/live-meeting-interact.md +72 -0
  49. package/skills/lark-meeting/scenes/query-meeting-and-artifacts.md +90 -0
  50. package/skills/lark-meeting/scenes/query-minutes-and-artifacts.md +70 -0
  51. package/skills/lark-meeting/scenes/query-note-and-artifacts.md +127 -0
  52. package/skills/lark-minutes/SKILL.md +5 -203
  53. package/skills/lark-note/SKILL.md +5 -88
  54. package/skills/lark-shared/SKILL.md +25 -224
  55. package/skills/lark-shared/references/lark-shared-config-init.md +12 -0
  56. package/skills/lark-shared/references/lark-shared-high-risk-approval.md +38 -0
  57. package/skills/lark-shared/references/lark-shared-identity-and-permissions.md +105 -0
  58. package/skills/lark-shared/references/lark-shared-output-contract.md +17 -0
  59. package/skills/lark-shared/references/lark-shared-update-notice.md +23 -0
  60. package/skills/lark-slides/SKILL.md +2 -0
  61. package/skills/lark-slides/references/xml/slides_xml_schema_definition.xml +101 -14
  62. package/skills/lark-task/SKILL.md +1 -1
  63. package/skills/lark-vc/SKILL.md +5 -205
  64. package/skills/lark-vc-agent/SKILL.md +5 -206
  65. package/skills/lark-workflow-meeting-summary/SKILL.md +20 -13
  66. package/skills/lark-minutes/references/lark-minutes-detail.md +0 -63
  67. package/skills/lark-minutes/references/lark-minutes-upload.md +0 -104
  68. package/skills/lark-note/references/lark-note-detail.md +0 -29
  69. package/skills/lark-note/references/lark-note-transcript.md +0 -25
  70. package/skills/lark-vc/references/lark-vc-detail.md +0 -49
  71. package/skills/lark-vc/references/vc-domain-boundaries.md +0 -203
@@ -18,11 +18,11 @@
18
18
 
19
19
  <!-- ==================== 命名规范说明 ==================== -->
20
20
  <!--
21
- 元素名:小写, HTML 兼容优先(p, ul, span)
22
- 属性名:camelCase(textType, fontSize, textAlign)
23
- 类型名:PascalCase(TextType, FontFamilyType)
24
- 枚举值:kebab-case(sub-headline, left-right-arrow)
25
- -->
21
+ 元素名:小写, HTML 兼容优先(p, ul, span)
22
+ 属性名:camelCase(textType, fontSize, textAlign)
23
+ 类型名:PascalCase(TextType, FontFamilyType)
24
+ 枚举值:kebab-case(sub-headline, left-right-arrow)
25
+ -->
26
26
 
27
27
  <!-- ==================== 基础类型定义 ==================== -->
28
28
  <!-- Color: 颜色类型 -->
@@ -157,7 +157,8 @@
157
157
  寒蝉团圆体 圆体、寒蝉团圆体 黑体、荆南缘默体、寒蝉端黑宋、
158
158
  资源圆体、钟齐流江毛草、寒蝉端黑体、站酷庆科黄油体、寒蝉云墨黑、
159
159
  有字库龙藏体、寒蝉全圆体、思源黑体、钟齐志莽行书、抖音美好体、
160
- 马善政毛笔楷体、霞鹜 975 圆体
160
+ 马善政毛笔楷体、霞鹜 975 圆体、阿里妈妈刀隶体、阿里妈妈东方大楷、
161
+ 精品点阵体、站酷文艺体、寒蝉正楷体、朱雀仿宋
161
162
 
162
163
  常用拉丁字体:
163
164
  Francois One、Heebo、Lobster、Roboto Slab、Varela Round、
@@ -176,7 +177,7 @@
176
177
  Archivo Narrow、Hind、Open Sans、Poiret One、Asap、Roboto、Nunito、
177
178
  Bitter、Dosis、Oxygen、Prompt、Karla、Fjalla One、Fira Sans、
178
179
  Crimson Text、Pacifico、Arimo、Maven Pro、Cairo、Montserrat、
179
- Righteous、Lora
180
+ Righteous、Lora、ZCOOL Addict Italic
180
181
 
181
182
  其他语言字体:
182
183
  源ノ角ゴシック、본고딕、Nanum Gothic
@@ -674,6 +675,8 @@
674
675
  <xs:enumeration value="dash-dot"><xs:annotation><xs:documentation>短划线-点</xs:documentation></xs:annotation></xs:enumeration>
675
676
  <xs:enumeration value="long-dash-dot"><xs:annotation><xs:documentation>长划线-点</xs:documentation></xs:annotation></xs:enumeration>
676
677
  <xs:enumeration value="long-dash-dot-dot"><xs:annotation><xs:documentation>长划线-点-点</xs:documentation></xs:annotation></xs:enumeration>
678
+ <xs:enumeration value="sys-dash-dot"><xs:annotation><xs:documentation>系统划线-点</xs:documentation></xs:annotation></xs:enumeration>
679
+ <xs:enumeration value="sys-dash-dot-dot"><xs:annotation><xs:documentation>系统划线-点-点</xs:documentation></xs:annotation></xs:enumeration>
677
680
  </xs:restriction>
678
681
  </xs:simpleType>
679
682
 
@@ -820,7 +823,6 @@
820
823
  <xs:attribute name="lineJoin" type="sml:LineJoinType" use="optional" default="round"/>
821
824
  <xs:attribute name="miterLimit" type="xs:nonNegativeInteger" use="optional" default="8"/>
822
825
  <xs:attribute name="rotateWithShape" type="xs:boolean" use="optional" default="true"/>
823
-
824
826
  </xs:complexType>
825
827
 
826
828
  <!-- 起始箭头样式类型 -->
@@ -885,6 +887,7 @@
885
887
 
886
888
  可选属性:
887
889
  type: 裁剪形状, 默认 rect
890
+ path: 自定义裁剪路径, type="custom" 时生效, SVG path 字符串, 坐标系为裁剪框本地坐标系
888
891
  anchor: 裁剪方位 (top/bottom/left/right), 参见 CropAnchorType
889
892
  leftOffset / rightOffset / topOffset / bottomOffset: 四向偏移量 (px), 正值向内裁剪、负值向外扩展留白、0对齐边缘
890
893
  presetHandlers: 控制点配置, 对应 ECMA 预设形状的控制点。单个或多个数字, 多个用逗号分隔。
@@ -912,6 +915,7 @@
912
915
  </xs:documentation>
913
916
  </xs:annotation>
914
917
  <xs:attribute name="type" type="sml:ShapeType" use="optional" default="rect"/>
918
+ <xs:attribute name="path" type="xs:string" use="optional"/>
915
919
  <xs:attribute name="anchor" type="sml:CropAnchorType" use="optional"/>
916
920
  <xs:attribute name="leftOffset" type="xs:double" use="optional"/>
917
921
  <xs:attribute name="rightOffset" type="xs:double" use="optional"/>
@@ -936,6 +940,17 @@
936
940
  <xs:attribute name="size" type="sml:RatioType" use="optional" default="0.3"/>
937
941
  </xs:complexType>
938
942
 
943
+ <!-- 柔化边缘效果类型 -->
944
+ <xs:complexType name="SoftEdgeType">
945
+ <xs:annotation>
946
+ <xs:documentation>
947
+ 柔化边缘效果配置
948
+ - radius: 柔化边缘半径(像素), 取值范围 [0, +∞)
949
+ 注意: 无softEdge标签表示无柔化边缘效果, 空softEdge标签表示默认柔化边缘效果(radius=2)
950
+ </xs:documentation>
951
+ </xs:annotation>
952
+ <xs:attribute name="radius" type="sml:NonNegativeDouble" use="optional" default="2"/>
953
+ </xs:complexType>
939
954
 
940
955
  <!-- 阴影效果类型 -->
941
956
  <xs:complexType name="ShadowType">
@@ -976,10 +991,20 @@
976
991
  属性:
977
992
  - color: 轮廓颜色
978
993
  - width: 轮廓宽度
994
+ - dashArray: 虚线样式
995
+ - compound: 复合边框样式
996
+ - lineCap: 线端样式
997
+ - lineJoin: 线连接样式
998
+ - miterLimit: 斜接限制
979
999
  </xs:documentation>
980
1000
  </xs:annotation>
981
- <xs:attribute name="color" type="sml:SolidColor" use="optional" default="rgba(0, 0, 0, 0.25)"/>
1001
+ <xs:attribute name="color" type="sml:Color" use="optional" default="rgba(0, 0, 0, 0.25)"/>
982
1002
  <xs:attribute name="width" type="sml:NonNegativeDouble" use="optional" default="2"/>
1003
+ <xs:attribute name="dashArray" type="sml:DashArrayType" use="optional" default="solid"/>
1004
+ <xs:attribute name="compound" type="sml:CompoundType" use="optional" default="single"/>
1005
+ <xs:attribute name="lineCap" type="sml:LineCapType" use="optional" default="butt"/>
1006
+ <xs:attribute name="lineJoin" type="sml:LineJoinType" use="optional" default="round"/>
1007
+ <xs:attribute name="miterLimit" type="xs:nonNegativeInteger" use="optional" default="8"/>
983
1008
  </xs:complexType>
984
1009
 
985
1010
  <!-- ==================== 主题相关类型 ==================== -->
@@ -1142,6 +1167,7 @@
1142
1167
  <xs:annotation>
1143
1168
  <xs:documentation>
1144
1169
  文本内容根容器, 用于描述结构化文本
1170
+
1145
1171
  属性说明:
1146
1172
  - textType: 控制整体文本样式 (title/headline/sub-headline/body/caption)
1147
1173
  - verticalAlign: 内容在容器中的垂直对齐方式
@@ -1164,6 +1190,7 @@
1164
1190
  - bulletSize: 列表符号大小, 可选, 百分比字符串(相对于文本字号, 取值范围 25%-400%)如 "100%", 或绝对像素值(取值范围 6-400)如 "14"
1165
1191
  - autoStartAt: 有序列表起始编号, 可选, 取值范围 [1, 32767]; 作为后代段落的初始计数器, 子元素 &lt;p&gt;/&lt;ol&gt; 可通过自身 autoStartAt 重置
1166
1192
  - bulletChar: 自定义列表符号字符, 可选, 如 "★", "→" 等, 设置后覆盖 listStyle 的符号
1193
+ - tabStopPos/defaultTabSize: 后代段落的默认 Tab 停止位和步长, p 同名属性可覆盖
1167
1194
  - anchorCenter: 控制文本对齐方式, 优先级高于 textAlign
1168
1195
  - autoFit: 控制文本编辑溢出时处理策略
1169
1196
  - baseline: 上标/下标, 相较于文本基线的偏移量
@@ -1218,6 +1245,8 @@
1218
1245
  <xs:attribute name="bulletSize" type="sml:BulletSizeType" use="optional"/>
1219
1246
  <xs:attribute name="autoStartAt" type="sml:AutoStartAtType" use="optional"/>
1220
1247
  <xs:attribute name="bulletChar" type="sml:BulletCharType" use="optional"/>
1248
+ <xs:attribute name="tabStopPos" type="sml:TabStopPosType" use="optional"/>
1249
+ <xs:attribute name="defaultTabSize" type="sml:TabSizeType" use="optional"/>
1221
1250
  <xs:attribute name="anchorCenter" type="xs:boolean" default="false" /> <!-- 控制竖排文字是否在垂直方向保持居中 -->
1222
1251
  <xs:attribute name="autoFit" type="sml:AutoFitType" default="no-auto-fit" />
1223
1252
  <xs:attribute name="wrap" type="xs:boolean" default="true" />
@@ -1229,7 +1258,7 @@
1229
1258
  <xs:annotation>
1230
1259
  <xs:documentation>
1231
1260
  段落容器, 支持富文本内容
1232
- 可包含纯文本和内联格式元素(br/strong/em/u/span/del/a/shadow/outline/formula/field)
1261
+ 可包含纯文本和内联格式元素(br/tab/strong/em/u/span/del/a/shadow/outline/formula/field)
1233
1262
  内联元素嵌套:所有内联元素均可包含纯文本或其他内联元素,以实现复杂的格式组合
1234
1263
  元素自嵌套:除a/formula元素外,其余内联元素支持自身嵌套,当shadow和outline自嵌套时,渲染效果遵循就近原则,以内层定义的样式为准
1235
1264
 
@@ -1240,10 +1269,11 @@
1240
1269
  - 标签之间的空格和换行符会自动省略,换行请使用<br/>标签
1241
1270
 
1242
1271
  制表符处理规则:
1243
- - 需要使用制表符时,请使用&#9;字符
1272
+ - 需要使用制表符时,请使用 tab 元素
1244
1273
 
1245
1274
  富文本元素说明:
1246
1275
  - br: 换行
1276
+ - tab: 制表符
1247
1277
  - strong: 加粗
1248
1278
  - em: 斜体
1249
1279
  - u: 下划线
@@ -1268,11 +1298,13 @@
1268
1298
  - bulletChar: 自定义列表符号字符, 可选
1269
1299
  - marginLeft: 段落左侧缩进宽度
1270
1300
  - indent: 首行缩进宽度
1301
+ - tabStopPos/defaultTabSize: 段落级 Tab 配置, 覆盖 content 同名配置
1271
1302
  </xs:documentation>
1272
1303
  </xs:annotation>
1273
1304
  <xs:complexType mixed="true">
1274
1305
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1275
1306
  <xs:element ref="sml:br"/>
1307
+ <xs:element ref="sml:tab"/>
1276
1308
  <xs:element ref="sml:formula"/>
1277
1309
  <xs:element ref="sml:strong"/>
1278
1310
  <xs:element ref="sml:em"/>
@@ -1298,6 +1330,8 @@
1298
1330
  <xs:attribute name="bulletChar" type="sml:BulletCharType" use="optional"/>
1299
1331
  <xs:attribute name="marginLeft" type="xs:double" use="optional" />
1300
1332
  <xs:attribute name="indent" type="sml:NonNegativeDouble" use="optional"/>
1333
+ <xs:attribute name="tabStopPos" type="sml:TabStopPosType" use="optional"/>
1334
+ <xs:attribute name="defaultTabSize" type="sml:TabSizeType" use="optional"/>
1301
1335
  </xs:complexType>
1302
1336
  </xs:element>
1303
1337
 
@@ -1371,7 +1405,7 @@
1371
1405
  未定义元素, 用于处理不支持的形状类型, 当导出时遇到不支持的type数据时, 使用此元素替代
1372
1406
  属性说明:
1373
1407
  - id: 元素唯一标识符(可选)
1374
- - type: 原始的不支持的类型名称, 包括 video(视频), audio(音频)
1408
+ - type: 原始的不支持的类型名称, 包括 video(视频), audio(音频), whiteboard(画板)
1375
1409
  </xs:documentation>
1376
1410
  </xs:annotation>
1377
1411
  <xs:complexType>
@@ -1408,6 +1442,7 @@
1408
1442
  - content: 图形内的文本内容, 可选, 富文本
1409
1443
  - reflection: 倒影效果, 可选, 无reflection标签表示无倒影效果, 空reflection标签表示默认倒影效果
1410
1444
  - shadow: 阴影效果, 可选, 无shadow标签表示无阴影效果, 空shadow标签表示默认阴影效果
1445
+ - softEdge: 柔化边缘效果, 可选, 无softEdge标签表示无柔化边缘效果, 空softEdge标签表示默认柔化边缘效果(radius=2)
1411
1446
  </xs:documentation>
1412
1447
  </xs:annotation>
1413
1448
  <xs:complexType>
@@ -1416,6 +1451,7 @@
1416
1451
  <xs:element name="border" type="sml:BorderType" minOccurs="0"/>
1417
1452
  <xs:element name="reflection" type="sml:ReflectionType" minOccurs="0"/>
1418
1453
  <xs:element name="shadow" type="sml:ShadowType" minOccurs="0"/>
1454
+ <xs:element name="softEdge" type="sml:SoftEdgeType" minOccurs="0"/>
1419
1455
  <xs:element ref="sml:content" minOccurs="0"/>
1420
1456
  </xs:all>
1421
1457
 
@@ -1459,6 +1495,7 @@
1459
1495
  - endArrow: 终点箭头, 可选
1460
1496
  - shadow: 阴影效果, 可选, 无shadow标签表示无阴影效果, 空shadow标签表示默认阴影效果
1461
1497
  - reflection: 倒影效果, 可选, 无reflection标签表示无倒影效果, 空reflection标签表示默认倒影效果
1498
+ - softEdge: 柔化边缘效果, 可选, 无softEdge标签表示无柔化边缘效果, 空softEdge标签表示默认柔化边缘效果(radius=2)
1462
1499
  </xs:documentation>
1463
1500
  </xs:annotation>
1464
1501
  <xs:complexType>
@@ -1468,6 +1505,7 @@
1468
1505
  <xs:element name="endArrow" type="sml:EndArrowStyleType" minOccurs="0"/>
1469
1506
  <xs:element name="shadow" type="sml:ShadowType" minOccurs="0"/>
1470
1507
  <xs:element name="reflection" type="sml:ReflectionType" minOccurs="0" />
1508
+ <xs:element name="softEdge" type="sml:SoftEdgeType" minOccurs="0"/>
1471
1509
  </xs:all>
1472
1510
  <xs:attribute name="type" type="sml:LineType" use="optional" default="straight-connector1"/>
1473
1511
  <xs:attribute name="id" type="xs:string" use="optional"/>
@@ -1505,6 +1543,7 @@
1505
1543
  - endArrow: 终点箭头, 可选
1506
1544
  - shadow: 阴影效果, 可选, 无shadow标签表示无阴影效果, 空shadow标签表示默认阴影效果
1507
1545
  - reflection: 倒影效果, 可选, 无reflection标签表示无倒影效果, 空reflection标签表示默认倒影效果
1546
+ - softEdge: 柔化边缘效果, 可选, 无softEdge标签表示无柔化边缘效果, 空softEdge标签表示默认柔化边缘效果(radius=2)
1508
1547
  </xs:documentation>
1509
1548
  </xs:annotation>
1510
1549
  <xs:complexType>
@@ -1514,6 +1553,7 @@
1514
1553
  <xs:element name="endArrow" type="sml:EndArrowStyleType" minOccurs="0"/>
1515
1554
  <xs:element name="shadow" type="sml:ShadowType" minOccurs="0"/>
1516
1555
  <xs:element name="reflection" type="sml:ReflectionType" minOccurs="0"/>
1556
+ <xs:element name="softEdge" type="sml:SoftEdgeType" minOccurs="0"/>
1517
1557
  </xs:all>
1518
1558
 
1519
1559
  <xs:attribute name="id" type="xs:string" use="optional"/>
@@ -1551,6 +1591,7 @@
1551
1591
  crop: 裁剪。无标签 / 空标签 / 仅设 anchor 时按等比缩放后裁剪到 width×height; anchor 指定保留方位 (top/bottom/left/right), 不设 anchor 即居中裁剪; offset 用于精细控制
1552
1592
  reflection: 倒影。无标签代表无倒影,空标签代表使用默认样式
1553
1593
  shadow: 阴影。无标签代表无阴影,空标签代表使用默认样式
1594
+ softEdge: 柔化边缘。无softEdge标签代表无柔化边缘, 空softEdge标签表示默认柔化边缘(radius=2)
1554
1595
  border: 边框。无标签代表无边框,空标签代表使用默认样式(颜色: rgba(43, 47, 54, 1), 宽度: 2)
1555
1596
  fill: 填充。无标签代表无填充,空标签代表使用默认样式(颜色: rgba(91, 155, 213, 1))
1556
1597
  </xs:documentation>
@@ -1561,6 +1602,7 @@
1561
1602
  <xs:element name="border" type="sml:BorderType" minOccurs="0"/>
1562
1603
  <xs:element name="reflection" type="sml:ReflectionType" minOccurs="0"/>
1563
1604
  <xs:element name="shadow" type="sml:ShadowType" minOccurs="0"/>
1605
+ <xs:element name="softEdge" type="sml:SoftEdgeType" minOccurs="0"/>
1564
1606
  <xs:element name="fill" type="sml:FillType" minOccurs="0"/>
1565
1607
  </xs:all>
1566
1608
  <xs:attribute name="id" type="xs:string" use="optional"/>
@@ -1600,6 +1642,7 @@
1600
1642
  - border: 边框样式, 无border标签代表无边框, 空border标签代表使用默认样式(默认实线边框, 颜色为rgba(51, 51, 51, 1), 宽度为3)
1601
1643
  - reflection: 倒影样式, 无reflection标签代表无倒影, 空reflection标签代表使用默认样式
1602
1644
  - shadow: 阴影样式, 无shadow标签代表无阴影, 空shadow标签代表使用默认样式
1645
+ - softEdge: 柔化边缘样式, 无softEdge标签代表无柔化边缘, 空softEdge标签表示默认柔化边缘(radius=2)
1603
1646
  </xs:documentation>
1604
1647
  </xs:annotation>
1605
1648
  <xs:complexType>
@@ -1608,6 +1651,7 @@
1608
1651
  <xs:element name="border" type="sml:BorderType" minOccurs="0"/>
1609
1652
  <xs:element name="reflection" type="sml:ReflectionType" minOccurs="0"/>
1610
1653
  <xs:element name="shadow" type="sml:ShadowType" minOccurs="0"/>
1654
+ <xs:element name="softEdge" type="sml:SoftEdgeType" minOccurs="0"/>
1611
1655
  </xs:all>
1612
1656
 
1613
1657
  <xs:attribute name="id" type="xs:string" use="optional"/>
@@ -1645,6 +1689,7 @@
1645
1689
  - svg: 标准 SVG 根元素, 仅描述嵌入内容, 不承载 Slides 布局属性
1646
1690
  - reflection: 倒影样式, 无reflection标签代表无倒影, 空reflection标签代表使用默认样式
1647
1691
  - shadow: 阴影样式, 无shadow标签代表无阴影, 空shadow标签代表使用默认样式
1692
+ - softEdge: 柔化边缘样式, 无softEdge标签代表无柔化边缘, 空softEdge标签表示默认柔化边缘(radius=2)
1648
1693
  </xs:documentation>
1649
1694
  </xs:annotation>
1650
1695
  <xs:complexType>
@@ -1652,8 +1697,8 @@
1652
1697
  <xs:any namespace="http://www.w3.org/2000/svg" processContents="lax" minOccurs="1" maxOccurs="1"/>
1653
1698
  <xs:element name="reflection" type="sml:ReflectionType" minOccurs="0"/>
1654
1699
  <xs:element name="shadow" type="sml:ShadowType" minOccurs="0"/>
1700
+ <xs:element name="softEdge" type="sml:SoftEdgeType" minOccurs="0"/>
1655
1701
  </xs:sequence>
1656
-
1657
1702
  <xs:attribute name="id" type="xs:string" use="optional"/>
1658
1703
  <xs:attribute name="topLeftX" type="sml:XType" use="required"/>
1659
1704
  <xs:attribute name="topLeftY" type="sml:YType" use="required"/>
@@ -1788,7 +1833,14 @@
1788
1833
  </xs:complexType>
1789
1834
  </xs:element>
1790
1835
 
1791
-
1836
+ <xs:element name="tab">
1837
+ <xs:annotation>
1838
+ <xs:documentation>
1839
+ 文本级制表符占位元素, 不携带属性
1840
+ </xs:documentation>
1841
+ </xs:annotation>
1842
+ <xs:complexType/>
1843
+ </xs:element>
1792
1844
 
1793
1845
  <xs:element name="formula">
1794
1846
  <xs:annotation>
@@ -1837,6 +1889,7 @@
1837
1889
  <xs:complexType mixed="true">
1838
1890
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1839
1891
  <xs:element ref="sml:br"/>
1892
+ <xs:element ref="sml:tab"/>
1840
1893
  <xs:element ref="sml:formula"/>
1841
1894
  <xs:element ref="sml:strong"/>
1842
1895
  <xs:element ref="sml:em"/>
@@ -1864,6 +1917,7 @@
1864
1917
  <xs:extension base="sml:ShadowType">
1865
1918
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1866
1919
  <xs:element ref="sml:br"/>
1920
+ <xs:element ref="sml:tab"/>
1867
1921
  <xs:element ref="sml:formula"/>
1868
1922
  <xs:element ref="sml:strong"/>
1869
1923
  <xs:element ref="sml:em"/>
@@ -1893,6 +1947,7 @@
1893
1947
  <xs:extension base="sml:OutlineType">
1894
1948
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1895
1949
  <xs:element ref="sml:br"/>
1950
+ <xs:element ref="sml:tab"/>
1896
1951
  <xs:element ref="sml:formula"/>
1897
1952
  <xs:element ref="sml:strong"/>
1898
1953
  <xs:element ref="sml:em"/>
@@ -1916,6 +1971,7 @@
1916
1971
  <xs:complexType mixed="true">
1917
1972
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1918
1973
  <xs:element ref="sml:br"/>
1974
+ <xs:element ref="sml:tab"/>
1919
1975
  <xs:element ref="sml:formula"/>
1920
1976
  <xs:element ref="sml:strong"/>
1921
1977
  <xs:element ref="sml:em"/>
@@ -1937,6 +1993,7 @@
1937
1993
  <xs:complexType mixed="true">
1938
1994
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1939
1995
  <xs:element ref="sml:br"/>
1996
+ <xs:element ref="sml:tab"/>
1940
1997
  <xs:element ref="sml:formula"/>
1941
1998
  <xs:element ref="sml:strong"/>
1942
1999
  <xs:element ref="sml:em"/>
@@ -1958,6 +2015,7 @@
1958
2015
  <xs:complexType mixed="true">
1959
2016
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1960
2017
  <xs:element ref="sml:br"/>
2018
+ <xs:element ref="sml:tab"/>
1961
2019
  <xs:element ref="sml:formula"/>
1962
2020
  <xs:element ref="sml:strong"/>
1963
2021
  <xs:element ref="sml:em"/>
@@ -1982,6 +2040,7 @@
1982
2040
  <xs:complexType mixed="true">
1983
2041
  <xs:choice minOccurs="0" maxOccurs="unbounded">
1984
2042
  <xs:element ref="sml:br"/>
2043
+ <xs:element ref="sml:tab"/>
1985
2044
  <xs:element ref="sml:formula"/>
1986
2045
  <xs:element ref="sml:strong"/>
1987
2046
  <xs:element ref="sml:em"/>
@@ -2015,6 +2074,7 @@
2015
2074
  <xs:complexType mixed="true">
2016
2075
  <xs:choice minOccurs="0" maxOccurs="unbounded">
2017
2076
  <xs:element ref="sml:br"/>
2077
+ <xs:element ref="sml:tab"/>
2018
2078
  <xs:element ref="sml:formula"/>
2019
2079
  <xs:element ref="sml:strong"/>
2020
2080
  <xs:element ref="sml:em"/>
@@ -2048,6 +2108,33 @@
2048
2108
  </xs:restriction>
2049
2109
  </xs:simpleType>
2050
2110
 
2111
+ <!-- Tab 停止位字符串类型 -->
2112
+ <xs:simpleType name="TabStopPosType">
2113
+ <xs:annotation>
2114
+ <xs:documentation>
2115
+ Tab 停止位列表, 用于 content@tabStopPos 或 p@tabStopPos, p 优先级更高。
2116
+ 格式为 位置+对齐方式, 逗号分隔, 如 "100r,200l,300ctr"; 对齐方式支持 l/ctr/r/dec。
2117
+ 位置单位 px, 有限正数, 支持小数, 范围 (0,4031]; 列表长度 1-32。
2118
+ 消费方按位置升序处理; 同一生效配置内位置不重复, 由 Node 层校验。
2119
+ 遇到 tab 元素时, 使用第一个大于当前行内坐标的停止位; 不存在则按 defaultTabSize 步进。
2120
+ </xs:documentation>
2121
+ </xs:annotation>
2122
+ <xs:restriction base="xs:string">
2123
+ <xs:pattern value="(0\.\d*[1-9]\d*|([1-9]\d{0,2}|[1-3]\d{3}|40[0-2]\d|4030)(\.\d+)?|4031(\.0+)?)(l|ctr|r|dec)(,(0\.\d*[1-9]\d*|([1-9]\d{0,2}|[1-3]\d{3}|40[0-2]\d|4030)(\.\d+)?|4031(\.0+)?)(l|ctr|r|dec)){0,31}"/>
2124
+ </xs:restriction>
2125
+ </xs:simpleType>
2126
+
2127
+ <!-- Tab 默认间距类型 -->
2128
+ <xs:simpleType name="TabSizeType">
2129
+ <xs:annotation>
2130
+ <xs:documentation>Tab 默认间距, 单位 px, 有限正数, 支持小数, 取值范围 (0,4031]</xs:documentation>
2131
+ </xs:annotation>
2132
+ <xs:restriction base="xs:decimal">
2133
+ <xs:minExclusive value="0"/>
2134
+ <xs:maxInclusive value="4031"/>
2135
+ </xs:restriction>
2136
+ </xs:simpleType>
2137
+
2051
2138
  <xs:simpleType name="LineSpacingType">
2052
2139
  <xs:annotation>
2053
2140
  <xs:documentation>
@@ -31,7 +31,7 @@ shortcut 名称只能来自本 Skill 的 Shortcut 表或 `lark-cli task --help`
31
31
  > **用户身份识别**:在用户身份(user identity)场景下,如果用户提到了“我”(例如“分配给我”、“由我创建”),请默认获取当前登录用户的 `open_id` 作为对应的参数值。
32
32
  > **术语理解 — 待办 disambiguation(必读)**:
33
33
  > - 用户提到「待办 / todo / 任务」时,**先判断归属**,不要默认走本 skill。
34
- > - **走 [lark-minutes](../lark-minutes/SKILL.md) 的 `minutes +todo`**(禁止本 skill):上下文含 **妙记 / 会议纪要 / minute_token / 妙记 URL**(`/minutes/`);或「在某某妙记里新建/修改待办」「妙记 AI 待办」「会议录制里的待办」。
34
+ > - **走 [lark-meeting](../lark-meeting/SKILL.md) 的 `minutes +todo`**(禁止本 skill):上下文含 **妙记 / 会议纪要 / minute_token / 妙记 URL**(`/minutes/`);或「在某某妙记里新建/修改待办」「妙记 AI 待办」「会议录制里的待办」。
35
35
  > - **走本 skill(lark-task)**:任务清单、分配给我、项目待办、截止日期/提醒、子任务、任务清单成员;或 applink 含 `client/todo/task?guid=`;或明确说「飞书任务」「任务中心」「我的任务清单」。
36
36
  > - **禁止**:用户要在妙记里加待办时,**不要**调用 `task tasklists list`、`task +create` 或任何 task 命令去「找清单再放任务」。
37
37
  > **友好输出**:在输出任务(或清单)的执行结果给用户时,建议同时提取并输出命令返回结果中的 `url` 字段(任务链接),以便用户可以直接点击跳转查看详情。
@@ -1,215 +1,15 @@
1
1
  ---
2
2
  name: lark-vc
3
3
  version: 1.0.0
4
- description: "飞书视频会议:查询进行中的会议列表(含会议 ID)、读取会中实时内容(发言、聊天、共享等)、发送会中消息,以及搜索历史会议、查询会议纪要(总结/待办/章节/逐字稿)和参会人快照。Agent 真实入会/离会走 lark-vc-agent;查询未来日程走 lark-calendar。"
4
+ description: "仅当用户或上游配置显式指定 lark-vc 时使用,相关请求统一交由 lark-meeting 技能处理。"
5
5
  metadata:
6
6
  requires:
7
7
  bins: ["lark-cli"]
8
- cliHelp: "lark-cli vc --help"
8
+ skills: ["lark-meeting"]
9
9
  ---
10
10
 
11
- # vc (v1)
11
+ # Compatibility entry
12
12
 
13
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md),其中包含认证、权限处理**
13
+ 本技能只用于兼容旧名称,不直接处理业务。
14
14
 
15
- **CRITICAL — 开始前 MUST 先用 Read 工具读取 [`references/vc-domain-boundaries.md`](references/vc-domain-boundaries.md)**,不读将导致命令使用、会议产物决策、领域边界职责判断错误:
16
- > 1. 了解日历 & VC、会议产物 & 文档的关联关系和职责划分
17
- > 2. 了解会议产物(妙记和纪要)之间的关联关系,例如:**妙记和纪要产生条件相互独立**
18
- > 3. 了解不同会议产物的组成部分,以便根据需求决策使用哪种产物的数据
19
- > 4. 了解会议总结、分析和信息提取的标准流程
20
-
21
- ## 身份
22
-
23
- 身份是跨命令工作流的状态,不是单条命令的局部参数:一旦某个 ID(如 `note_id`、`minute_token`)由某个身份取得,后续消费它的命令(包括跨到 lark-minutes / lark-note / lark-doc)必须显式沿用相同 `--as`;不要依赖 profile 默认身份,也不要为绕过权限错误切换身份。完整规则见 [`../lark-shared/SKILL.md`](../lark-shared/SKILL.md) 的「身份延续」。
24
-
25
- **本链路的身份策略覆盖到最后一跳读正文**:`vc +detail` → `note +detail` → `docs +fetch --doc <note_doc_token> / <verbatim_doc_token>` 全程用同一个 `--as`。[lark-doc](../lark-doc/SKILL.md) 对普通文档推荐 `--as user`,**不覆盖本链路取得的纪要文档 token**;读正文时不要因此切回 user。
26
-
27
- 本 skill 默认使用 `--as user`。`+detail`、`+recording`、`meeting get`、`+meeting-list-active`、`+meeting-events` 和 `+meeting-message-send` 也支持 `--as bot`;`+meeting-events` 和 `+meeting-message-send` 必须沿用 `meeting_id` 的来源身份。`+search` 仅支持 `--as user`。
28
-
29
- ```bash
30
- # BAD — 查昨天的会议用 calendar,会漏掉即时会议
31
- lark-cli calendar +search-event --query "站会" --start <start_time> --end <end_time>
32
-
33
- # GOOD — 查已结束的会议用 vc +search
34
- lark-cli vc +search --query "站会" --start <start_time> --end <end_time>
35
- ```
36
-
37
- ## Shortcuts (推荐优先使用)
38
-
39
- | Shortcut | 说明 |
40
- |----------|------|
41
- | [`+search`](references/lark-vc-search.md) | 搜索历史会议记录(需至关键词、时间范围、组织者、参与者、会议室少一个筛选条件) |
42
- | [`+detail`](references/lark-vc-detail.md) | 通过 meeting-ids 获取会议详情,包括 note_id 和 minute_token |
43
- | [`+recording`](references/lark-vc-recording.md) | 通过 meeting-ids 或 calendar-event-ids 查询 minute_token |
44
- | [`+meeting-list-active`](references/lark-vc-meeting-list-active.md) | 查询当前身份可见的进行中会议并获取 `meeting_id` |
45
- | [`+meeting-events`](references/lark-vc-meeting-events.md) | 读取当前身份可见的会中事件 |
46
- | [`+meeting-message-send`](references/lark-vc-meeting-message-send.md) | 发送会中文本或 reaction |
47
-
48
- - 使用任何 Shortcut 前,必须先读其对应 reference 文档。
49
-
50
- ## 意图路由
51
-
52
- | 用户意图 | 路由到 |
53
- |----------|--------|
54
- | 查"昨天的会议""上周的会""已结束的会议" | 本 skill(`+search`,含即时会议) |
55
- | 查日历/日程或未来时间的会议 | [lark-calendar](../lark-calendar/SKILL.md) |
56
- | 查"今天有哪些会议" | `vc +search`(已结束)+ lark-calendar(未开始),合并展示 |
57
- | 查询进行中的会议、会中事件或发送会中消息 | 本 skill 的 `+meeting-list-active` / `+meeting-events` / `+meeting-message-send`,也可由 [lark-vc-agent](../lark-vc-agent/SKILL.md) 编排 |
58
- | 用户询问会议内容,但未提供 `meeting_id`,也未明确指向已结束会议 | 先用 `+meeting-list-active` 查询进行中的会议;无结果时,再用 `+search` 查询当天最近结束的会议;仍无结果时询问会议时间、主题或会议号,不自行扩大时间范围 |
59
- | 只按自然语言标题查"xx 纪要的逐字稿 / 原始记录 / 谁说了什么" | 先到 [lark-drive](../lark-drive/SKILL.md) / [lark-doc](../lark-doc/SKILL.md);仅在已拿到 `note_id` / `vc-node-id` 后再到 [lark-note](../lark-note/SKILL.md) |
60
- | Agent 真实入会/离会 | [lark-vc-agent](../lark-vc-agent/SKILL.md) |
61
- | 妙记信息/时长/封面/链接 | 先走 `vc +detail` 或 `vc +recording` 获取 `minute_token`,再用 [lark-minutes](../lark-minutes/SKILL.md) 的 `minutes get` |
62
- | 本地音视频文件转纪要/逐字稿 | 先走 [lark-minutes](../lark-minutes/SKILL.md) 上传,再用 `minutes +detail --minute-tokens` |
63
-
64
- ## 核心概念
65
-
66
- - **视频会议(Meeting)**:飞书视频会议实例,通过 meeting_id 标识。已结束的会议支持通过关键词、时间段、参会人、组织者、会议室等条件搜索(见 `+search`)。
67
- - **会议纪要(Note)**:视频会议结束后生成的结构化文档,通过 `note_id` 标识,包含纪要文档(总结、待办)和逐字稿文档。`note_display_type` 区分**普通纪要(`normal`)**和 **unified 纪要**;已知 `note_id` 的直查与 unified 原始记录请用 [lark-note](../lark-note/SKILL.md)。
68
- - **妙记(Minutes)**:来源于飞书视频会议的录制产物或用户上传的音视频文件,支持视频/音频的转写,包含总结、待办、章节和文字记录,通过 minute_token 标识。妙记带有**原始会议录制视频**,会后**不会自动授权给参会人**,需管理员授权或参会人主动申请;而智能纪要及其逐字稿会后自动授权给参会人。
69
- - **纪要文档(MainDoc)**:AI 智能纪要的主文档,包含 AI 生成的总结和待办,对应 `note_doc_token`。
70
- - **用户会议纪要(MeetingNotes)**:用户主动绑定到日程的纪要文档,对应 `meeting_note`。需先通过 [`calendar +meeting`](../lark-calendar/references/lark-calendar-meeting.md) 由 `event_id` 获取。
71
- - **逐字稿(VerbatimDoc)**:会议的逐句文字记录,包含说话人和时间戳。
72
-
73
- ## 产物选择决策
74
-
75
- | 用户意图 | 必须读取的产物 | 禁止 |
76
- |---------|-------------|------|
77
- | 提炼/总结/重新总结/整理会议内容/回顾会议 | 为降低 token 消耗,非必须不得获取 AI 纪要。必须使用原始对话记录(按下方逐字稿路由取得),基于原始对话独立分析。两类产物都存在且用户未指定时,默认用智能纪要的逐字稿;用户明确要妙记时才用妙记文字记录(Transcript) | 禁止直接搬运 AI 纪要(`note_doc_token`)的总结作为最终输出 |
78
- | 查看待办/章节 | 默认 AI 纪要(`note_doc_token`);仅存在妙记或用户明确要妙记时用妙记产物 — AI 待办更友好(含提出人和负责人),章节按话题划分更结构化 | — |
79
- | 查看纪要链接/文档地址 | 仅返回文档链接,无需读取内容 | — |
80
- | 直接看 AI 总结结果 | AI 纪要(`note_doc_token`) | — |
81
- | 谁说了什么/完整发言记录 | 原始对话记录(按下方逐字稿路由取得) | — |
82
-
83
- > **智能纪要 vs 妙记的选择规则**(总结/待办/逐字稿等重复产物通用):只存在一类 → 用存在的那类;两类都存在且用户明确指定(如"看妙记逐字稿")→ **语义指向哪个走哪个,不要改道**;两类都存在但用户未指定 → **默认智能纪要及其逐字稿**(会后自动授权给参会人,访问门槛低于含原始录制视频、需申请授权的妙记)。完整说明见 [`references/vc-domain-boundaries.md`](references/vc-domain-boundaries.md) 的「产物选择决策」。
84
-
85
-
86
- > **逐字稿路由**:先用 `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` 规则为准。
87
- >
88
- > **为什么"提炼/总结"必须从原始对话记录出发?** AI 纪要是模型对会议的二次压缩,可能遗漏讨论细节、争论过程和隐含决策。用户要求"提炼"或"重新总结"时,期望的是基于原始对话的独立分析,而非对 AI 产物的重新排版。
89
-
90
- ## 核心场景
91
-
92
- ### 1. 搜索会议记录
93
- 1. 仅支持搜索已结束的会议,对于还未开始的未来会议,需要使用 lark-calendar 技能。
94
- 2. 仅支持使用关键词、时间段、参会人、组织者、会议室等筛选条件搜索会议记录,对于不支持的筛选条件,需要提示用户。
95
- 3. 搜索结果存在多条数据时,务必注意分页数据获取,不要遗漏任何会议记录。
96
- 4. 只有自然语言纪要标题、没有会议线索时,不要把标题当会议关键词;按上方意图路由切到文档搜索。
97
-
98
- ### 2. 整理会议纪要
99
-
100
- > 在选择读取哪个产物前,先确认你理解 AI 总结链路 vs 录制链路的区别。如不确定,先读 [`references/vc-domain-boundaries.md`](references/vc-domain-boundaries.md)。
101
-
102
- 1. 整理纪要文档时默认给出纪要文档、逐字稿、妙记链接即可,无需读取纪要文档或逐字稿内容。
103
- 2. 用户明确需要获取总结、待办、章节产物时,再读取文档获取具体内容。
104
- 3. 读取智能纪要(`note_doc_token`)内容时,纪要文档的**第一个 `<whiteboard>`** 标签是封面图(AI 生成的总结可视化),应同时下载展示给用户:
105
-
106
- ```bash
107
- # 1. 读取纪要内容
108
- lark-cli docs +fetch --doc <note_doc_token> --doc-format markdown
109
- # 2. 从返回的 markdown 中提取第一个 <whiteboard token="xxx"/> 的 token
110
- # 3. 下载封面图到聚合目录(和逐字稿、录像同目录,保持产物归拢)
111
- # 并非所有纪要都有封面画板,没有 <whiteboard> 标签时跳过即可
112
- lark-cli docs +media-download --type whiteboard --token <whiteboard_token> --output ./minutes/<minute_token>/cover
113
- ```
114
- > **产物目录规范**:同一会议的所有下载产物(录像、逐字稿、封面图等)统一放到 `./minutes/{minute_token}/` 目录下。这与 `minutes +download` 和 `minutes +detail --minute-tokens` 的默认落点保持一致,便于 Agent 聚合。显式路径(如封面图)需手动对齐到同一目录。
115
-
116
- > **纪要相关文档 — 根据用户意图选择:**
117
- > - `note_doc_token` → **AI 智能纪要**(AI 总结 + 待办),由 `note +detail --note-id <note_id>` 返回
118
- > - `meeting_note` → **用户绑定到日程的会议纪要**,由 [`calendar +meeting --event-ids <event_id>`](../lark-calendar/references/lark-calendar-meeting.md) 返回
119
- > - 用户说"逐字稿""完整记录""谁说了什么"时 → 按 `note_display_type` 路由,详见 [lark-note](../lark-note/SKILL.md)
120
- > - 用户说"纪要""总结""纪要内容"时,应同时返回 `note_doc_token` 和 `meeting_note`(如有)
121
- > - 用户意图不明确时,应展示所有文档链接让用户选择,而不是替用户决定
122
- > - 如果用户提供的是**本地音视频文件**并说"转纪要""转逐字稿",不要直接从 `vc +detail` 开始;应先用 [minutes +upload](../lark-minutes/references/lark-minutes-upload.md) 生成 `minute_url`,再提取 `minute_token` 调用 `minutes +detail --minute-tokens`
123
-
124
- ### 3. 纪要文档与逐字稿链接
125
- 1. 纪要文档、逐字稿文档与关联的共享文档默认使用文档 Token 返回。
126
- 2. 仅需要获取文档名称和 URL 等基本信息时,使用 `lark-cli drive metas batch_query` 查询
127
- ```bash
128
- # 学习命令使用方式
129
- lark-cli schema drive.metas.batch_query
130
-
131
- # 批量获取文档基本信息: 一次最多查询 10 个文档
132
- lark-cli drive metas batch_query --data '{"request_docs": [{"doc_type": "docx", "doc_token": "<doc_token>"}], "with_url": true}'
133
- ```
134
- 3. 需要获取文档内容时,使用 `lark-cli docs +fetch`。
135
- ```bash
136
- # 获取文档内容
137
- lark-cli docs +fetch --doc <doc_token> --doc-format markdown
138
- ```
139
-
140
- ### 4. 查询参会人快照(读操作)
141
-
142
- 用户问"谁参加过这场会议""这个会议有哪些参会人""某某参会了吗"等**参会人快照**类问题时,使用 **`vc meeting get --with-participants`**:这是参会人服务端快照 API,不依赖 bot 身份参会,**已结束会议也可查**:
143
-
144
- ```bash
145
- lark-cli vc meeting get --params '{"meeting_id":"<meeting_id>","with_participants":true}'
146
- ```
147
-
148
- 选型判断表:
149
-
150
- | 用户意图 | 推荐命令 | 所在 skill |
151
- |---------|---------|--------|
152
- | 参会人快照(谁参加过、何时入/离会,任意时点)| `vc meeting get --with-participants` | 本 skill |
153
- | 已结束会议的发言内容 | 优先:`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) |
154
- | **进行中会议**的实时事件流(转写、聊天、共享、会中加入/离开)| `vc +meeting-events` | 本 skill / [`lark-vc-agent`](../lark-vc-agent/SKILL.md) |
155
- | **Agent 真实入会 / 离会** | `vc +meeting-join` / `vc +meeting-leave` | [`lark-vc-agent`](../lark-vc-agent/SKILL.md) |
156
-
157
- ## 资源关系
158
-
159
- ```text
160
- Meeting (视频会议)
161
- ├── Note (会议纪要) ← note_id 标识,note_display_type: normal / unified
162
- │ ├── MainDoc (AI 智能纪要文档, note_doc_token)
163
- │ ├── MeetingNotes (用户绑定的会议纪要文档, meeting_notes)
164
- │ ├── VerbatimDoc (逐字稿, verbatim_doc_token) ← normal 路径
165
- │ ├── UnifiedTranscript (unified 原始记录) ← unified 路径,note +transcript(lark-note)
166
- │ └── SharedDoc (会中共享文档)
167
- └── Minutes (妙记) ← minute_token 标识,由 `vc +detail` 或 `vc +recording` 桥接获取,产物详情走 [lark-minutes](../lark-minutes/SKILL.md)
168
- ├── Transcript (文字记录)
169
- ├── Summary (总结)
170
- ├── Todos (待办)
171
- ├── Chapters (章节)
172
- └── Keywords (推荐关键词)
173
- ```
174
-
175
- > **MeetingNotes 边界**:用户绑定到日程的会议纪要文档(`meeting_note`)属于日程域,不在 VC 资源关系内;从 `event_id` 用 [`calendar +meeting`](../lark-calendar/references/lark-calendar-meeting.md) 获取。
176
- >
177
- > **妙记边界**:`+recording` 仅负责把 `meeting_id` / `calendar_event_id` 桥接到 `minute_token`;妙记的总结/待办/章节/逐字稿等产物归 [lark-minutes](../lark-minutes/SKILL.md)(`minutes +detail`)。
178
- >
179
- > **Note 域边界**:VC 域只负责把 `meeting_id` 转成 `note_id` / `minute_token`,纪要详情归 [lark-note](../lark-note/SKILL.md)。
180
- > - 入口选择:从 `meeting_id` 出发用 `vc +detail` 拿 `note_id` 和 `minute_token`;从 `minute_token` 出发用 [`minutes +detail`](../lark-minutes/references/lark-minutes-detail.md) 也会返回关联的 `note_id`,可继续走 `note +detail` 拿纪要文档 token。
181
- > - 已有 `note_id` → 直接走 [`note +detail`](../lark-note/SKILL.md) / [`note +transcript`](../lark-note/SKILL.md),不要绕回 VC。
182
- > - 已有 `doc_token` 且目标是读正文 → [lark-doc](../lark-doc/SKILL.md)。
183
- > - 只有自然语言纪要标题 → 文档搜索 / Docx 正文读取;有显式 `vc-node-id` 才进入 [lark-note](../lark-note/SKILL.md)。
184
- > - 从日程出发(只有 `event_id`)→ 先走 [`calendar +meeting`](../lark-calendar/references/lark-calendar-meeting.md) 拿到 `meeting_id` 或 `meeting_note`,再按上述路径继续。
185
- > - **跨到 lark-minutes / lark-note / lark-doc 时必须沿用来源身份**:例如 `vc +detail --as bot` 拿到的 `note_id`,下一步 `note +detail --note-id <note_id>` 也要显式加 `--as bot`;不要省略 `--as` 让身份被 profile 默认值悄悄换成 user(或反过来)。`note +transcript` 目前仅支持 `--as user`——如果 `note +detail --as bot` 返回 `note_display_type=unified`,停在这一步向用户说明"该纪要的逐字稿只能以 user 身份读取",只有用户明确同意才切到 `--as user`,不要静默切换。
186
-
187
- ## API Resources
188
-
189
- ```bash
190
- lark-cli vc <resource> <method> [flags]
191
- ```
192
-
193
- ### meeting
194
-
195
- - `get` — 获取会议详情(主题、时间、参会人、note_id)
196
-
197
- ```bash
198
- # 获取会议基础信息(不含参会人)
199
- lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>"}'
200
-
201
- # 获取会议基础信息(含参会人)
202
- lark-cli vc meeting get --params '{"meeting_id": "<meeting_id>", "with_participants": true}'
203
- ```
204
-
205
- ### minutes(跨域,详见 [lark-minutes](../lark-minutes/SKILL.md))
206
-
207
- - `get` — 获取妙记基础信息(标题、时长、封面);查询妙记**内容**(总结/待办/章节/逐字稿)请用 [`minutes +detail`](../lark-minutes/references/lark-minutes-detail.md)
208
-
209
- ## 不在本 skill 范围
210
-
211
- - 查询未来的会议日程 → [lark-calendar](../lark-calendar/SKILL.md)
212
- - Agent 真实入会/离会 → [lark-vc-agent](../lark-vc-agent/SKILL.md)
213
- - 只有纪要文档标题的逐字稿查询 → 文档搜索 / Docx 正文读取;有显式 `vc-node-id` 才进入 [lark-note](../lark-note/SKILL.md)
214
- - 本地音视频文件转纪要/逐字稿、妙记搜索/下载/上传/重命名/替换说话人 → [lark-minutes](../lark-minutes/SKILL.md)
215
- - 通过 `note_id` 取纪要文档 Token → [lark-note](../lark-note/SKILL.md)
15
+ **MUST 完整读取 [`../lark-meeting/SKILL.md`](../lark-meeting/SKILL.md),并按照其中的路由和行动指南执行。**