@amaster.ai/pi-lark 0.1.2-beta.52 → 0.1.2-beta.54
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.
- package/package.json +2 -2
- package/skills/lark-apps/SKILL.md +39 -6
- package/skills/lark-apps/references/lark-apps-cloud-dev.md +5 -4
- package/skills/lark-apps/references/lark-apps-create.md +6 -3
- package/skills/lark-apps/references/lark-apps-get.md +1 -1
- package/skills/lark-apps/references/lark-apps-list.md +1 -1
- package/skills/lark-apps/references/lark-apps-local-dev.md +27 -1
- package/skills/lark-apps/references/lark-apps-release-create.md +1 -1
- package/skills/lark-base/SKILL.md +4 -3
- package/skills/lark-base/references/lark-base-data-query-guide.md +8 -0
- package/skills/lark-base/references/lark-base-field-create.md +19 -8
- package/skills/lark-base/references/lark-base-field-json.md +3 -2
- package/skills/lark-doc/SKILL.md +25 -61
- package/skills/lark-doc/references/genres/business-analysis.md +30 -0
- package/skills/lark-doc/references/genres/data-report.md +32 -0
- package/skills/lark-doc/references/genres/email.md +38 -0
- package/skills/lark-doc/references/genres/execution-plan.md +27 -0
- package/skills/lark-doc/references/genres/formal-doc.md +37 -0
- package/skills/lark-doc/references/genres/meeting-minutes.md +24 -0
- package/skills/lark-doc/references/genres/memo-brief.md +25 -0
- package/skills/lark-doc/references/genres/official-redhead.md +73 -0
- package/skills/lark-doc/references/genres/prd.md +26 -0
- package/skills/lark-doc/references/genres/proposal.md +24 -0
- package/skills/lark-doc/references/genres/research-report.md +32 -0
- package/skills/lark-doc/references/genres/retrospective.md +25 -0
- package/skills/lark-doc/references/genres/route-consumer.md +37 -0
- package/skills/lark-doc/references/genres/route-creative.md +36 -0
- package/skills/lark-doc/references/genres/route-knowledge.md +39 -0
- package/skills/lark-doc/references/genres/route-marketing.md +40 -0
- package/skills/lark-doc/references/genres/route-media.md +36 -0
- package/skills/lark-doc/references/genres/route-opinion.md +38 -0
- package/skills/lark-doc/references/genres/route-personal-brand.md +36 -0
- package/skills/lark-doc/references/genres/route-platform.md +9 -0
- package/skills/lark-doc/references/genres/route-report.md +10 -0
- package/skills/lark-doc/references/genres/route-workplace.md +17 -0
- package/skills/lark-doc/references/genres/sop-tutorial.md +41 -0
- package/skills/lark-doc/references/genres/technical-doc.md +39 -0
- package/skills/lark-doc/references/genres/wechat.md +39 -0
- package/skills/lark-doc/references/genres/weekly-report.md +24 -0
- package/skills/lark-doc/references/genres/white-paper.md +32 -0
- package/skills/lark-doc/references/genres/xiaohongshu.md +38 -0
- package/skills/lark-doc/references/lark-doc-create-workflow.md +121 -0
- package/skills/lark-doc/references/lark-doc-create.md +22 -48
- package/skills/lark-doc/references/lark-doc-fetch.md +75 -92
- package/skills/lark-doc/references/lark-doc-history.md +3 -1
- package/skills/lark-doc/references/lark-doc-md.md +5 -1
- package/skills/lark-doc/references/lark-doc-script.md +76 -0
- package/skills/lark-doc/references/lark-doc-update.md +70 -222
- package/skills/lark-doc/references/lark-doc-whiteboard.md +5 -9
- package/skills/lark-doc/references/lark-doc-xml-extended-blocks.md +17 -12
- package/skills/lark-doc/references/lark-doc-xml.md +38 -167
- package/skills/lark-drive/SKILL.md +7 -5
- package/skills/lark-drive/references/lark-drive-copy.md +87 -0
- package/skills/lark-drive/references/lark-drive-update-title.md +78 -0
- package/skills/lark-im/SKILL.md +3 -3
- package/skills/lark-im/references/lark-im-message-enrichment.md +1 -1
- package/skills/lark-im/references/lark-im-messages-resources-download.md +19 -25
- package/skills/lark-im/references/lark-im-messages-search.md +1 -3
- package/skills/lark-sheets/SKILL.md +83 -82
- package/skills/lark-sheets/references/lark-sheets-batch-update.md +13 -58
- package/skills/lark-sheets/references/lark-sheets-chart.md +2 -1
- package/skills/lark-sheets/references/lark-sheets-conditional-format.md +1 -1
- package/skills/lark-sheets/references/lark-sheets-range-operations.md +5 -5
- package/skills/lark-sheets/references/lark-sheets-read-data.md +80 -6
- package/skills/lark-sheets/references/lark-sheets-sheet-structure.md +21 -10
- package/skills/lark-sheets/references/lark-sheets-styles-put.md +93 -0
- package/skills/lark-sheets/references/lark-sheets-visual-standards.md +2 -2
- package/skills/lark-sheets/references/lark-sheets-workbook.md +4 -3
- package/skills/lark-sheets/references/lark-sheets-write-cells.md +40 -12
- package/skills/lark-sheets/scripts/lark_detect_subtables.py +593 -0
- package/skills/lark-sheets/scripts/lark_inspect_workbook.py +188 -0
- package/skills/lark-sheets/scripts/lark_profile_table.py +614 -0
- package/skills/lark-sheets/scripts/lark_sheet_range.py +176 -0
- package/skills/lark-sheets/scripts/lark_sheet_read_cli.py +184 -0
- package/skills/lark-sheets/scripts/sheets_df.py +21 -3
- package/skills/lark-slides/SKILL.md +11 -13
- package/skills/lark-slides/references/lark-slides-create.md +70 -39
- package/skills/lark-slides/references/lark-slides-edit-workflows.md +4 -7
- package/skills/lark-slides/references/lark-slides-update-slide.md +146 -0
- package/skills/lark-slides/references/lark-slides-xml-presentations-get.md +26 -3
- package/skills/lark-slides/references/slides_chart_demo.xml +0 -1
- package/skills/lark-slides/references/troubleshooting.md +6 -6
- package/skills/lark-slides/references/validation-checklist.md +1 -1
- package/skills/lark-slides/references/xml-schema-quick-ref.md +0 -2
- package/skills/lark-whiteboard/SKILL.md +15 -8
- package/skills/lark-whiteboard/references/lark-whiteboard-export.md +4 -3
- package/skills/lark-whiteboard/references/lark-whiteboard-update.md +4 -4
- package/skills/lark-whiteboard/references/lark-whiteboard-workflow.md +19 -17
- package/skills/lark-whiteboard/routes/dsl.md +8 -2
- package/skills/lark-whiteboard/routes/mermaid.md +1 -1
- package/skills/lark-whiteboard/routes/svg-edit.md +5 -2
- package/skills/lark-whiteboard/routes/svg.md +3 -1
- package/skills/lark-whiteboard/scenes/mention.md +71 -0
- package/skills/lark-doc/references/lark-doc-word-stat.md +0 -93
- package/skills/lark-doc/references/style/lark-doc-create-workflow.md +0 -47
- package/skills/lark-doc/references/style/lark-doc-style.md +0 -68
- package/skills/lark-doc/references/style/lark-doc-update-workflow.md +0 -48
- package/skills/lark-doc/scripts/doc_word_stat.py +0 -1243
- package/skills/lark-slides/references/lark-slides-replace-pages.md +0 -97
|
@@ -1,81 +1,78 @@
|
|
|
1
|
+
# docs +fetch(读取飞书云文档)
|
|
1
2
|
|
|
2
|
-
|
|
3
|
+
读取整篇文档,或按目录、章节、区间和关键词获取局部内容。
|
|
3
4
|
|
|
4
|
-
##
|
|
5
|
+
## 常用示例
|
|
5
6
|
|
|
6
7
|
```bash
|
|
7
|
-
#
|
|
8
|
-
lark-cli docs +fetch --doc "
|
|
8
|
+
# 读取整篇文档
|
|
9
|
+
lark-cli docs +fetch --doc "文档URL或token"
|
|
9
10
|
|
|
10
|
-
#
|
|
11
|
-
lark-cli docs +fetch --doc
|
|
11
|
+
# 按 URL 中的 #share 锚点局部读取
|
|
12
|
+
lark-cli docs +fetch --doc '文档URL#share-anchor'
|
|
12
13
|
|
|
13
|
-
#
|
|
14
|
-
lark-cli docs +fetch --doc Z1Fj...tnAc --
|
|
14
|
+
# 按关键词定位
|
|
15
|
+
lark-cli docs +fetch --doc Z1Fj...tnAc --scope keyword --keyword "部署|发布|上线"
|
|
15
16
|
|
|
16
|
-
#
|
|
17
|
+
# 先查看目录,再读取指定章节
|
|
17
18
|
lark-cli docs +fetch --doc Z1Fj...tnAc --scope outline --max-depth 3
|
|
18
|
-
|
|
19
|
-
# 按 block id 区间精读
|
|
20
|
-
lark-cli docs +fetch --doc Z1Fj...tnAc --scope range --start-block-id blkA --end-block-id blkB --detail with-ids
|
|
21
|
-
|
|
22
|
-
# URL 带 #share 选区锚点时自动局部读取
|
|
23
|
-
lark-cli docs +fetch --doc 'docURL#share-anchor'
|
|
24
|
-
|
|
25
|
-
# 读整个章节(以标题 id 为锚点,自动展开到下一个同级/更高级标题前)
|
|
26
|
-
lark-cli docs +fetch --doc Z1Fj...tnAc \
|
|
27
|
-
--scope section --start-block-id <标题id> --detail with-ids
|
|
28
|
-
|
|
29
|
-
# 按关键词定位(多关键词用 | 分隔,任一命中即返回)
|
|
30
|
-
lark-cli docs +fetch --doc Z1Fj...tnAc \
|
|
31
|
-
--scope keyword --keyword "部署|发布|上线"
|
|
19
|
+
lark-cli docs +fetch --doc Z1Fj...tnAc --scope section --start-block-id blkTitle
|
|
32
20
|
```
|
|
33
21
|
|
|
34
|
-
##
|
|
35
|
-
|
|
36
|
-
| 意图 | `--detail` | 说明 |
|
|
37
|
-
|------|-----------|------|
|
|
38
|
-
| **只读**:浏览或总结文档内容 | `simple`(默认) | 简洁 XML/Markdown,不含 block ID、样式属性、引用元数据 |
|
|
39
|
-
| **定位**:需要 block ID 与其他业务交互 | `with-ids` | 包含 block ID(如 `<p id="blkcnXXXX">`),可用于 `+update` 的 `--block-id`,也可用于拼接 `文档URL#block_id` 形式的直达链接 |
|
|
40
|
-
| **编辑**:任何修改文档内容的需求 | `full` | 包含 block ID + 样式属性 + 引用元数据,提供完整文档结构信息 |
|
|
22
|
+
## 参数
|
|
41
23
|
|
|
42
|
-
|
|
24
|
+
|参数|必填|说明|
|
|
25
|
+
|-|-|-|
|
|
26
|
+
|`--doc`|是|文档 URL 或 token,支持 `/docx/`、`/wiki/` 和带 `#share-...` 的选区链接|
|
|
27
|
+
|`--doc-format`|否|`xml`(默认)\| `markdown` \| `im-markdown`(供后续 `lark-im` 场景使用)|
|
|
28
|
+
|`--detail`|否|`simple`(默认)\| `with-ids` \| `full`|
|
|
29
|
+
|`--revision-id`|否|文档版本号;`-1` 表示最新版本(默认)|
|
|
30
|
+
|`--scope`|否|`outline` \| `range` \| `keyword` \| `section`;省略则读取整篇|
|
|
31
|
+
|`--start-block-id`|否|`range` 的起点,或 `section` 的锚点(`section` 必填)|
|
|
32
|
+
|`--end-block-id`|否|`range` 的终点;`-1` 表示读到末尾|
|
|
33
|
+
|`--keyword`|否|`keyword` 模式的关键词;支持多级自动匹配和多分支 OR|
|
|
34
|
+
|`--context-before`|否|返回命中项之前的顶层兄弟块数量(默认 `0`)|
|
|
35
|
+
|`--context-after`|否|返回命中项之后的顶层兄弟块数量(默认 `0`)|
|
|
36
|
+
|`--max-depth`|否|`outline` 表示标题层级上限;其它模式表示子树深度(默认 `-1`,不限)|
|
|
37
|
+
|`--format`|否|`json`(默认)\| `pretty`|
|
|
43
38
|
|
|
44
|
-
|
|
39
|
+
## 选择详细度:`--detail`
|
|
45
40
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
| `keyword` | 只有模糊关键词 | `--keyword`(**多级自动 fallback**:子串 → 归一化 → 分词形变 → RE2 正则;`\|` 分隔多分支 OR) | 每处命中按"最小包容单元"输出;**自动去重**(同容器多命中 → 单个容器,同表格多行命中 → 合并切片) |
|
|
41
|
+
|目的|取值|返回内容|
|
|
42
|
+
|-|-|-|
|
|
43
|
+
|浏览、总结|`simple`(默认)|简洁 XML/Markdown,不含 block ID、样式和引用元数据|
|
|
44
|
+
|定位、跳转|`with-ids`|包含 block ID,可用于 `+update --block-id`,也可拼成 `文档URL#block_id` 直达链接|
|
|
45
|
+
|编辑文档|`full`|包含 block ID、样式和引用元数据,保留完整结构信息|
|
|
52
46
|
|
|
53
|
-
|
|
47
|
+
需要修改文档时使用 `full`;只读场景通常不必获取额外元数据。
|
|
54
48
|
|
|
55
|
-
|
|
49
|
+
## 选择读取范围:`--scope`
|
|
56
50
|
|
|
57
|
-
|
|
58
|
-
- `--context-before/--context-after`:**只对整块顶层单元生效**;命中落在容器/表格内(返回容器或切片)时 before/after 被忽略,需要更大范围改用 `section` / `range` 显式指定。
|
|
51
|
+
`--scope` 与 `--detail` 可以组合。优先读取满足任务所需的最小范围;只有确需全文时才省略 `--scope`。
|
|
59
52
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
|模式|适用场景|关键参数|返回行为|
|
|
54
|
+
|-|-|-|-|
|
|
55
|
+
|`outline`|结构未知,先查看目录|`--max-depth`|扁平列出标题;返回的标题 ID 可作为 `section` 或 `range` 的端点|
|
|
56
|
+
|`section`|读取某个标题对应的整节|`--start-block-id`(必填)|顶层标题展开到下一个同级或更高级标题之前;容器内节点(含内嵌标题)按最小包容单元返回容器或表格切片|
|
|
57
|
+
|`range`|已知精确起止位置|`--start-block-id`、`--end-block-id` 至少一个|同一顶层序列按区间切片;同一容器返回整个容器;同一表格返回瘦身切片;跨顶层时完整返回端点所在的顶层块|
|
|
58
|
+
|`keyword`|只有关键词或模糊线索|`--keyword`(必填)|按最小包容单元返回命中;同一容器的多处命中自动去重,同一表格的多行命中合并为切片|
|
|
66
59
|
|
|
67
|
-
|
|
60
|
+
`keyword` 会依次尝试子串、归一化、分词形变和 RE2 正则匹配。多关键词使用 `|` 表示 OR,例如 `部署|发布|上线`;任一分支命中即返回。
|
|
68
61
|
|
|
69
|
-
|
|
62
|
+
范围参数的共同规则:
|
|
70
63
|
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
- `top-block-id`:所在顶层块 id,想看该块全貌时作 `section` / `range` 锚点再拉一次。
|
|
74
|
-
- `parent-block-path`:从顶层块到 excerpt 内容直接父节点的 id 路径,`/` 分隔(表格切片时即表格自身 id)。
|
|
64
|
+
- `--max-depth`:`outline` 中 `3` 表示列出 h1~h3;其它模式中 `0` 表示仅返回块自身,`-1` 表示不限深度。
|
|
65
|
+
- `--context-before` / `--context-after`:仅对完整的顶层块生效。命中位于容器或表格内时会被忽略;如需更大范围,改用 `section` 或 `range`。
|
|
75
66
|
|
|
76
|
-
|
|
67
|
+
推荐选择顺序:
|
|
77
68
|
|
|
78
|
-
|
|
69
|
+
|已知信息|首选方式|后续动作|
|
|
70
|
+
|-|-|-|
|
|
71
|
+
|具体术语、错误码或标识|`keyword`|上下文不足时,用返回的 `top-block-id` 再执行 `section` 或 `range`|
|
|
72
|
+
|章节或标题|`outline --max-depth 3`|获取标题 ID 后执行 `section`|
|
|
73
|
+
|精确起止位置|`range`|按需调整端点或深度|
|
|
74
|
+
|没有关键词,也不了解结构|`outline`|根据目录转入 `section` 或 `range`|
|
|
75
|
+
|确实需要整篇|省略 `--scope`|—|
|
|
79
76
|
|
|
80
77
|
## 返回值
|
|
81
78
|
|
|
@@ -85,7 +82,7 @@ lark-cli docs +fetch --doc Z1Fj...tnAc \
|
|
|
85
82
|
"identity": "user",
|
|
86
83
|
"data": {
|
|
87
84
|
"document": {
|
|
88
|
-
"document_id": "
|
|
85
|
+
"document_id": "docToken",
|
|
89
86
|
"revision_id": 12,
|
|
90
87
|
"content": "<title>标题</title><p>文档内容...</p>",
|
|
91
88
|
"reference_map": {
|
|
@@ -100,49 +97,35 @@ lark-cli docs +fetch --doc Z1Fj...tnAc \
|
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
99
|
```
|
|
103
|
-
|
|
104
100
|
`content` 的格式由 `--doc-format` 决定。`reference_map` 是正文引用数据的结构化 sidecar:一级键 `block_type` 表示引用所在的块类型,二级键 `ref` 对应正文中的临时引用;每个引用的值是由 `real-attr-key` 和 `real-attr-value` 组成的真实属性映射,具体属性由块类型决定。没有提取数据时,`reference_map` 可能为空。`content` 和 `reference_map` 属于同一份响应,保留或回放内容时应配套处理。`tips` 给出安全回放或降级提示。`im-markdown` 仅用于获取内容后在 `lark-im` 场景下使用。设置 `--scope` 时会被 `<fragment>` 包裹,详见上文"局部读取的输出结构"。
|
|
105
101
|
|
|
102
|
+
### 理解局部读取结果
|
|
103
|
+
|
|
106
104
|
## 参数
|
|
107
105
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
| `--end-block-id` | 否 | `range` 结束 id;`-1` 表示读到末尾 |
|
|
117
|
-
| `--keyword` | 否 | `keyword` 模式关键词,**4 层自动 fallback**(子串 → 归一化 → 分词形变 → RE2 正则);`\|` 分隔多分支 OR |
|
|
118
|
-
| `--context-before` | 否 | 命中前拉几个兄弟块(仅对顶层单元生效,默认 `0`) |
|
|
119
|
-
| `--context-after` | 否 | 命中后拉几个兄弟块(仅对顶层单元生效,默认 `0`) |
|
|
120
|
-
| `--max-depth` | 否 | `outline` = 标题层级上限;其它 = 子树深度(`-1` 不限,默认) |
|
|
121
|
-
| `--format` | 否 | `json`(默认)\| `pretty` |
|
|
122
|
-
|
|
123
|
-
## 图片、文件、画板的处理
|
|
124
|
-
|
|
125
|
-
**文档中的素材以 XML 标签形式出现:**
|
|
126
|
-
|
|
127
|
-
```xml
|
|
128
|
-
<img token="..." url="https://..." width="..." height="..."/>
|
|
129
|
-
<source token="..." url="https://..." name="skills.zip"/>
|
|
130
|
-
<whiteboard token="..."/>
|
|
131
|
-
```
|
|
106
|
+
设置 `--scope` 后,`content` 外层是 `<fragment>`,并按需携带 `mode`、`requested-start`、`requested-end` 或 `keyword` 属性。其子节点有两种形式:
|
|
107
|
+
|
|
108
|
+
- **顶层块**:直接作为 `<fragment>` 的子节点,表示返回了完整块。
|
|
109
|
+
- **`<excerpt top-block-id="..." parent-block-path="...">`**:表示只返回了容器或表格中的节选。
|
|
110
|
+
- `top-block-id` 是节选所在的顶层块 ID。需要查看完整块时,可将它作为 `section` 或 `range` 的锚点重新读取。
|
|
111
|
+
- `parent-block-path` 是从顶层块到节选内容直接父节点的 ID 路径,以 `/` 分隔;表格切片中即表格自身 ID。
|
|
112
|
+
|
|
113
|
+
看到 `<excerpt>` 时,不要假设已经获取了整个顶层块。
|
|
132
114
|
|
|
133
|
-
|
|
134
|
-
- 没有 `url`、或只想预览 → `docs +media-preview --token <token> --output ./preview_media`
|
|
135
|
-
- 明确下载,或目标是 `<whiteboard>`(画板只能走 shortcut) → `docs +media-download --token <token> --output ./downloaded_media`
|
|
136
|
-
- 文档封面图不是正文素材;下载/更新/删除封面图 → `docs +resource-download/+resource-update/+resource-delete --type cover`
|
|
115
|
+
表格默认瘦身:即使 `<table>` 本身是顶层块,也只返回表头和命中的行。读取整张表时,使用 `range --start-block-id <table-id> --end-block-id <table-id>`。如果切片覆盖全部数据行,SDK 会自动返回完整表格,不再包裹 `<excerpt>`。
|
|
137
116
|
|
|
138
|
-
##
|
|
117
|
+
## 处理文档内嵌资源
|
|
139
118
|
|
|
140
|
-
|
|
119
|
+
|返回内容|处理方式|
|
|
120
|
+
|-|-|
|
|
121
|
+
|`<img>`、`<source>`|有 `url` 时仅下载可信的公开 HTTPS URL:拒绝 userinfo 及解析到 private、loopback、link-local、multicast、unspecified 地址的 host,并逐次校验重定向;不满足时禁止请求。无 `url` 时提取 `token`,预览用 `docs +media-preview`,下载用 `docs +media-download`|
|
|
122
|
+
|`<whiteboard>`|提取 `token`,使用 `docs +media-download`|
|
|
123
|
+
|`<sheet>`、`<cite file-type="sheets">`|提取 `token` 和 `sheet-id`,转到 [`lark-sheets`](../../lark-sheets/SKILL.md)|
|
|
124
|
+
|`<bitable>`、`<cite file-type="bitable">`|提取 `token` 和 `table-id`,转到 [`lark-base`](../../lark-base/SKILL.md)|
|
|
125
|
+
|`<vc-transcribe-tab>`|提取 `vc-node-id`,使用 [`lark-note`](../../lark-note/SKILL.md) 的 `note +detail`|
|
|
126
|
+
|`<synced_reference>`|提取 `src-token` 和 `src-block-id`,读取源文档并定位 block|
|
|
141
127
|
|
|
142
128
|
## 参考
|
|
143
129
|
|
|
144
|
-
- [lark-doc-create](lark-doc-create.md) — 创建文档
|
|
145
|
-
- [lark-doc-update](lark-doc-update.md) — 更新文档
|
|
146
130
|
- [lark-doc-media-preview](lark-doc-media-preview.md) — 预览素材
|
|
147
|
-
- [lark-doc-media-download](lark-doc-media-download.md) —
|
|
148
|
-
- [lark-doc-resource-cover](lark-doc-resource-cover.md) — 读取、更新、删除文档封面图
|
|
131
|
+
- [lark-doc-media-download](lark-doc-media-download.md) — 下载素材或画板缩略图
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
用于查看 Docx 历史版本、按 `history_version_id` 回滚,以及查询回滚任务状态。
|
|
4
4
|
|
|
5
|
+
`entries[].edit_time` 是 RFC3339 时间字符串(例如 `2026-06-22T12:24:45Z`)。按时间匹配时先将其解析为时间值,再比较先后关系或时间差。
|
|
6
|
+
|
|
5
7
|
## 安全约束
|
|
6
8
|
|
|
7
9
|
- `overwrite` 会重建正文和 block ID,且无法保证保留评论等非正文对象。用户要求保留这些对象时,应先说明限制并确认。
|
|
@@ -70,7 +72,7 @@ lark-cli docs +history-revert-status --doc "<docx_url_or_token>" --task-id "<tas
|
|
|
70
72
|
{
|
|
71
73
|
"revision_id": 42,
|
|
72
74
|
"history_version_id": "11",
|
|
73
|
-
"edit_time": "
|
|
75
|
+
"edit_time": "2026-06-22T12:24:45Z",
|
|
74
76
|
"type": 1,
|
|
75
77
|
"name": "版本名",
|
|
76
78
|
"description": "版本说明",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
自行构造 Markdown 内容写入时同理:如字面文本 `a]b` 应写为 `a\]b`,`C:\Users` 应写为 `C:\\Users`。
|
|
49
49
|
|
|
50
50
|
## Shell 传参
|
|
51
|
-
- **首选文件传参**:`--content` 支持
|
|
51
|
+
- **首选文件传参**:`--content` 支持 `@./path/to/file.md`(读文件)和 `-`(读 stdin),彻底绕开 shell 转义;多行、含特殊字符、长文本强烈推荐。字面量以 `@` 开头时用 `@@` 转义(`--pattern` 不支持 `@file`)
|
|
52
52
|
- **⚠️ `@file` 路径限制**:`@file` 只接受当前工作目录下的相对路径,传绝对路径(如 `@/tmp/xxx.md`)会报 `unsafe file path`。需要落盘时,将文件写在 cwd 下(如 `./_content.md`),用完自行清理。
|
|
53
53
|
- **默认用单引号 `'...'`**:完全字面量,`$`、`` ` ``、`\`、`>`、`\<b>` 等全部原样保留
|
|
54
54
|
- **双引号 `"..."`**:会展开 `$变量`、反引号和 `$(...)` 命令替换,`\` 仍参与转义,易踩坑
|
|
@@ -66,6 +66,10 @@ Markdown 格式支持通过 URL 插入网络图片,图片将自动从 HTTP 下
|
|
|
66
66
|
- URL 支持 `http://` 和 `https://` 协议
|
|
67
67
|
- 对应的 XML 格式为:`<img href="https://example.com/photo.png"/>`
|
|
68
68
|
|
|
69
|
+
本地图片使用 ``(路径含空格时写作 ``);路径必须位于当前工作目录内,`alt` 会作为 caption。附件使用 `<source path="@./files/report.pdf"/>`
|
|
70
|
+
|
|
71
|
+
目前不支持将 Base64 Data URI(如 `data:image/png;base64,...`)直接作为 Markdown 图片地址传入;如仅有 Base64 数据,请先解码为本地图片文件,再使用上述 `@./...` 路径上传。
|
|
72
|
+
|
|
69
73
|
## Markdown 不支持的 Block 类型
|
|
70
74
|
|
|
71
75
|
非原生 Markdown 语法的内容(如下划线、高亮框(Callout)、勾选框、多维表格、画板、思维导图、电子表格、网格布局、引用(@文档/@人)、按钮、日期提醒、行内文件、文字颜色/背景色、同步块等)采用 XML 语法表示,详见 [`lark-doc-xml.md`](lark-doc-xml.md)。
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# `docs +script`
|
|
2
|
+
|
|
3
|
+
## 脚本列表
|
|
4
|
+
|
|
5
|
+
| `--command` | 用途 |
|
|
6
|
+
|-|-|
|
|
7
|
+
| `init-draft` | 创建带 Presentation Decision 基线的独占工作区,并预留尚不存在的 XML 路径。 |
|
|
8
|
+
| `parse` | 解析本地或在线文档,返回画像并检查决策与资源。 |
|
|
9
|
+
|
|
10
|
+
每个脚本只使用其小节列出的专用参数;所有脚本均可使用文末的通用参数。
|
|
11
|
+
|
|
12
|
+
## `init-draft`
|
|
13
|
+
|
|
14
|
+
### 参数
|
|
15
|
+
|
|
16
|
+
| 参数 | 必填 | 用法 |
|
|
17
|
+
|-|-|-|
|
|
18
|
+
| `--command init-draft` | 是 | 选择本脚本。 |
|
|
19
|
+
| `--presentation-decision` | 是 | 完整决策 JSON;接受内联 JSON、`@./decision.json` 形式的 CWD 下相对路径或 `-`(stdin)。 |
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
lark-cli docs +script --command init-draft \
|
|
23
|
+
--presentation-decision '<完整 Presentation Decision JSON>' \
|
|
24
|
+
--format json
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`data` 的结构如下;实际随机段为 8 位十六进制字符:
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"workspace": "draft_a1b2c3d4_folder",
|
|
32
|
+
"draft_path": "draft_a1b2c3d4_folder/draft.xml",
|
|
33
|
+
"tip": "The workspace directory has been created successfully. draft_path points to a new XML file that does not exist yet. Create and write the file directly without reading it first."
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
- 在生成正文前执行;不要自行创建工作目录或决策文件。CLI 固定生成 `draft_<8位十六进制字符>_folder/draft.xml`,以返回的实际路径为准。
|
|
38
|
+
- 决策必须是单个 JSON 对象,包含 `audience`、`reader_task`、`genre_contract`、`adapter`、`presentation_mode` 和 `visual_plan`。`presentation_mode` 取 `formal|normal|rich`;`genre_contract`、`adapter` 使用固定短名、`"none"` 或 `null`。
|
|
39
|
+
- `visual_plan` 包含非空 `reason` 和 `blocks` 数组;每项为 `{type,min_count,purpose}`,`type` 不重复,`min_count` 为正整数。按本 Skill 创建文档时,`blocks` 只对 `whiteboard`、`img`、`html5-block` 设置最低数量,其他表达按内容需要使用但不设数量约束;三类均无需约束时写 `[]`。CLI 为外部决策兼容 `type: "list"`,检查时将 `<ul>` 与 `<ol>` 的数量相加。仅有字数要求时添加 `word_count: {min,max}`;未指定的一侧写 `null`,至少一侧为正整数,且 `min <= max`。
|
|
40
|
+
- 返回 `data.workspace`(已创建的随机工作区)、`data.draft_path`(可直接写入的 XML 路径)和英文操作提示 `data.tip`。工作区及其中的 `.presentation-decision.json` 已存在,但 XML 尚不存在;遵循提示直接使用文件创建/写入能力在 `draft_path` 写入完整 XML,首次写入前不要读取该路径。
|
|
41
|
+
- 后续始终使用 `draft_path`,不得另建 XML、复用其他任务的路径或修改工作区中的 `.presentation-decision.json`;使用完后精确删除 `workspace`。
|
|
42
|
+
|
|
43
|
+
## `parse`
|
|
44
|
+
|
|
45
|
+
### 参数
|
|
46
|
+
|
|
47
|
+
| 参数 | 必填 | 用法 |
|
|
48
|
+
|-|-|-|
|
|
49
|
+
| `--command parse` | 是 | 选择本脚本。 |
|
|
50
|
+
| `--content` | 二选一 | 本地 XML 的字面内容、`@./document.xml` 形式的 CWD 下相对路径或 `-`(stdin)。 |
|
|
51
|
+
| `--doc` | 二选一 | 在线 Docx/Wiki URL 或 token;与 `--content` 互斥。 |
|
|
52
|
+
| `--presentation-decision` | 否 | 用于检查当前输入的完整决策 JSON;支持内联、`@./decision.json` 形式的 CWD 下相对路径或 `-`。 |
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
lark-cli docs +script --command parse --content "@./document.xml" --format json
|
|
56
|
+
lark-cli docs +script --command parse --doc "<Docx/Wiki URL 或 token>" --format json
|
|
57
|
+
lark-cli docs +script --command parse --content "@./document.xml" --presentation-decision '<JSON>' --format json
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
- `--content` 与 `--presentation-decision` 同时使用时,最多一个参数读取 stdin。
|
|
61
|
+
- 决策必须包含 `audience`、`reader_task`、`genre_contract`、`adapter`、`presentation_mode` 和 `visual_plan`;`presentation_mode` 取 `formal|normal|rich`。`visual_plan` 包含非空 `reason` 和不重复的 `{type,min_count,purpose}` 数组;兼容的 `list` 约束按 `<ul>` 与 `<ol>` 的合计数量检查。仅有字数要求时添加合法的 `word_count: {min,max}`。
|
|
62
|
+
- 使用 `--content "@./<init-draft 返回的 data.draft_path>"` 时自动加载保存的决策;显式 `--presentation-decision` 优先。
|
|
63
|
+
- `--doc` 需要 `docx:document:readonly`;`--content` 不调用 OpenAPI。
|
|
64
|
+
- 返回 `data.assessment.status`、`data.profile` 和按需出现的 `data.diagnostics[]`;profile 包含 `word_count`、`char_count`、`block_count` 和 `blocks[]`。顶层 `ok` 只表示命令是否成功执行。画像、决策或资源预检未通过时,命令仍以 `ok:true` 和退出码 0 返回,但 `assessment.status` 为 `failed`;每条 diagnostic 提供 `severity`、稳定 `code`、`msg`、可选 `expected` / `actual` 和 `suggested`。同一原因失败的远程图片合并为一条 diagnostic,并在 `image_indices[]` 中列出图片序号,避免重复提示。修复后重新解析,直到 `assessment.status` 为 `passed`。
|
|
65
|
+
- `parse` 不是 XML/SDK schema validator。成功且无 warning 也不保证服务端接受;写入前仍须按 XML 规则复查。
|
|
66
|
+
|
|
67
|
+
## 所有脚本通用参数
|
|
68
|
+
|
|
69
|
+
| 参数 | 用法 |
|
|
70
|
+
|-|-|
|
|
71
|
+
| `--as user|bot` | 选择身份。 |
|
|
72
|
+
| `--dry-run` | 只返回执行计划,不联网、解析或写文件。 |
|
|
73
|
+
| `--format` | 输出格式:`json|pretty|table|ndjson|csv`;模型使用默认的 `json`。 |
|
|
74
|
+
| `--json` | `--format json` 的别名。 |
|
|
75
|
+
| `--jq` / `-q` | 裁剪 JSON;不得与非 JSON 格式同时使用。 |
|
|
76
|
+
| `-h` / `--help` | 查看帮助。 |
|