La interfaz está localizada; las descripciones y documentos de las Skills se traducen automáticamente con IA a su idioma. El código, los comandos, rutas y términos técnicos se mantienen en el original, y prevalece el documento del autor.
Explorar Skills
Productividad · SKILL.md

yida

yida

宜搭(钉钉低代码平台)AI 应用开发与管理总入口技能。通过沙箱内 openyida CLI 操作宜搭: 创建应用/表单/流程/自定义页面、发布页面、增删改查表单数据、配置公式与业务规则、生成报表/图表/数据大屏、管理应用与表单权限等。 当用户提到"宜搭"、"yida"、"低代码"、"创建应用"、"创建表单"、"发布页面"、"搭建"、"系统"等关键词时,使用此技能;以下情况不要触发:只是讨论通用前端/后端代码、非宜搭平台产品、或只需要解释概念而不操作宜搭资源。

Independent GitHub snapshot · Automated classification · Original documentation governs

Zzju-real / hugagentosApache-2.0

Documentación de la Skill

GitHub

name: yida description: > 宜搭(钉钉低代码平台)AI 应用开发与管理总入口技能。通过沙箱内 openyida CLI 操作宜搭: 创建应用/表单/流程/自定义页面、发布页面、增删改查表单数据、配置公式与业务规则、生成报表/图表/数据大屏、管理应用与表单权限等。 当用户提到"宜搭"、"yida"、"低代码"、"创建应用"、"创建表单"、"发布页面"、"搭建"、"系统"等关键词时,使用此技能;以下情况不要触发:只是讨论通用前端/后端代码、非宜搭平台产品、或只需要解释概念而不操作宜搭资源。 cli_version: ">=2026.7.12" allowed_tools: bash, sandbox_get_artifact, sandbox_put_artifact

宜搭 AI 应用开发指南

通过宜搭低代码平台实现一句话生成完整应用。所有操作通过沙箱内 openyida CLI 统一执行(已随沙箱镜像预装,禁止自行 npm install / 升级)。

运行环境与登录(本宿主必读,优先级最高)

  1. 固定工作目录:所有 openyida 命令必须在 /home/ubuntu/yida-workspace 目录下执行(每条 bash 命令以 cd /home/ubuntu/yida-workspace && 开头)。该目录是持久卷:登录 cookie(.cache/cookies-*.json)、环境配置与项目产物(prd/、schema cache)都落在这里、跨会话存活。**在其它目录执行 openyida 会导致登录态丢失、产物散落,严禁。**本文其余部分提到的「项目根目录 / projectRoot / workspace 根」一律指该目录。
  2. 登录流程(对话内扫码):用户也可在「插件 → 宜搭低代码平台」详情页扫码连接(与本流程写同一份登录态);命令报未登录 / 401 / Cookie 失效时,先建议用户去插件详情页扫码,或直接在对话内走以下流程:
    • 执行 cd /home/ubuntu/yida-workspace && openyida login --agent-qr,从返回 JSON 中取 qr_image_markdown,原样输出给用户并请其用钉钉 App 扫码确认;
    • 用户答复已扫码后,执行返回 JSON 中的 poll_command 等待登录完成;
    • 若返回 need_corp_selection,把组织列表转述给用户选择,然后按子技能 yida-login 的降级路径用 --corp-id <corpId> 完成组织选择;
    • 不要使用 openyida login --browser(沙箱无桌面浏览器),不要手动编造或写入 Cookie。
  3. 登录成功后先跑任意只读命令(如 openyida env --json)验证 Cookie 可用,再做真实资源操作。

宿主能力适配

  • 本宿主没有 use_skill / search_skills。下文所有「加载子技能 <技能名>」一律理解为:读取本技能目录下 references/subskills/<技能名>/README.md(用文件读取工具)。
  • 每个阶段只读取当前唯一需要的一个子技能文档;禁止并发批量读取多个子技能、禁止预读未来阶段技能。
  • references/ 下的其它辅助文件只能在已读取对应子技能后按需读取。
  • 文中若提到 skills-index.json 或 OpenYida MCP 工具(如 select_yida_login_organization),本宿主不支持,忽略并走文档给出的降级路径。

第一步:只读预检(先于真实资源操作)

⚡ 前置门槛:确认 openyida 已安装、Node/npm 依赖达标、登录态就绪。未通过只读验证前,禁止创建应用/页面/表单或发布等任何真实资源操作。

怎么做:优先跑一次 openyida agent-capabilities --json。该命令一次返回 version、cwd、AI 工具环境、推荐工作目录、登录态摘要、commands、command count、sideEffects 和默认 fast_build 契约,避免反复 which openyida、openyida --version、openyida --help、openyida env、login --check-only。

若当前 OpenYida 版本还没有 agent-capabilities,退回跑 openyida env --json 和 openyida login --check-only --json。旧版本地 agent 不需要认识 skills-index.json,也不需要支持 agent-capabilities 才能继续执行。

检测结果处理
命令跑不了(command not found)异常:openyida 应已随沙箱镜像预装。不要自行 npm install,直接报告用户"沙箱镜像缺少 openyida,请联系管理员重建沙箱镜像"
Node/npm 版本不达标同上,属镜像问题,报告用户,不要自行升级
login.status 不是 ok 且 login.can_auto_use 不是 true未登录 → 按顶部「运行环境与登录」的 --agent-qr 扫码流程处理
active.projectRootExists 为 false在 /home/ubuntu/yida-workspace 下跑 openyida copy 初始化

👉 环境异常、登录失败等特殊分支 → references/setup-and-env.md。正常 agent-capabilities 通过时不要默认读取该 reference。


第二步:意图路由(先判断「全量搭建」还是「单一任务」)

⚡ 环境就绪后,先判断用户诉求属于哪一类,再走对应路线:从零搭一个完整应用,还是对已有资源做单点改动。选错会导致多余步骤或回退;歧义时简短确认一次即可。

用户诉求信号判定走哪条路线
创建/搭建/做一个 + 应用/系统/管理系统;或明确表达从零开始全量搭建加载子技能 yida-app,由它执行完整应用 workflow
对已有应用/表单/页面的单点操作(加字段、查改数据、配公式、建报表、改权限、发布、美化…)单一 / 增量任务到 技能路由 选定 1 个,加载对应子技能执行,不回退流程

完整开发流程(全量搭建)

📌 仅当第二步判定为「全量搭建」时进入;单一/增量任务请跳「技能路由」。 加载子技能 yida-app,由它负责完整应用 workflow、阶段子技能加载、关键 ID 流转、PRD 与 schema cache 约束。 用户说“按默认方案 / 不要追问 / 直接创建 / 尽快搭建”时,yida-app 选择 fast_build:创建应用、必要表单、主页面、发布并输出链接。

默认链路:fast_build 必须只做 创建应用 → 核心表单 → 主页面 → 编写主页面源码 → 发布 → 返回访问链接。不要因为应用名里有“看板 / 系统 / 管理”就升级到 deep_design 或 full_demo。

fast_build 默认加载边界:只加载 yida-app 和当前阶段必需的子技能:yida-create-app、yida-create-form-page、yida-create-page、yida-custom-page、yida-publish-page。Code Canvas 尚未全量,只有用户明确要求、已有页面为 YidaCodeCanvas,或已确认当前组织/页面支持时才加载 yida-canvas-custom-page。不要默认加载 yida-page-uiux、yida-data-source-connectors、yida-data-management、yida-nav-group、yida-dashboard,也不要默认深读 references/。

doneWhen:yida-app 发布主页面成功并输出可访问 URL。到这里默认完成;不要发布后继续 TaskCreate、重复读技能或继续规划。

optionalAfterDone:导航整理、示例数据、公开访问、截图验证、深度视觉方向、数据源/连接器深度接入、报表/大屏,只在用户明确要求或 yida-app 模式为 full_demo / deep_design 时执行。


技能路由(单一 / 增量任务)

选定 1 个最匹配的项执行。表按业务域分组,每组内既可能是子技能也可能是 CLI:

  • 行名为 yida-xxx / sls-log-workbench / large-file-write 的是子技能 → 读取 references/subskills/<技能名>/README.md 后按其执行;
  • 行名为 openyida xxx 并标 CLI 的无子技能文档 → 识别到诉求直接执行命令、不要去找 README。

按分组 +「何时选择」内联区别对号入座即可。

⚠️ 同类易错先分清:改字段结构→create-form-page|只读 Schema→get-schema|改数据记录→data-management|详情页美化→form-detail;自定义页视觉方向/去AI味→page-uiux(定方向)|token/组件实现→custom-page(design-system);加导航先分清→平台左侧菜单分组/排序→nav-group|页面隐藏应用导航后页面内自绘导航壳→nav-shell(必须隐藏原导航,并让导航项 URL 带 isRenderNav=false 等参数);字段实时校验→formula|提交后编排→integration|跨表高级函数→business-rule;从零建流程→create-process|改已有流程→process-rule;权限按层级:组织→corp-manager/应用→app-permission/表单→form-permission/页面分享→page-config;自定义页面选路见下方专表。

🧭 自定义页面选路(兼容优先,按顺序命中即停):

  1. 默认 → native yida-custom-page:平台全量兼容的 .oyd.jsx 链路,适合完整应用 fast_build 和未确认 Canvas 能力的组织;
  2. 仅当用户明确要求 Code Canvas / 代码画布,已有页面 Schema 是 YidaCodeCanvas,或已确认当前组织/页面支持 Canvas → yida-canvas-custom-page;
  3. 已有普通 .oyd.jsx 要迁到 Canvas,且目标组织支持 Canvas → yida-canvas-upgrade。

依据:Code Canvas 组件在宜搭平台侧尚未全量。native .oyd.jsx 是默认兼容链路;Canvas 代码在宿主页真实 window 中 new Function 执行,但物料只透传 code/runtimeCode/importedModules/pageType,无 this 上下文、无 dataSourceMap,this.utils.yida.* 不可用。需要实例桥或未确认 Canvas 支持时留 native。

分组加载目标何时选择(关键区别已内联)
应用与登录加载子技能 yida-app从零搭建整个应用;默认 fast_build,发布主页面拿到 URL 即完成
加载子技能 yida-create-app只需创建应用、拿 appType
加载子技能 yida-login手动触发登录(通常自动触发)
加载子技能 yida-logout切换账号或组织
页面与表单加载子技能 yida-create-page创建空白自定义页面拿 formUuid,后续写 JSX
加载子技能 yida-create-form-page创建/更新表单、增删改字段结构(普通表单,无审批)
加载子技能 yida-create-process从零建带审批流程表单(表单还不存在,一步到位)
加载子技能 yida-page-uiux单点页面美化、用户明确要求视觉方向/去 AI 味,或 yida-app 进入 deep_design 时使用;fast_build 不默认加载
加载子技能 yida-custom-page自定义页面默认兼容链路:native .oyd.jsx,适合完整应用 fast_build 和未确认 Canvas 能力的组织
加载子技能 yida-canvas-custom-pageCode Canvas 可选链路:用户明确要求代码画布、已有页面为 YidaCodeCanvas,或已确认当前组织/页面支持 Canvas 时使用
加载子技能 yida-canvas-upgrade将已有普通 .oyd.jsx / Jsx 页面升级迁移到 Code Canvas / YidaCodeCanvas 链路;仅在目标组织支持 Canvas 时执行
加载子技能 yida-nav-shell自定义页隐藏应用导航(isRenderNav=false,沉浸/门户/大屏/分享)后,页面内用 JSX 自绘侧边/顶部/浮动/标签导航壳;发布后要配置隐藏原导航,跨页导航项要拼完整 URL 并合并 isRenderNav=false / corpid / 业务参数(区别 yida-nav-group 平台左侧菜单分组:那是真实导航树,本项是页面内自建导航)
加载子技能 yida-publish-pageJSX 写完后编译并发布
加载子技能 yida-openyida-publish-guard发布已有自定义页面前检查线上设计器状态,避免本地旧源码覆盖用户在线改动
加载子技能 yida-table-formExcel 式表格批量录入提交
加载子技能 yida-ppt-slider全屏幻灯片页面(分享/路演/培训/演示)
openyida aggregate-table CLI聚合表 / 虚拟视图(virtualView):list 列出 · create-empty 建空白(返回设计器 URL)· preview 预览不保存 · publish 发布配置
数据可视化加载子技能 yida-report普通报表/统计,开箱即用(原生 16 组件)
加载子技能 yida-chart更美观/定制化/数据大屏(ECharts)
加载子技能 yida-dashboard完整看板 / 驾驶舱产品化交付
连接器加载子技能 yida-connector创建/管理连接器、配鉴权
加载子技能 yida-connector-safe-actions连接器已有,从 API 代码生成执行动作
加载子技能 yida-data-source-connectors用户明确要求通过设计器数据源/连接器调用外部 API 时使用;完整应用 fast_build 不默认加载
数据与公式加载子技能 yida-data-management增删改查数据记录,不动字段结构
加载子技能 yida-get-schema只读查 Schema / 字段 ID,不改结构
加载子技能 yida-formula配在字段属性上的实时计算/默认值/校验
加载子技能 yida-formula-evaluate公式语法与字段引用静态检查
加载子技能 yida-business-rule提交后跨表高级函数 INSERT/UPDATE/DELETE
流程与自动化加载子技能 yida-process-rule改已有流程节点/分支/字段权限(表单已存在)
加载子技能 yida-integration提交后逻辑编排(图形化自动化流,推荐)
加载子技能 yida-agent-center流程代理(在职/离职代理人)
openyida ai-form-setting CLI流程表单 AI 审批提示:models 查模型 · fields 查可插入字段(TEXT/IMAGE/ATTACHMENT)· get 查配置
权限与访问加载子技能 yida-corp-manager组织级权限(平台/子管理员、通讯录,影响整个组织)
加载子技能 yida-app-permission单应用级权限(应用管理员/开发成员)
加载子技能 yida-form-permission单表单级权限(权限组/数据范围)
加载子技能 yida-page-config页面级:公开访问 / 组织内分享
应用配置与平台加载子技能 yida-nav-group应用左侧菜单分组/排序(真实导航树;页面内自绘导航壳见 yida-nav-shell)
加载子技能 yida-form-detail只注 CSS 美化详情页,不改字段
加载子技能 yida-density列表/表格信息密度选择
加载子技能 yida-i18n应用多语言 / 国际化
加载子技能 yida-basic-info组织版本/容量/域名/额度查询
加载子技能 yida-corp-efficiency企业效能 / 低代码学习成果
辅助工具加载子技能 yida-flash-note-to-prd会议纪要/闪记转 PRD
加载子技能 yida-export-conversation导出当前对话为 Markdown
加载子技能 yida-voc整理故障/需求反馈材料
加载子技能 sls-log-workbenchSLS 平台问题日志查询
加载子技能 yida-db-seq-fixPostgreSQL 主键冲突 / Sequence 修复
加载子技能 large-file-write可靠写入 100+ 行大文件
openyida ai CLI调用宜搭 AI 通用能力:文生文(文本生成)/ 识图(图片识别)
openyida batch CLI批量顺序执行多条 OpenYida 命令(读 tasks 文件,支持 --json --quiet)

核心规则

致命规则(FATAL,违反即失败/报错)

  1. 技能加载唯一入口:执行任何子技能前,必须先读取 references/subskills/<技能名>/README.md 获取该子技能的命令与参数格式,不凭记忆猜参数格式、不跳过文档直接执行。
  2. corpId 一致性检查:创建页面前对比 prd 与 .cache/cookies.json 的 corpId,不一致必须询问用户(重新登录 or 当前组织新建)。
  3. 发布前本地校验:native .oyd.jsx / .jsx 页面发布前跑 openyida check-page + openyida compile;Code Canvas .canvas.jsx 不跑这两个 native 检查,改由 openyida publish 的 Canvas 编译阶段或 compileCanvasLocal 快检校验;JSON 配置写盘后先解析校验,再调用平台命令。
  4. 命令输入文件禁止 shell 写入:当 OpenYida 命令需要 JSON/YAML/CSV/config/script 文件参数时,先使用当前 agent 运行时提供的结构化文件写入工具(如 create_file / Write / file edit tool)创建文件,再把路径传给命令;禁止用 shell heredoc、cat/echo/printf/tee 加输出重定向,或把命令 stdout 重定向成业务文件。

重要规则(IMPORTANT,影响质量/性能/可维护性)

  1. 按阶段加载必要技能:按意图选 1 个主技能;完整应用按阶段加载当下唯一需要的子技能,禁止并发批量读取多个 SKILL.md 或预读未来阶段技能。
  2. 优先复用缓存:appType/formUuid/fieldId 优先从 .cache/<项目名>-schema.json 读,缺失再 get-schema。
  3. 模板优先:复杂产物先用 openyida sample 或现有示例生成骨架,再做最小改动。
  4. 配置承载优先于代码:字段/公式/联动/报表/审批/集成交给对应技能,自定义页面只做展示与胶水。
  5. 数据性能优先:统计聚合用 yida-report 服务端聚合,不在前端拉全量后自行聚合。
  6. 避免无效重试:失败先查登录态/组织/参数/字段 ID,无修改不连续重试超 1 次。
  7. 配置分两处存:业务语义 → prd/<项目名>.md;Schema ID → .cache/<项目名>-schema.json(prd 不记 ID)。
  8. 临时文件入 project .cache/:OpenYida 业务中间文件写入 <projectRoot>/.cache/openyida/<项目名或任务名>/;Schema ID 映射仍写 <projectRoot>/.cache/<项目名>-schema.json。从 workspace 根执行命令时使用 project/.cache/...,从 project 工作目录内执行时使用 .cache/...;不要写仓库根目录或系统临时目录。
  9. 报表美化先问方案:用户说"优化/美化报表"时先问选原生报表(yida-report)还是 ECharts(yida-chart)。
  10. 按 schema 证据选技能:先看 formType、组件树、dataSource.online;receipt/process/report 分别落到表单/流程/报表技能。
  11. 官方示例范式优先:蒸馏官方示例时先理解脱敏 schema 承载方式,不凭截图/标题/视觉判断。
  12. 默认完成即停止:完整应用默认以发布成功并输出 URL 为 doneWhen;UIUX、数据源深读、示例数据、导航、截图、TaskCreate 和深度设计都是 optionalAfterDone。
  13. 数据查询与超长结果纪律(本宿主强约束):data query form 必须小页拉取(--size ≤ 10)并用 --search-json 按人/时间等条件精确过滤,拿到目标记录立即停止,禁止整表翻页核对。工具结果超长会被落盘到 /workspace/.offload/、正文只留预览——禁止用 Read 整读 offload 文件(内容多为单行大 JSON,整读会把几十万字符灌回上下文,触发反复压缩、把整轮对话拖到分钟级);需要提取时用 Grep 带精确 pattern,或 bash jq / python -c / head -c 2000 只取所需字段。同一查询失败或结果不符时先改条件,不要原样重试。

📖 每条规则的完整说明、PRD 质量门槛、临时文件路径规范、报表美化话术 → references/development-rules.md


常见问题

问题处理
app-list 返回「暂无应用」/ 看不到组织级应用app-list 只列当前用户「本人创建」的应用(接口按 creator 过滤),组织里他人创建的应用天然不在列表里,这不代表无权限。请用户提供应用访问链接(含 APP_XXXX 的 appType),用 openyida list-forms <appType> --json 确认可达后直接以 appType 操作(get-schema / 数据 / 报表等命令均不依赖 app-list 可见性);被服务端拒绝才是真无权限,引导用户找管理员加开发成员(yida-app-permission)
发布提示登录失效先 openyida login,再 openyida publish <源文件> <appType> <formUuid> --health-check
查已有表单的字段 IDopenyida get-schema <appType> <formUuid>,从 Schema 读各字段 fieldId(详见 yida-get-schema)
更新已有表单字段用 create-form 的 update 模式:openyida create-form update <appType> <formUuid> '[{"action":"add","field":{"type":"TextField","label":"新字段"}}]'(详见 yida-create-form-page)
发布提示 corpId 不匹配问用户:当前组织新建应用发布,或 openyida logout 后重新登录到正确组织

参考文件

文档覆盖范围何时阅读
环境准备与登录检测环境依赖、env 解读、多环境登录、悟空降级、Codex handoff、project 初始化环境异常或登录问题时
核心规则详解成功率清单、PRD 门槛、临时文件、报表美化、corpId编写 PRD / 规范执行前
字段类型 / URL 规则表单字段类型速查、应用 URL 拼接规则建表单 / 拼访问链接时
宜搭 API宜搭 API 完整参数调用 API 前
公式函数库公式函数速查编写公式前
官方示例 Schema 范式脱敏 schema 承载范式蒸馏官方示例时
查询条件构造数据查询条件写法数据查询/筛选时
报表字段配置报表字段配置规范配置报表时
版本功能差异各版本能力差异版本能力查询时
模型 APIAI 模型接口调用宜搭 AI 模型时
Skills guardadas