ardot-create-new-file · diff
git:20260610.fe5ae6d to git:20260701.bfeff65
4 added, 4 removed. Audit A to A.
---
name: ardot-create-new-file
description: |
**强制性前置条件** — 每次调用 `create_new_page` 工具之前,必须先调用此技能。
未经加载此技能,绝不能直接调用 `create_new_page`。
当用户想要在 Ardot 设计文件中创建新页面时触发。
关键词:在 Ardot 上下文中的"创建新页面"、"添加页面"、"新画布"。
disable-model-invocation: false
---
# ardot-create-new-file — 创建新 Ardot 页面
处理 Ardot 设计文件中的页面创建。轻量级前置技能,确保正确的页面 ID 追踪和编辑器状态管理。
## 工作流程
### 第一步:确定页面名称和位置
根据用户意图决定描述性页面名称:
- `"Components"` — 用于可复用组件库
- `"Light Mode"` / `"Dark Mode"` — 用于特定主题的页面
- `"Screens"` — 用于设计原型
- 如果新页面需要出现在特定现有页面之后,使用 `leftPageId`
### 第二步:调用 create_new_page
```json
create_new_page({
"name": "Components",
"select": false
})
```
**默认使用 `select: false`** — 这会创建页面但不切换编辑器焦点,允许你继续在当前页面工作。
仅当你需要立即切换到新页面进行后续操作时,才使用 `select: true`。
### 第三步:记录返回的 pageId
- 响应包含新页面的 ID。**立即保存** — 之后没有其他方法可以发现页面 ID。
+ 响应包含新页面的 ID。**立即保存** — 这是后续跨页面写入和交接时最可靠的 pageId 来源。
```
响应示例:pageId = "3:1672"
```
使用此 pageId 进行:
- 跨页面 `I("3:1672", {...})` 操作
- `M("nodeId", "3:1672")` 将节点移动到此页面
- `batch_read({parentId: "3:1672"})` 读取此页面内容
## 重要说明
- - **pageId 发现受限**:不带 nodeIds 的 `batch_read({})` 只返回当前活动页面的内容。无法通过 batch_read 枚举所有页面。
- - **在创建时记录页面 ID** — 没有 `list_pages` 工具。
+ - **pageId 发现受限**:不带 nodeIds 的 `batch_read({})` 只返回当前上下文的内容,不能作为全文件页面枚举依据。
+ - **在创建时记录页面 ID** — 这是最可靠的交接方式;必要时也可以读取已知 pageId 或已知节点 ID。
- **`select: true`**(默认值)会将编辑器切换到新页面。如果你正在跨多个页面构建,这可能会中断你的工作流程。
- **`leftPageId`** 允许在特定兄弟页面之后插入新页面,有助于维护页面顺序。
## 跨页面操作参考
一旦你记录了页面 ID:
| 操作 | 方法 | 示例 |
|------|------|------|
| 在特定页面创建 | `I("pageId", {...})` | `I("3:1672", {type: "FRAME", ...})` |
| 移动节点到页面 | `M("nodeId", "pageId")` | `M("3:544", "3:1672")` |
- | 读取页面内容 | `batch_read({parentId: "pageId"})` | `batch_read({parentId: "3:1672"})` |
+ | 读取页面内容 | `batch_read({nodeIds: ["pageId"], properties: ["children"], readDepth: 1})` | `batch_read({nodeIds: ["3:1672"], properties: ["children"], readDepth: 1})` |
| 截图页面内容 | `capture_screenshot({nodeIds: [...]})` | 通过节点 ID 跨页面 |