openyida 2026.4.2-beta.14 → 2026.4.2-beta.16

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/lib/core/copy.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /**
2
- * copy.js - 复制 project 工作目录模板 / 创建 yida-skills 软链接到当前 AI 工具环境
2
+ * copy.js - 复制 project 工作目录模板 / 复制 yida-skills 到当前 AI 工具环境
3
3
  *
4
4
  * 用法:
5
5
  * openyida copy → 复制 project/ 目录模板(默认,合并模式)
6
6
  * openyida copy --force → 复制 project/ 目录模板(强制覆盖,先清空目标目录)
7
- * openyida copy -skills → 创建 yida-skills/ 软链接(如果存在实际目录则先删除)
8
- * 悟空环境下:删除已有软链(悟空通过手动上传技能,不需要软链)
7
+ * openyida copy -skills → 复制 yida-skills/ 到当前 AI 工具的 skills 目录
8
+ * 悟空环境下:删除已有 yida-skills/(悟空通过手动上传技能)
9
9
  * openyida copy -project → 复制 project/ 目录模板(与默认行为相同,显式指定)
10
10
  * openyida copy -project --force → 复制 project/ 目录模板(强制覆盖)
11
11
  *
@@ -17,12 +17,8 @@
17
17
  *
18
18
  * project/ 合并模式(默认):已存在的文件强制覆盖,目标目录中多余的文件保留不动
19
19
  * project/ 强制模式(--force):先清空目标目录,再完整复制
20
- * yida-skills/(非悟空):始终创建软链接,如目标存在实际目录则先删除
21
- * yida-skills/(悟空):删除已有软链或目录(悟空通过手动上传技能,不需要软链)
22
- *
23
- * Windows 兼容说明:
24
- * - 软链接在 Windows 上需要管理员权限或开发者模式,失败时自动降级为目录复制
25
- * - 路径分隔符统一使用 path.join 处理
20
+ * yida-skills/(非悟空):复制到 <cwd>/yida-skills/,如目标已存在则先清理
21
+ * yida-skills/(悟空):删除已有软链或目录(悟空通过手动上传技能,不需要复制)
26
22
  */
27
23
 
28
24
  'use strict';
@@ -295,9 +291,9 @@ function run() {
295
291
  }
296
292
 
297
293
  if (shouldLinkSkills) {
298
- const destSkillsLink = path.join(destBase, 'yida-skills');
299
294
  if (isWukong) {
300
- // 悟空环境:删除已有软链,不创建新软链
295
+ // 悟空环境:删除已有软链或目录,不安装(悟空手动上传技能)
296
+ const destSkillsLink = path.join(destBase, 'yida-skills');
301
297
  console.log(t('copy.wukong_skills_cleanup'));
302
298
  const removed = removeSkillsLink(destSkillsLink);
303
299
  results.push({
@@ -307,15 +303,44 @@ function run() {
307
303
  type: 'wukong-cleanup'
308
304
  });
309
305
  } else {
310
- // 其他环境:创建软链接
311
- console.log(t('copy.creating_symlink'));
312
- const success = createSymlink(packageYidaSkillsDir, destSkillsLink);
313
- results.push({
314
- label: 'yida-skills/',
315
- dest: destSkillsLink,
316
- count: success ? 1 : 0,
317
- type: 'symlink'
318
- });
306
+ // 其他环境:复制到 AI 工具配置目录的 skills/yida-skills/
307
+ // 目标路径:~/<tool-config>/skills/yida-skills/(与 postinstall 保持一致)
308
+ const activeResult = envResults.find((r) => r.isActive);
309
+ const toolConfigDir = activeResult
310
+ ? path.join(os.homedir(), activeResult.dirName)
311
+ : null;
312
+
313
+ if (toolConfigDir) {
314
+ const skillsDir = path.join(toolConfigDir, 'skills');
315
+ const destSkillsDest = path.join(skillsDir, 'yida-skills');
316
+
317
+ // 清理旧版遗留在根目录的错误安装
318
+ removeSkillsLink(path.join(toolConfigDir, 'yida-skills'));
319
+
320
+ // 清理已有的 skills/yida-skills/(旧软链或旧目录)
321
+ removeSkillsLink(destSkillsDest);
322
+
323
+ // 复制文件
324
+ fs.mkdirSync(skillsDir, { recursive: true });
325
+ const count = mergeCopyDir(packageYidaSkillsDir, destSkillsDest);
326
+ results.push({
327
+ label: 'yida-skills/',
328
+ dest: destSkillsDest,
329
+ count,
330
+ type: 'copy'
331
+ });
332
+ } else {
333
+ // 未检测到 AI 工具,复制到当前目录下
334
+ const destSkillsDest = path.join(destBase, 'yida-skills');
335
+ removeSkillsLink(destSkillsDest);
336
+ const count = mergeCopyDir(packageYidaSkillsDir, destSkillsDest);
337
+ results.push({
338
+ label: 'yida-skills/',
339
+ dest: destSkillsDest,
340
+ count,
341
+ type: 'copy'
342
+ });
343
+ }
319
344
  }
320
345
  }
321
346
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openyida",
3
- "version": "2026.04.02-beta.14",
3
+ "version": "2026.04.02-beta.16",
4
4
  "description": "OpenYida CLI - 宜搭低代码 AI 开发工具(安装即用,零配置)",
5
5
  "bin": {
6
6
  "openyida": "./bin/yida.js",
@@ -1,11 +1,8 @@
1
1
  ---
2
2
  name: yida-skills
3
- description: >
4
- 宜搭低代码平台 AI 开发入口。一句话生成完整应用:创建应用、表单设计、自定义页面、流程配置、数据管理。
5
- 当用户提到"宜搭"、"yida"、"低代码"、"创建应用"、"创建表单"、"发布页面"、"搭建"、"系统"、"应用"时触发。
3
+ description: "宜搭低代码平台 AI 开发入口。一句话生成完整应用:创建应用、表单设计、自定义页面、流程配置、数据管理。当用户提到「宜搭」「yida」「低代码」「创建应用」「创建表单」「发布页面」「搭建」「系统」「应用」时触发。"
6
4
  metadata:
7
- version: 2026.04.02-beta.14
8
- ---
5
+ version: 2026.04.02-beta.16
9
6
 
10
7
  # 宜搭 AI 应用开发指南
11
8
 
@@ -1,7 +1,6 @@
1
1
  ---
2
2
  name: yida-chart
3
- description: >-
4
- 宜搭 ECharts 高级报表技能。通过 ECharts + 自定义页面 JSX 实现高度定制化、更美观的数据可视化报表。本技能不负责创建宜搭原生报表(标准报表由 yida-report 技能负责),但 ECharts 报表必须依赖宜搭原生报表的 getDataAsync.json 或 getCacheData.json 接口获取聚合数据,禁止前端聚合(当前仅支持单表数据源,暂不支持多表关联)。数据源获取方式:若用户已有原生报表,直接读取其信息作为数据源;若用户没有原生报表,则先调用 yida-report 技能创建原生报表作为数据源。当用户提供了已有报表 URL(如 https://www.aliwork.com/APP_XXX/admin/REPORT-XXX)时,解析现有报表 Schema 提取数据源参数,基于该数据源创建 ECharts 自定义页面(输出始终是 ECharts 自定义页面,而非优化后的原生报表)。当用户提到"更美观"、"高级"、"定制化"、"ECharts"、"echarts"、"Dashboard 大屏"、"数据大屏"等关键词,或用户提供了报表 URL 要求优化时,使用此技能。普通的"报表"、"统计"等需求默认由 yida-report 技能处理。
3
+ description: "宜搭 ECharts 高级报表技能。通过 ECharts + 自定义页面 JSX 实现高度定制化、更美观的数据可视化报表。本技能不负责创建宜搭原生报表(标准报表由 yida-report 技能负责),但 ECharts 报表必须依赖宜搭原生报表的 getDataAsync.json 或 getCacheData.json 接口获取聚合数据,禁止前端聚合。当用户提到「更美观」「高级」「定制化」「ECharts」「echarts」「Dashboard 大屏」「数据大屏」等关键词,或用户提供了报表 URL 要求优化时,使用此技能。普通的「报表」「统计」等需求默认由 yida-report 技能处理。"
5
4
  ---
6
5
 
7
6
  # 宜搭 ECharts 高级报表技能
@@ -1,10 +1,6 @@
1
1
  ---
2
2
  name: yida-flash-note-to-prd
3
- description: >
4
- 钉钉闪记转高质量 Prompt 技能。将钉钉闪记(会议录音转文字的会议纪要、AI 听记图文纪要)自动识别并转化为
5
- 高质量的结构化 prompt,输出到 prd/ 目录,可直接驱动后续宜搭应用开发流程。
6
- 支持文本、图片、闪记链接等多种输入方式。
7
- 当用户发送闪记内容(文本或图片)、提到"闪记"、"会议纪要"、"会议记录"等关键词时,自动触发此技能。
3
+ description: "钉钉闪记转高质量 Prompt 技能。将钉钉闪记(会议录音转文字的会议纪要、AI 听记图文纪要)自动识别并转化为高质量的结构化 prompt,输出到 prd/ 目录,可直接驱动后续宜搭应用开发流程。支持文本、图片、闪记链接等多种输入方式。当用户发送闪记内容(文本或图片)、提到「闪记」「会议纪要」「会议记录」等关键词时,自动触发此技能。"
8
4
  ---
9
5
 
10
6
  # 钉钉闪记转高质量 Prompt 技能
@@ -1,8 +1,6 @@
1
1
  ---
2
2
  name: yida-formula
3
- description: >
4
- 宜搭公式编写规范。提供公式语法规则、字段引用方式、函数分类速查和常见场景示例。
5
- 当用户需要了解宜搭公式怎么写、有哪些函数可用、如何在字段中配置公式时,使用此技能。
3
+ description: "宜搭公式编写规范。提供公式语法规则、字段引用方式、函数分类速查和常见场景示例。当用户需要了解宜搭公式怎么写、有哪些函数可用、如何在字段中配置公式时,使用此技能。"
6
4
  ---
7
5
 
8
6
  # 宜搭公式编写规范
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  name: yida-ppt-slider
3
- description: >
4
- 宜搭自定义页面 PPT 幻灯片开发指南。用于在宜搭平台上创建全屏演示文稿式的幻灯片页面,
5
- 支持键盘翻页、移动端适配、演讲笔控制等功能。
6
- 适用于技术分享、产品路演、培训课件等场景。
3
+ description: "宜搭自定义页面 PPT 幻灯片开发指南。用于在宜搭平台上创建全屏演示文稿式的幻灯片页面,支持键盘翻页、移动端适配、演讲笔控制等功能。适用于技术分享、产品路演、培训课件等场景。"
7
4
  ---
8
5
 
9
6
  # 宜搭 PPT 幻灯片开发指南
@@ -1,9 +1,6 @@
1
1
  ---
2
2
  name: yida-report
3
- description: >
4
- 宜搭原生报表技能,用于创建宜搭平台内置的原生报表页面(vc-yida-report 组件库),支持 16 种开箱即用的图表/表格/筛选器组件,通过 openyida create-report 命令生成报表 Schema 并发布。
5
- 本技能定位:创建宜搭原生报表(作为数据源),普通的「报表」「统计」需求默认使用本技能。
6
- 如需更美观的 ECharts 自定义可视化大屏,请使用 yida-chart 技能(依赖本技能创建的原生报表作为数据源)。
3
+ description: "宜搭原生报表技能,用于创建宜搭平台内置的原生报表页面(vc-yida-report 组件库),支持 16 种开箱即用的图表/表格/筛选器组件,通过 openyida create-report 命令生成报表 Schema 并发布。本技能定位:创建宜搭原生报表(作为数据源),普通的「报表」「统计」需求默认使用本技能。如需更美观的 ECharts 自定义可视化大屏,请使用 yida-chart 技能(依赖本技能创建的原生报表作为数据源)。"
7
4
  ---
8
5
 
9
6
  # 宜搭原生报表 + ECharts 自定义看板 技能文档