con un clic
yida-connector-safe-actions
// 宜搭 HTTP 连接器执行动作安全生成与修复。适用于从前端 API 文件、后端 Controller/接口定义生成 OpenYida 连接器操作,或修复“点击测试后报错、所有操作消失”的连接器动作配置问题。不适用于创建连接器本体(应使用 yida-connector),也不适用于配置集成自动化逻辑流(应使用 yida-integration)。
// 宜搭 HTTP 连接器执行动作安全生成与修复。适用于从前端 API 文件、后端 Controller/接口定义生成 OpenYida 连接器操作,或修复“点击测试后报错、所有操作消失”的连接器动作配置问题。不适用于创建连接器本体(应使用 yida-connector),也不适用于配置集成自动化逻辑流(应使用 yida-integration)。
宜搭 AI 应用开发总入口技能。通过有 AI Coding 能力的智能体(悟空/Claude/Open Code 等)+ 宜搭低代码平台,实现一句话生成完整应用。 包含应用创建、表单设计、自定义页面开发、页面发布、登录态管理等完整开发流程。 当用户提到"宜搭"、"yida"、"低代码"、"创建应用"、"创建表单"、"发布页面"、"搭建"、"系统"等关键词时,使用此技能;以下情况不要触发:只是讨论通用前端/后端代码、非宜搭平台产品、或只需要解释概念而不操作宜搭资源。
页面公开访问和组织内分享配置。支持 URL 验证、配置保存、导航显示控制。不适用于:配置表单数据权限(应使用 yida-form-permission),或修改页面代码内容(应使用 yida-custom-page + yida-publish-page)。
宜搭数据管理。表单实例/流程实例/任务中心的查询、新增、更新。表单走 /v1/form/,流程走 /v1/process/,不能混用。
宜搭 ECharts 高级报表技能。通过 ECharts + 自定义页面 JSX 实现高度定制化、更美观的数据可视化报表。本技能不负责创建宜搭原生报表(标准报表由 yida-report 技能负责),但 ECharts 报表必须依赖宜搭原生报表的 getDataAsync.json 或 getCacheData.json 接口获取聚合数据,禁止前端聚合。当用户提到「更美观」「高级」「定制化」「ECharts」「echarts」「Dashboard 大屏」「数据大屏」等关键词,或用户提供了报表 URL 要求优化时,使用此技能。普通的「报表」「统计」等需求默认由 yida-report 技能处理。
宜搭流程表单一体化创建。整合创建表单 → 转流程表单 → 获取 processCode → 配置流程四步为一步,流程定义格式与 yida-process-rule 完全一致,支持审批/办理/抄送、条件/并行分支、跳转规则,以及官方组件节点配置透传和 processJson 适配。不适用于:已有流程表单只需修改审批规则(应使用 yida-process-rule),或只需创建普通表单无审批(应使用 yida-create-form-page)。
宜搭自定义页面 JSX 开发规范。React 16 宜搭原生 export function 页面模式,宜搭 JS API 调用,状态管理与编码约束。不适用于:原生表单页面开发(无需 JSX),或发布页面(编写完成后需使用 yida-publish-page 发布)。
| name | yida-connector-safe-actions |
| description | 宜搭 HTTP 连接器执行动作安全生成与修复。适用于从前端 API 文件、后端 Controller/接口定义生成 OpenYida 连接器操作,或修复“点击测试后报错、所有操作消失”的连接器动作配置问题。不适用于创建连接器本体(应使用 yida-connector),也不适用于配置集成自动化逻辑流(应使用 yida-integration)。 |
当用户需要把已有系统接口接入宜搭 HTTP 连接器时使用本技能,尤其适用于:
openyida connector list-actions <connector-id> 返回 0 个动作,但连接器仍存在如果只是创建连接器、配置鉴权、管理连接器账号,优先使用 yida-connector。
Response,避免宜搭测试面板解析复杂输出结构时报错。同时读取用户提供的前端 API 文件和后端接口定义文件。
前端 API 文件用于确认“哪些接口真的要暴露给宜搭连接器”;后端文件用于确认 method、route、query/path/body 参数和默认值。
openyida connector detail <connector-id>
openyida connector list-actions <connector-id>
记录以下信息:
建议放在当前项目:
.cache/openyida/connector-actions/<业务名>-actions.json
动作 ID 建议使用顺序编号:
"id": "operation-1"
动作调用名使用前端函数名或后端 Action 名:
"operationId": "getUserDtuSns"
Windows PowerShell 必须加 -Encoding UTF8:
Get-Content -Raw -Encoding UTF8 .cache\openyida\connector-actions\<业务名>-actions.json | ConvertFrom-Json | Out-Null
不要使用默认 Get-Content 校验中文 JSON,默认编码可能导致误判或乱码。
openyida connector add-action --operations .cache/openyida/connector-actions/<业务名>-actions.json --connector-id <connector-id> --confirm
openyida connector list-actions <connector-id>
CLI 测试时 --action 使用 operationId,不是顺序编号 operation-1:
openyida connector test --connector-id <connector-id> --action <operationId>
测试后再次查询动作列表,确认动作没有被清空:
openyida connector list-actions <connector-id>
{
"id": "operation-1",
"operationId": "getAccessToken",
"summary": "获取三色灯 Token",
"description": "获取三色灯 Token",
"url": "api/TriColorLamp/GetAccessToken",
"method": "get",
"inputs": [],
"parameters": {},
"responses": {
"type": "object",
"properties": {}
},
"outputs": [
{
"defaultValue": "{}",
"desc": "响应体结构",
"name": "Response",
"paramType": "Object",
"required": false
}
],
"origin": true
}
{
"id": "operation-2",
"operationId": "getDtuSnData",
"summary": "获取单设备三色灯数据",
"description": "根据 dtuSn 和日期获取三色灯数据",
"url": "api/TriColorLamp/GetDtuSnData",
"method": "get",
"inputs": [
{
"childList": [
{
"componentName": "TextField",
"desc": "设备 dtuSn",
"name": "dtuSn",
"queryDefaultValue": {
"paramType": "fixedValue",
"defaultValue": ""
},
"required": true
},
{
"componentName": "TextField",
"desc": "查询日期,可为空",
"name": "date",
"queryDefaultValue": {
"paramType": "fixedValue",
"defaultValue": ""
},
"required": false
}
],
"desc": "请求参数",
"name": "Query",
"paramType": "Object",
"required": false
}
],
"parameters": {
"query": [
{
"name": "dtuSn",
"type": "string",
"required": true,
"description": "设备 dtuSn",
"queryDefaultValue": {
"paramType": "fixedValue",
"defaultValue": ""
}
},
{
"name": "date",
"type": "string",
"required": false,
"description": "查询日期,可为空",
"queryDefaultValue": {
"paramType": "fixedValue",
"defaultValue": ""
}
}
]
},
"responses": {
"type": "object",
"properties": {}
},
"outputs": [
{
"defaultValue": "{}",
"desc": "响应体结构",
"name": "Response",
"paramType": "Object",
"required": false
}
],
"origin": true
}
| 字段 | 推荐写法 |
|---|---|
id | 使用 operation-1、operation-2 等顺序编号 |
operationId | 使用前端函数名或后端 Action 名,例如 getDtuSnData |
summary | 中文短名称,用于宜搭界面展示 |
description | 一句话说明动作用途 |
url | 不带域名,只写连接器域名后的相对路径 |
method | 小写,例如 get、post、put |
inputs | GET 参数只放 Query,不要放 Body |
parameters.query | 与 inputs[].childList[] 中的 query 参数保持一致 |
queryDefaultValue | Query 参数建议在 inputs 和 parameters 两处都写 |
outputs | 修复或首次生成时只保留根对象 Response |
以下写法容易导致宜搭连接器测试面板解析异常,应谨慎使用:
Code、Message、Data 子字段labelBodyinputs 与 parameters 中的 query 参数不一致当用户反馈“点击测试后操作都不见了”,优先按修复流程处理,不要继续追加同一份风险 JSON。
对于 ASP.NET Controller:
[Route("api/[controller]/[action]")]
public class TriColorLampController : ControllerBase
路径映射为:
api/TriColorLamp/<ActionName>
规则:
[HttpGet]、[HttpPost]、[HttpPut] 映射到对应小写 method[FromQuery] 参数映射为 Querystring date = null,映射为 required: falserequired: true当连接器动作被清空时:
openyida connector detail <connector-id>,确认连接器仍存在。openyida connector list-actions <connector-id>,确认动作是否为 0。add-action --confirm 重建动作。list-actions 验证动作数量。connector test --action <operationId> 测试至少一个无参数动作。list-actions,确认动作没有再次消失。