DeveloperSemantic · 数据
定义本体
本体(Ontology)是 Semantic 的语义层。它由 Object Type、属性、链接、Action 和函数组成,每个构件用一条 JSON 定义。这一页讲定义怎么写、怎么发布,以及智能体怎么在分支上改本体。
说明
前提:你是组织(命名空间 cell-demo)的 developer。定义与发布要 developer 角色。智能体只能在分支上改,开提案。在 review 策略下,由人审核提案。
本体由什么组成
本体有两类构件。名词描述数据,动词改数据并做计算。
名词:描述数据
| 构件 | 是什么 | 示例 |
|---|---|---|
| Object Type | 一类对象:主键、标题、属性 | customer 客户公司、agent 智能体、application 应用、modelUsage 模型用量、cloudCost 云费用 |
| Property | 属性。类型取基础类型,如 string、integer、double、decimal、date、timestamp、array、struct、geopoint、vector、timeseries | customer.location(geopoint)、customer.contact(struct)、modelUsage.dailyTokens(timeseries) |
| Derived Property | 沿链接读时计算,最多 3 跳。聚合有 count、sum、avg、min、max、collectList、collectSet 等 | customer.agentCount 智能体数、customer.modelCostUsd 模型费用合计 |
| Link Type | 两个 Object Type 的关系,两端各有名字。一对多用外键,多对多另存每一条链接 | customerAgents:customer.agents 与 agent.customer;applicationAgents(多对多) |
| Interface | 多个 Object Type 共有的形状,可以继承 | Billable(继承 Monthly):modelUsage 和 cloudCost 都实现它 |
| Shared Property | 跨类型复用的属性定义 | costUsd、month |
| Value Type | 带约束的类型,写入时校验:枚举、范围、长度、正则 | cellId(cell- 开头)、yearMonth(YYYY-MM)、customerStage(试点、付费、暂停、内部) |
动词:改数据与做计算
| 构件 | 是什么 | 示例 |
|---|---|---|
| Action Type | 受控的写操作:参数、规则、提交条件 | adjust-seats:座位数不能少于成员数 |
| Action Log | 开了 actionLog 的 Action,每次成功执行写一条记录 |
谁在什么时候把哪家公司的座位数改成多少 |
| Object Set | 对象的集合:过滤、并、交、差,沿链接走,派生属性 | 付费客户的全部智能体 |
| Function | 代码写的逻辑,在隔离的运行时里执行 | countPaidCustomers,见下文「函数」 |
示例本体用 Demo Company(cell-demo)的虚构数据。样板应用见 样板应用。
定义文件怎么写
每个定义是一个 JSON 对象。kind 写构件类型,apiName 写名字。kind 取值有 objectType、linkType、actionType、interfaceType、sharedPropertyType、valueType。
下面是示例本体里 customer 的一部分。
{
"kind": "objectType",
"apiName": "customer",
"title": "客户公司",
"schema": {
"titleColumn": "name",
"columns": [
{ "name": "customerId", "type": "string", "primaryKey": true, "title": "公司 ID", "valueType": "cellId" },
{ "name": "name", "type": "string", "title": "名称", "notNull": true },
{ "name": "stage", "type": "string", "title": "阶段", "valueType": "customerStage" },
{ "name": "seats", "type": "integer", "title": "座位数", "unit": "个" },
{ "name": "agentCount", "type": "integer", "title": "智能体数",
"derived": { "linkPath": ["agents"], "aggregation": { "type": "count" } } }
]
}
}
链接 customerAgents 把公司和智能体连起来。一家公司有多个智能体,每个智能体属于一家公司。
{
"kind": "linkType",
"apiName": "customerAgents",
"title": "公司的智能体",
"schema": {
"from": "customer",
"to": "agent",
"cardinality": "ONE_TO_MANY",
"apiNameAtoB": "agents",
"apiNameBtoA": "customer",
"foreignKey": { "side": "to", "property": "customerId" }
}
}
Action adjust-seats 改一家公司的座位数。submissionCriteria 是提交条件:条件不成立,Action 不执行。
{
"kind": "actionType",
"apiName": "adjust-seats",
"title": "调整座位数",
"schema": {
"parameters": [
{ "name": "customer", "type": "object", "objectType": "customer", "title": "公司", "required": true },
{ "name": "seats", "type": "integer", "title": "新座位数", "required": true, "min": 1, "max": 10000 },
{ "name": "reason", "type": "string", "title": "理由", "maxLength": 200 }
],
"rules": [
{ "type": "modifyObject", "objectType": "customer", "object": "$customer", "values": { "seats": "$seats" } }
],
"submissionCriteria": [
{
"condition": {
"type": "comparison",
"left": { "param": "seats" },
"operator": "gte",
"right": { "param": "customer", "property": "members" }
},
"failureMessage": "座位数不能少于成员数"
}
],
"summary": "{customer} 座位数改为 {seats}",
"actionLog": true
}
}
名字的写法:
- Object Type 与 Interface 用 PascalCase:大写字母开头,只含字母和数字,例如
Employee。名字前可以带小写的命名空间前缀,例如production.OrderLine。 - Object Type 名在本体里不分大小写,唯一。
ontology、object、link这类保留字不能用。 - 新的 Object Type 名不是 PascalCase 时,平台拒绝定义,返回 422
invalid_schema。分支检查的api_names一项是 FAIL。 - 属性、Value Type、Shared Property 用 camelCase,例如
customerId。 - Link Type 两端的名字用小写字母开头,只含字母和数字,例如
agents。 - Action Type 用 kebab-case,例如
adjust-seats。 - 示例本体的
customer是早先建的小写开头的名字。已经存在的这类名字照常能用,定义时给出警告。
其他规则:
- 一个 Object Type 恰好有一个主键属性。
- 定义含未知字段时,平台拒绝定义,并在错误信息中给出字段路径。例如把
submissionCriteria写成submissionCriterias。 writeback: true的属性只在语义层维护,不接数据源。派生属性也不接数据源。- Object Type 的
datasources把数据流接到类型上。写法与规则见 数据接入。
对象的编辑方式
新建的 Object Type 缺省只能经 Action 改。定义里的 editsConfiguration.onlyAllowPrivilegedEdits 缺省是 true。
- 直接写对象时,平台返回 403。直接写包括
POST、PATCH、DELETE …/objects和import --layer edits。错误里列出能改它的 Action。 - 要开放直接编辑,在定义里写
"editsConfiguration": { "onlyAllowPrivilegedEdits": false }。 - 重新定义时没写
editsConfiguration,平台沿用现有的设置。 - 数据源写入不受这项限制,例如同步和
import --layer source。
{ "kind": "objectType", "apiName": "Inspection", "title": "检验记录",
"editsConfiguration": { "onlyAllowPrivilegedEdits": false },
"schema": { … } }
写定义并发布
用 CLI 整批提交定义,再发布一个语义版本。
aidc semantic define ontology/ --dry-run # 整批检查:引用是否闭合,有哪些破坏性变更
aidc semantic define ontology/ # 整批提交:有则改,无则建
aidc semantic publish --notes "加了异常登记" # 发布一个语义版本 vN
aidc semantic releases # 列出语义版本
define读目录里的全部.json文件,按文件名排序,整批一起校验。写入顺序是枚举与 Value Type → Shared Property → Interface → Object Type → Link Type → Action。- 引用必须闭合。Action 改的属性、引用的参数、外键目标、枚举都要存在,否则定义被拒,返回 422。同一批里互相引用算数。
define --dry-run只检查。它报告引用是否闭合,以及相对上一个语义版本的破坏性变更。- 不再用的定义,用
aidc semantic archive <apiName>归档。 publish发布一个语义版本 vN,版本号只增。定义没变时,命令返回当前版本,不占新号。
版本与破坏性变更
语义版本是组织本体的版本号。应用日志里同时记语义版本和应用版本。
- 破坏性变更包括:删 Object Type、删属性、改类型、改主键,Action 删参数,或 Action 新增必填参数。
- 定义时返回破坏性变更。发布时记档,版本的
changeKind为breaking。发布前,确认调用它的应用都已经改好。 - 自进化采纳的语义改进会自动发新版本。见 自进化 SDK。
状态与删除
每个 Object Type、属性、Link Type、Action Type 和 Interface 都有一个状态。状态决定能不能删除。
| 状态 | 含义 |
|---|---|
active |
缺省。应用在用 |
experimental |
还在开发 |
deprecated |
准备删除 |
example |
安装的示例,只用于培训 |
删除一个 active 的构件要分两步:
- 把状态改成
deprecated或experimental,定义或合并这次改动。 - 再删除(归档)它。
改成 deprecated 时,写原因和预期删除时间。可以写替代它的构件。
{ "kind": "objectType", "apiName": "ProductProfile", "title": "产品档案(旧)", "status": "deprecated",
"deprecated": { "message": "并回 Product 的 edit-only 属性", "deadline": "2026-12-31", "replacedBy": "Product" },
"schema": { … } }
- 新建时写的
status立即生效,例如experimental。 - 属性的
status没写时,跟所属的类型一样。 - 要从定义里去掉一个
active的属性,先把它写成"status": "DEPRECATED",并写属性自己的"deprecated": { "message": …, "deadline": … }。replacedBy写同一类型里替代它的属性。 - 一个提案可以同时删除一个属性和引用它的 Action,前提是两者都已是
deprecated。平台按合并之后的本体做检查,删除的 Action 不算引用。
分支与提案
智能体不能直接改 main 上的本体。它在分支上改、开提案。在 review 策略下,由人审核后合并。
export AIDC_AGENT_ID=ops-agent
aidc semantic branch create add-department
aidc semantic branch modify add-department ./ontology --dry-run
aidc semantic branch modify add-department ./ontology
aidc semantic objects agent --branch add-department
aidc semantic branch propose add-department --title "加部门对象类型" --trigger "问「采购部有几个智能体」答不出" --self-test "分支上能答:3 个"
branch create开分支。基线是当前语义版本。branch modify把一整份定义放到分支上。--dry-run只试跑。--expected-version防止并发覆盖。objects … --branch在分支上读对象,验证问题能答了。读接口都收--branch。branch validate看合并检查。branch conflicts看和 main 冲突的地方。branch rebase跟上 main。branch propose开提案。--trigger写为什么要改,--self-test写自测结果。命令的输出里有审核地址,交给人打开。- 平台给提案附上按资源的改动、校验结果、影响面(30 天的写入与活跃用户、依赖的应用)和破坏性改动。
作者由凭证决定。AIDC_AGENT_ID 存在时,CLI 带上 x-aidc-author: agent:<id>,作者记为智能体。用 Agent Key 调用时,作者一律记为智能体。
- 智能体直接定义 main,返回 409,错误码
branch_required。 - 智能体不能直接新建、修改、删除、导入数据,返回 403。改数据用 Action。
在 review 策略下,由人审核提案,逐项批准。破坏性改动要确认:CLI 加 --confirm-breaking,网页上输入实体名。全部批准、检查通过后,提案合并到 main,并发一个语义版本。
aidc semantic proposals --status OPEN
aidc semantic proposal <id>
aidc semantic proposal approve <id> --confirm-breaking
aidc semantic proposal merge <id>
审批策略:review 与 yolo
每个组织有一个审批策略。它决定谁能批准、合并提案,以及谁能发布智能体写的应用版本。
| review(缺省) | yolo | |
|---|---|---|
| 谁能批准、合并 | 本组织 developer 的网页登录 | 网页登录,加上能改这个本体的 Key:开发者 Key(含智能体在用的),或 Agent Key 代表的主体在本体上是 Editor 或 Owner |
| 作者自己的批准 | 不算数 | 作者能改这个本体,就算数 |
| 检查通过后 | 等人点「合并」 | 自动合并 |
| 发布智能体写的应用版本 | 人在网页上点「发布」 | 开发者 Key 也能发布 |
两种策略下都不变:
- 安全策略的改动,要满足相关 Marking 的人批准。
- 合并检查不过,不能合并。任何一项被驳回,也不能合并。
- 每次批准、驳回、合并、发布和改策略,都记进审计日志。
- 只读(Viewer)的智能体照样能开提案。批准要交给能改这个本体的审核人。
- 改回 review 时,智能体给的批准作废,回到待审核。
$ aidc semantic approval-policy
cell-demo 审批策略 review:审核人 = 网页会话;需要 1 个批准;作者自己批准不算数;合并要审核人来点
改策略只给本组织的 developer 本人。智能体不能改。aidc semantic approval-policy set review|yolo --dry-run 只显示会变什么。
Action:规则与提交条件
Action 是受控的写操作。它校验参数,检查提交条件,然后按规则改对象或链接。
- 参数有类型、必填、最小值、最大值、最大长度。对象参数指向一个 Object Type。
- 规则(
rules)有六种:createObject、modifyObject、createOrModifyObject、deleteObject、createLink、deleteLink。 - 提交条件(
submissionCriteria)每条是一个条件。条件不成立时,返回failureMessage。 actionLog: true时,每次成功执行都写一条 Action Log。roles写谁能执行。不写时,developer、member 和 editor 都能执行。
提交条件里,比较的值可以引用参数。对象参数可以指定属性。比较值也可以使用常量或执行人信息。写法如下。
- 参数:
{ "param": … } - 对象参数的属性:
{ "param": …, "property": … } - 常量:
{ "literal": … } - 执行人:
{ "user": "id" | "name" | "role" | "authorKind" }
authorKind 的值是 human 或 agent。
下面的条件表示只有人能执行。写肯定的条件,不写「不是 agent」。
{
"condition": {
"type": "comparison",
"left": { "user": "authorKind" },
"operator": "is",
"right": { "literal": "human" }
},
"failureMessage": "只有人能执行"
}
用了 authorKind 的 Action,暂时只能经 v1 接口、CLI 或 Semantic 界面执行。v2 接口(OSDK)会返回 403。
函数
函数是代码写的逻辑。它在隔离的运行时里执行。发布后,同一版本的签名与源码不能改。
aidc semantic functions publish count.js --api-name countPaidCustomers --version 1.0.0 --output '{"type":"integer"}'
aidc semantic functions list
- 源码是 ES module,默认导出
(params, ctx) => 结果。ctx按调用人的权限读对象:
ctx 的成员 |
做什么 |
|---|---|
ctx.loadObjects(objectSet, { pageSize, select }) |
读一个对象集。给 pageSize 只取第一页;不给取全部,超过 100,000 个报 ObjectsExceededLimit |
ctx.aggregate(objectSet, aggregation, groupBy) |
聚合,写法同 聚合 |
ctx.getObject(objectType, primaryKey) |
按主键取一个对象,没有时返回 undefined |
ctx.edits |
编辑函数用:createObject、modifyObject、deleteObject、addLink、removeLink。编辑由调用它的 Action 统一提交 |
ctx.now |
这次执行的时间 |
- 版本号照语义化版本写。同一版本、同一内容,返回「没有变化」。同一版本可以只更新超时或内存配置。此时返回「已更新配置」。同一版本、不同的签名或源码,报冲突。
- 智能体只能发预发布版本,例如
1.1.0-rc.1。 - 查询经
/api/v2/ontologies/{命名空间}/queries/{函数}/execute执行。自动化的函数效果也执行它。见 自动化。
Action 调外部系统
Action 可以调外部系统。webhook 挂在数据源上,凭证存在数据源里,调用方不接触凭证。
writeback 与 side effect
writeback只有一个。它在校验通过后、规则执行前调用。外部系统拒绝或超时,整个 Action 不生效,语义层一条都不改。原因原样返回给执行人。webhook 返回 429 时,错误码是rate_limited。其他执行失败时,错误码是webhook_failed。sideEffects最多 10 个。它们在改动提交后调用,顺序不保证。失败不回滚改动,也不报给执行人。结果记在这次执行的记录里。- 输出在规则里用
$writeback.<输出名>取。side effect 的输入也能用它。 - 输入的写法与规则相同:
$参数、$对象参数.属性,或字面量。 - 只校验(
VALIDATE_ONLY)与预演不调用外部系统。有 writeback 的 Action 不收批量提交(applyBatch)。
把 webhook 写进 Action 定义的 schema 里。下面是 schema 中的 webhooks 部分。writeback 的 <数据源>/<名字> 换成自己的 webhook。
{
"webhooks": {
"writeback": { "webhook": "<数据源>/<名字>", "inputs": { "customerId": "$customer.customerId" } },
"sideEffects": [{ "webhook": "im-robot/send-text", "inputs": { "content": "$message" } }]
}
}
- 规则只写
writeback: true的属性。状态这类从数据源来的属性,如果规则去写它,规则写入的值会一直盖住之后同步来的值。定义时会提醒。 - 定义时执行以下检查:
- webhook 存在。
- 必填输入都给了。
- 没有多余的输入。
$writeback.<输出>是 webhook 的输出。- 组织能用这个数据源。
REST API 数据源上的 webhook
自己的系统先建一个 REST API 数据源,再在它上面建 webhook。数据源的建法见 数据接入。下面是一个向企业 IM 群发文本的 webhook。
{
"connection": "im-robot",
"apiName": "send-text",
"displayName": "群里发一条文本",
"inputs": { "content": { "type": "string" } },
"calls": [{
"method": "POST",
"path": "/robot/send",
"body": { "type": "json", "value": { "msgtype": "text", "text": { "content": "{{content}}" } } },
"extract": { "errcode": "/errcode", "errmsg": "/errmsg" }
}],
"outputs": { "errcode": { "type": "integer" }, "errmsg": { "type": "string" } },
"limits": { "timeoutMs": 10000, "rateLimit": { "executions": 20, "per": "minute" } }
}
inputs的类型有boolean、integer、long、double、string、date、timestamp、list、record、optional。不是optional的都必填。calls最多 10 个,按顺序执行。请求体可以是json、formUrlEncoded或text。数据源的认证自动加上,请求里不再写。- 最多一个请求会改外部系统,即方法不是 GET、HEAD、OPTIONS 的请求。换令牌这类不改数据的 POST,标
"isHttpMethodSafe": true。 - 模板:
{{名字}}原样插入文本,{{json 名字}}插入 JSON。{{secrets.<名字>}}取数据源的秘密,只在发送那一刻解开,预演和任何回显里都打码。 extract用 JSON pointer 从响应里取值,取出的变量给后面的请求用。- 很多 IM 接口出错时仍返回 HTTP 200,把错误放在
errcode里。把它配成输出,执行记录里就能看到。 - 上限:
timeoutMs缺省 20 秒,最多 180 秒。rateLimit缺省每分钟 30 次。concurrency缺省 10。retryableStatusCodes遇到就重试,最多 2 次。 - 出口:平台从公网直连。解析到内网或本机地址的域名会被拒绝。
- 权限:webhook 的查看、建、改、删、手动试,只给本组织的 developer。经 Action 调用时,只看 Action 的权限。
aidc semantic connectivity webhook put --ontology cell-demo --file send-text.json --dry-run
aidc semantic connectivity webhook put --ontology cell-demo --file send-text.json
aidc semantic connectivity webhook test <webhookRid> --inputs '{"content":"测试"}' --dry-run
aidc semantic connectivity webhook test <webhookRid> --inputs '{"content":"测试"}'
--dry-run 只渲染请求,秘密打码,不发出。去掉 --dry-run,才真发一次。
Action 执行后发邮件
Action 可以配 notifications。改动提交后,给每个收件人发一封邮件。派任务、转派、提交验收这类「要让某个人知道」的 Action 用它。
{
"kind": "actionType",
"apiName": "create-dev-task",
"title": "派任务",
"schema": {
"parameters": [{ "name": "title", "type": "string", "required": true }, { "name": "assignee", "type": "object", "objectType": "employee", "required": true }],
"rules": [{ "type": "createObject", "objectType": "devTask", "values": { "taskId": "$uuid", "title": "$title", "assigneeId": "$assignee", "assigneeAccountId": "$assignee.accountId", "assignedAt": "$now", "status": "待接受" } }],
"notifications": [{
"recipients": "$assignee.accountId",
"subject": "新任务:{{{title}}}",
"body": "{{{actionTriggerer}}} 派给你一个任务:{{{title}}}",
"link": { "text": "打开任务", "target": { "type": "newObject", "objectType": "devTask" } }
}],
"actionLog": true
}
}
- 收件人可以是
$参数、$对象参数.属性(对象上存的 AIDC 账号 ID)、$user(执行人),或固定的账号 ID。可以写成数组。收件人必须是本组织的人。 subject最多 250 字,body最多 1,000 字,超长截断。{{{参数}}}插入参数值。内容按改动之前渲染。link指向对象参数、这次新建的对象,或一个 URL。- 缺省时,只要有一个收件人不合格,整个 Action 就不执行。
"notificationSettings": { "renderingSettings": "anyNotificationRenderingCanFail" }改为只发给合格的人。 - 预演返回会发给谁、标题和正文,不发。每封邮件记在外发账里。
- 逾期提醒用自动化的「对象集全部对象」条件。见 自动化。
和 ERP、OA 的关系
ERP、MES、OA 缺省只读。它们的数据经数据流同步进来。人和智能体的改动只走 Action,落在语义层。数据源下一次同步,不会冲掉这些改动。要改源系统本身,给 Action 配 writeback webhook。源系统先接受,语义层才记一笔。
限制
下表列出本体相关的上限。
| 项目 | 上限 |
|---|---|
| 一个 Object Type 的主键属性 | 恰好一个 |
| 一次 Action 改的对象 | 10,000 个 |
| 一次 Action 碰的 Object Type | 50 个 |
applyBatch 一次的请求 |
20 个,一个事务 |
| 一个 Action 的 side effect | 10 个 |
一个 webhook 的请求(calls) |
10 个 |
webhook 的超时(timeoutMs) |
缺省 20 秒,最多 180 秒 |
| 分支名 | 小写字母、数字、.、_、-,最多 63 个字符,必须以小写字母或数字开头 |
| 提案标题 | 160 个字符 |
提案的触发原因(--trigger) |
2,000 个字符 |
| 派生属性的链接跳数 | 最多 3 跳 |
| 一次分支修改的新增或更新实体 | 200 个 |
| 一次分支修改的归档实体 | 200 个 |
常见错误
下表列出定义、分支、提案和 webhook 的常见错误。
| 现象 | 原因 | 怎么办 |
|---|---|---|
| 定义被拒,错误信息提到引用 | Action 改的属性、引用的参数、外键目标或枚举不存在 | 补上缺的定义。同一批里的互相引用算数 |
| 定义被拒,提示未知字段 | 字段名拼错,例如 submissionCriterias |
改成正确的字段名。错误信息给出路径 |
409,branch_required |
智能体直接改 main | 在分支上改,开提案 |
403,forbidden,智能体写数据 |
智能体不能直接新建、修改、删除、导入数据 | 改数据用 Action |
| 提案无法合并 | 有任务没批准,或合并检查没通过 | 用 aidc semantic proposal <id> 看检查结果 |
branch_conflict |
分支与 main 有冲突 | 用 aidc semantic branch conflicts <分支名> 看,再 aidc semantic branch rebase <分支名> |
webhook_failed |
writeback 的外部系统拒绝或超时 | 看返回的原因。语义层没有改动,修好外部系统后重试 |
| 破坏性改动要确认 | 删属性、改类型、改主键,或 Action 新增必填参数 | 确认调用它的应用都已改好,批准时加 --confirm-breaking |
422,invalid_schema,提到名字 |
新的 Object Type 名不是 PascalCase | 改成大写字母开头,例如 OrderLine |
| 删除被拒,提到状态 | 构件还是 active |
先改成 deprecated 或 experimental,再删 |
| 403,错误里列出 Action | 类型只允许经 Action 改 | 用列出的 Action 改。或在定义里开放直接编辑 |
命令行
本页相关的命令如下。全部参数见 参考 · Semantic 本体与数据。webhook 的命令见 参考 · 数据接入。
| 命令 | 做什么 |
|---|---|
aidc semantic ontology |
看本体全貌 |
aidc semantic define <文件|目录> [--dry-run] |
整批提交定义 |
aidc semantic archive <apiName> |
归档一个定义 |
aidc semantic publish --notes "…" |
发布一个语义版本 |
aidc semantic releases |
列出语义版本 |
aidc semantic branch create|modify|validate|conflicts|rebase|propose |
分支与提案 |
aidc semantic proposals,aidc semantic proposal <id> |
列出提案,看一个提案 |
aidc semantic proposal approve|reject|merge <id> |
批准、驳回、合并 |
aidc semantic approval-policy [set review|yolo] |
看或改审批策略 |
aidc semantic functions list|publish |
列出函数,发布一个函数版本 |
aidc semantic connectivity webhook put|get|delete|test |
webhook 的建、看、删、手动试 |
API
下表列出本页涉及的接口。前缀里的 {命名空间} 是组织的命名空间,例如 cell-demo。
| 方法 | 路径 | 做什么 |
|---|---|---|
| GET、POST | /api/v1/ontologies/{命名空间}/branches |
分支列表;新建分支 |
| POST | /api/v1/ontologies/{命名空间}/branches/{分支}/modify |
修改分支上的定义。请求头 x-aidc-dry-run: true 只试跑 |
| GET | /api/v1/ontologies/{命名空间}/proposals |
提案列表 |
| POST | /api/v1/ontologies/{命名空间}/branches/{分支}/proposals |
开提案 |
| POST | /api/v1/ontologies/{命名空间}/proposals/{id}/merge |
合并提案 |
| GET、PUT | /api/v1/ontologies/{命名空间}/approval-policy |
审批策略。PUT 只给本组织的 developer 本人 |
| GET、POST | /api/v1/ontologies/{命名空间}/functions |
已发布的函数;发布一个版本。?dryRun=true 只校验 |
| GET、POST | /api/v1/connectivity/webhooks?ontology={命名空间} |
webhook 列表;建 webhook |
| GET、PUT、DELETE | /api/v1/connectivity/webhooks/{webhookRid} |
看、改、删 webhook |
| POST | /api/v1/connectivity/webhooks/{webhookRid}/execute |
手动试 webhook。dryRun 为 true 只渲染 |
下一步
本页由 developer/docs/ontology.md 生成 · Markdown 原文 · llms.txt