openyida 2026.7.26-beta.2 → 2026.7.26-beta.3

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openyida",
3
- "version": "2026.7.26-beta.2",
3
+ "version": "2026.7.26-beta.3",
4
4
  "description": "OpenYida CLI - 宜搭低代码 AI 开发工具(安装即用,零配置)",
5
5
  "bin": {
6
6
  "openyida": "bin/yida.js",
@@ -99,7 +99,7 @@ OpenYida builder 默认使用 `create-app / create-form / create-page / generate
99
99
  - 已解析到目标自定义页面 URL / `formUuid` / bound page 时,默认写源码并发布到该页面,不执行 `yida-create-page`;只有缺少目标 display page 且本次意图允许新增页面时才创建。
100
100
  - 已解析到目标表单 `formUuid` 时,字段结构诉求默认走 `yida-create-form-page` 的 update/patch/rule/bind-datasource 模式,不创建同名或同类表单。
101
101
  - 已解析到目标流程表单 / `processCode` 时,默认走 `yida-process-rule` 配置/更新流程,不从零执行 `yida-create-process`。
102
- - 完整应用 `fast_build` 也遵守本规则:`resolve app → resolve forms → resolve main page → create missing resources only → update/publish`。
102
+ - 完整应用 `fast_build` 也遵守本规则:先占位主页面,再建表单,最后回填发布。
103
103
 
104
104
  验收心智模型:
105
105
 
@@ -134,7 +134,7 @@ OpenYida builder 默认使用 `create-app / create-form / create-page / generate
134
134
  > 用户说“按默认方案 / 不要追问 / 直接创建 / 尽快搭建”时,`yida-app` 选择 `fast_build`:先解析并复用已有资源,只创建缺失且允许创建的应用/表单/页面,最后发布并输出链接。
135
135
  > `yida-app fast_build` 使用常规 OpenYida 命令编排。
136
136
 
137
- **默认链路**:`fast_build` 必须只做 `resolve app → resolve forms → resolve main page → create missing resources only → 编写/更新主页面源码 → 发布 → 返回访问链接`。不要因为应用名里有“看板 / 系统 / 管理”就升级到 `deep_design` 或 `full_demo`。
137
+ **默认链路**:`fast_build` 必须只做 `resolve app → reserve main page → resolve forms → 编写/更新主页面源码 → 发布 → 返回访问链接`。若需要首页/工作台/智能助手/门户门面且主页面缺失,先创建空 display page 占位,再建表单,最后回填发布;不要因此默认执行导航重排。不要因为应用名里有“看板 / 系统 / 管理”就升级到 `deep_design` 或 `full_demo`。
138
138
 
139
139
  **fast_build 默认加载边界**:只加载 `yida-app` 和当前阶段必需的子技能。`yida-create-app`、`yida-create-page`、`yida-create-form-page` 只有在目标资源缺失且本次意图允许创建时才加载;已有资源时进入对应 update / publish 分支。页面默认走 Code Canvas;当用户明确要求普通自定义页面 JSX/Jsx 组件链路,或页面强依赖普通自定义页实例桥(`this.$(fieldId)` / `this.utils.yida.*` / `this.dataSourceMap` / 表单提交或字段双向绑定深度耦合)时,选择 `yida-custom-page`。不要默认加载 `yida-page-uiux`、`yida-data-source-connectors`、`yida-data-management`、`yida-nav-group`、`yida-dashboard`,也不要默认深读 `references/`。
140
140
 
@@ -13,7 +13,7 @@ description: 宜搭完整应用开发编排技能。对普通 OpenYida 应用做
13
13
 
14
14
  用户说“按默认方案”“不要追问”“直接创建”“尽快搭建”等,必须选择 `fast_build`,用合理 MVP 假设直接执行,不展开深度 PRD 讨论。
15
15
 
16
- **默认判定**:完整应用搭建或补齐时,只要用户表达“默认方案 / 不要追问 / 直接创建 / 尽快搭建”等快速交付信号,就必须命中 `fast_build`。默认完成链路固定为 `resolve app → resolve forms → resolve main page → create missing resources only → 编写/更新主页面源码 → 发布 → 返回访问链接`。
16
+ **默认判定**:完整应用搭建或补齐时,用户表达“默认方案 / 不要追问 / 直接创建 / 尽快搭建”等快速交付信号,就命中 `fast_build`。默认链路:`resolve app → reserve main page → resolve forms → 编写/更新主页面源码 → 发布 → 返回访问链接`。
17
17
 
18
18
  > 资源边界:本技能是默认完整应用编排。目标不明时先只读确认或询问用户。
19
19
 
@@ -170,8 +170,8 @@ UI 不是独立替代主流程的步骤,而是按模式插入到页面生成
170
170
  | 0. 解析资源上下文 | 无 | 合并本轮显式资源、agent bound context、workspace config/cache、会话历史;本轮显式目标覆盖 bound context;判定 app/page/form/process 的 `source` 和 `allowCreate` | 明确复用、创建缺口或需要 ask_human |
171
171
  | 1. resolve app | `yida-create-app` 仅在 app 缺失且允许创建时加载;不自动修改应用名称 | 已有 `appType`/应用 URL/bound app 时直接复用;否则创建应用并提取真实 `appType` | 拿到真实目标 `appType`,且不会重复创建同类 app |
172
172
  | 2. 记录最小需求 | 无 | 写 `prd/<项目名>.md`:只记录 MVP 假设、核心表单/页面、完成标准;写/更新 `.cache/<项目名>-schema.json` 本地 ID 映射;不要写长 PRD | 业务语义和 ID 存储位置明确 |
173
- | 3. resolve forms | `yida-create-form-page` | 已有目标表单时 update/patch/rule/bind-datasource;简单字段属性更新直接用 compact changes CLI 内部按 label schema/定位字段并输出 resolved evidence;缺少支撑 MVP 的核心表单且允许创建时才 create;字段配置文件写入 `.cache/openyida/<项目名>/`;页面/数据/流程/公式确需多字段映射时,对每个目标表单最多一次性获取完整 `--field-map-json` 并合并写回 `.cache/<项目名>-schema.json` | 拿到或确认表单 `formUuid`,并在需要时拿到真实 `fieldId` |
174
- | 4. resolve main page | `yida-create-page` 仅在主页面缺失且允许创建时加载 | 已有页面 URL / `formUuid` / bound page 时直接作为主页面;否则创建一个用户主入口 display page | 拿到真实目标页面 `formUuid`,且不会重复创建页面 |
173
+ | 3. reserve main page | `yida-create-page` 仅在主页面缺失且允许创建时加载 | 已有页面 URL / `formUuid` / bound page 时直接作为主页面;若需要首页/工作台/智能助手/门户门面且缺少主页面,先创建空 display page 占位,暂不写最终源码 | 拿到真实主页面 `formUuid`,且不会重复创建页面 |
174
+ | 4. resolve forms | `yida-create-form-page` | 已有目标表单时 update/patch/rule/bind-datasource;简单字段属性更新直接用 compact changes CLI 内部按 label schema/定位字段并输出 resolved evidence;缺少支撑 MVP 的核心表单且允许创建时才 create;字段配置文件写入 `.cache/openyida/<项目名>/`;页面/数据/流程/公式确需多字段映射时,对每个目标表单最多一次性获取完整 `--field-map-json` 并合并写回 `.cache/<项目名>-schema.json` | 拿到或确认表单 `formUuid`,并在需要时拿到真实 `fieldId` |
175
175
  | 5. 编写/更新页面 | 默认 `yida-canvas-custom-page`;明确要求 JSX/Jsx 组件链路或实例桥强依赖时选择 `yida-custom-page` | 生成或修改主页面源码;只实现 MVP 首屏和核心操作。可用已解析表单链接、真实空态、表单入口和轻量指标口径完成主页面;若展示业务列表/看板/详情记录,必须接本轮真实表单 `dataBinding.mode=form`,或先写入 demo records 后再读取;不要加载视觉/密度/报表/数据源等额外技能 | 本地源码通过对应页面技能的基础校验;未执行 publish 时仍是“源码已修改,尚未发布” |
176
176
  | 6. 发布页面 | `yida-publish-page` | 按页面链路校验后发布到已解析主页面:Canvas `.canvas.jsx` 使用 `openyida publish` 的 Canvas 编译阶段或 `compileCanvasLocal` 快检;普通自定义页面 `.oyd.jsx` / `.jsx` 跑 `check-page` / `compile`;再执行 `openyida publish <source> <appType> <displayPageFormUuid>` 发布主页面 | 发布成功并获得可访问 URL |
177
177
  | 7. 输出结果 | 无 | 返回应用链接、主页面链接、复用/创建/更新的资源摘要、后续可选项 | 用户拿到 URL |
@@ -25,6 +25,7 @@ description: 创建自定义展示页面(display 类型)并返回 formUuid
25
25
 
26
26
  - **创建前必须确认**:单点创建页面时,执行创建命令前必须向用户确认页面名称和目标应用。由 `yida-app fast_build` 编排且用户已说“默认方案 / 不要追问 / 直接创建”时,合理命名并直接创建,不再二次追问。
27
27
  - 创建成功后,将 formUuid 记录到 `.cache/<项目名>-schema.json`
28
+ - 由 `yida-app fast_build` 编排的首页/工作台/智能助手/门户门面页,可以先于业务表单创建;先占位记录 `formUuid`,待表单 ID 明确后再写源码并发布。
28
29
  - 创建页面后,必须继续选择一个页面实现链路编写页面源码,再用 `yida-publish-page` 发布:Code Canvas 链路用 `yida-canvas-custom-page`;普通自定义页面 JSX/Jsx 组件链路用 `yida-custom-page`
29
30
  - 用户明确要求 JSX / Jsx 组件 / 普通自定义页,或页面强依赖 `this.$`、`this.utils.yida.*`、`this.dataSourceMap` 时,创建后进入 `yida-custom-page`;涉及成员、部门、附件上传或图片上传时必须读取 `component-jsx-guide.md`,上传还必须读取 `attachment-upload-guide.md`
30
31
  - **本技能不读写 memory**:formUuid 等信息输出到 stdout,通过 `.cache/<项目名>-schema.json` 持久化,不依赖跨会话的 memory 状态