yida-page-config · git:20260818.7ea39f2 · 2026-08-18 · sha256 2b054a1b63a003d8

yida-page-config git:20260818.7ea39f2A

Immutable. This exact content is served forever at /api/v1/blob/2b054a1b63a003d8.

---
name: yida-page-config
description: 配置已有页面的公开访问和组织内分享。
---

# 页面配置

## 适用范围

- 不得把不支持、冲突、stale、reconciliation required 或状态不确定的任务自动改走 `save-share-config`/`update-form-config`,不得按标题或 URL adopt、猜 formUuid。
- 只有页面目标明确属于当前普通 OpenYida 资源时,以下命令、stdout/stderr 和返回行为才按本技能契约使用;所有权不明确时零远端写。

## 严格禁止 (NEVER DO)

- 不要为使用宜搭表单数据的自定义页面配置公开访问(`/o/xxx`),匿名用户无法调用需要登录态的表单接口
- 不要跳过 `verify-short-url` 验证直接保存配置,URL 格式错误会导致配置失败
- 不要编造 `appType` 或 `formUuid`,必须从命令返回或 `config.json` 中提取

## 严格要求 (MUST DO)

- 配置公开访问前必须确认页面类型:纯展示页面才可配置 `/o/` 公开访问
- 必须先运行 `verify-short-url` 验证 URL 有效性,再执行 `save-share-config`
- 配置完成后必须访问生成的 URL 验证页面可正常访问
- **本技能不读写 memory**:页面配置通过 CLI 命令写入宜搭平台,不依赖跨会话的 memory 状态

## 适用场景

| 用户意图 | 触发条件 |
|---------|---------|
| 页面公开访问 | "公开访问"、"分享链接"、"外部访问" |
| 组织内分享 | "组织内分享"、"内部分享" |
| 导航栏显示控制 | "隐藏导航"、"全屏展示" |

## 触发条件

**正向触发**:
- "公开访问"、"分享链接"、"外部访问"、"生成分享地址"
- "组织内分享"、"内部分享"
- "隐藏导航"、"全屏展示"、"隐藏顶部导航栏"
- 页面发布后需要配置访问权限时

---


## ⚠️ 关键限制

**使用宜搭表单数据的自定义页面不支持公开访问(`/o/xxx`)**,因为匿名用户无法调用需要登录态的表单接口。

| 页面类型 | 公开访问 `/o/` | 组织内分享 `/s/` |
|---------|:-:|:-:|
| 纯展示页面(静态/外部 API) | ✅ | ✅ |
| 使用宜搭表单数据 | ❌ | ✅ |

## 命令

### 验证 URL

```bash
openyida verify-short-url <appType> <formUuid> <url>
```

### 保存配置

```bash
openyida save-share-config <appType> <formUuid> <url> <isOpen> [openAuth]
```

| 参数 | 必填 | 说明 |
|------|------|------|
| `url` | 是 | `/o/xxx` 或 `/s/xxx`,关闭时传 `""` |
| `isOpen` | 是 | `y` 开启 / `n` 关闭 |
| `openAuth` | 否 | `y` 需授权 / `n` 不需要(默认) |

### 查询配置

```bash
openyida get-page-config <appType> <formUuid>
```

### 隐藏页面导航

```bash
openyida update-form-config <appType> <formUuid> false "<页面标题>"
```

这条命令只做页面级导航隐藏:

| 场景 | 用这个命令吗 | 说明 |
| --- | --- | --- |
| 页面隐藏导航 / 无导航 / 全屏无框 | 是 | 对应 `isRenderNav=false` |
| 自定义页自绘应用侧边/顶部导航 | 不是主命令 | 先执行 `openyida update-app <appType> --hide-app-nav` |
| 自绘应用导航后还要求页面本身也隐藏导航 | 是 | 在 `update-app --hide-app-nav` 之后再执行本命令 |

看板/驾驶舱新建页面默认导航可见;只有用户显式要求页面隐藏导航 / 无导航 / 全屏无框时,才使用 `openyida create-page <appType> "<页面名>" --mode dashboard --hide-nav` 一步完成页面导航隐藏。自定义页之间跳转不靠 `?isRenderNav=false` 隐藏应用导航。

## URL 格式

- 公开访问:`/o/xxx`,组织内分享:`/s/xxx`
- 路径段仅支持 `a-z A-Z 0-9 _ -`,可用 `/` 分隔多级路径,例如 `/o/team/report-2026`
- 不允许空路径段、连续 `/` 或尾部 `/`,路径全局唯一

## 异常处理

| 异常场景 | 处理方式 |
|---------|----------|
| verify-short-url 验证失败 | 检查 URL 格式(路径段只含 `a-z A-Z 0-9 _ -`,`/` 仅作分隔符),确认路径全局唯一 |
| save-share-config 失败 | 必须先执行 verify-short-url 验证通过后再保存 |
| 公开访问页面无法加载数据 | 使用宜搭表单数据的页面不支持公开访问(/o/),改用组织内分享(/s/) |
| 配置后访问 URL 404 | 确认 URL 路径唯一,等待 CDN 缓存刷新(通常 1-2 分钟) |

## Agent 错误处理策略

当 Agent 执行本技能遇到错误时,必须遵循以下默认行为:

| 错误类型 | 默认处理策略 |
|---------|-------------|
| 命令执行失败 | 停止执行,向用户展示错误信息,询问是否重试或调整参数 |
| 参数缺失(appType/formUuid 等) | 主动询问用户补充,不得猜测或编造 |
| 权限不足 / 登录态失效 | 停止执行,提示用户执行 `openyida auth status` 检查登录态 |
| URL 验证失败 | 停止执行,提示用户检查 URL 格式或更换路径 |
| 网络超时 | 重试 1 次,仍失败则停止并提示用户检查网络 |
| 未知错误 | 停止执行,完整展示错误信息,建议用户反馈问题 |