面向 AI 的企业数据平台
企业的所有数据在一个地方:人、应用和智能体读同一份,改数据只走 Action;每个组织一个自己的数据库,直接用 SQL 查。

ERP、MES、OA 的数据只读地同步进来,组织成 Object 和 Link。谁来读,读到的都是同一份;谁来改,都只走 Action。
当前值 = 数据源 ⊕ 语义层里的改动
Object Type 是业务里的名词,Link Type 是它们之间的关系,Action Type 是能对它们做的事。智能体读 Ontology,就知道公司里有什么、能做什么。
| API name | Base type | 说明 |
|---|---|---|
organizationId | string | 主键Value Type cellId |
name | string | 标题 |
seats | integer | 席位 · 单位:个 |
members | integer | 成员 · 单位:人 |
stage | string | Value Type organizationStage · 只在语义层 |
health | string | Value Type healthStatus · 只在语义层 |
agentCount | integer | 派生agents → count |
modelCostUsd | double | 派生modelUsages → sum(costUsd) |
lastTouchpointAt | timestamp | 派生touchpoints → max(at) |
agentsapplicationsserversmodelUsagestouchpoints一类业务对象:客户、订单、设备。每个对象有主键和标题。
对象的字段,22 种 base type;主键、标题、单位在定义时校验。
两类对象之间的关系,一对多或多对多,沿着链接一跳一跳地查。
几类对象共有的形状,例如「可计费」:按接口一起查、一起聚合。
带约束的取值:枚举、范围、正则,写入时校验。
改数据的唯一入口:参数、提交条件、规则。先校验再执行,每一次都进 Action Log。
读的时候沿链接算出来:数字员工数、累计费用、最近一次跟进。

开箱就能用,不用先做界面。
每个 Object Type 是一张视图,列就是属性。在 SQL Console 里写 SQL,或者用 psql、BI 工具、Notebook 只读直连。
-- 每个组织有多少数字员工 SELECT o.name, o.stage, count(a.*) AS agents FROM organization o LEFT JOIN agent a ON a."organizationId" = o."organizationId" GROUP BY 1, 2 ORDER BY agents DESC;
postgresql://ont_<org>_reader.<ref>:••••@…:6543/postgres
智能体不直接改线上的本体:它开分支、写定义、开提案;人逐项批准,合并后发一个语义版本。

智能体从当前语义版本开一个分支,把 Object Type、Link Type、Action Type 的改动写在分支上;main 不受影响。
按资源拆成逐项任务,附上为什么改、改了什么、校验结果、影响面(30 天的读写与活跃用户)和破坏性改动。
每一项都要一个人批准;破坏性改动要输入资源名确认。批准只认人的网页登录,任何 Key 都不行。
引用闭合、名字唯一、主键规则、与 main 无冲突全部通过后合并,发一个语义版本,Changelog 记下每一步。
作者由凭证决定:Agent Key 一律记为智能体。智能体直接改 main 会被拒绝(409 branch_required)。
REST API、SDK、CLI 与 MCP 走同一套权限:一把 Key 能做的,就是它代表的人能做的。
POST /api/v1/sqlQueries/executeOntology { "ontologyIdentifier": "cell-aidc", "query": "SELECT name, seats FROM organization WHERE seats > $1", "parameters": { "type": "unnamedParameterValues", "values": [30] }, "rowLimit": 100 } GET /api/v1/ontologies/cell-aidc/objectTypes POST /api/v1/ontologies/cell-aidc/objects/organization/search POST /api/v1/ontologies/cell-aidc/actions/set-organization-stage/apply
const client = semantic.ontology(); // 筛选、排序、沿链接走 const orgs = client.objects("organization") .where({ seats: { $gt: 30 } }); const page = await orgs.fetchPage({ $orderBy: { seats: "desc" } }); const agents = await orgs.pivotTo("agents").fetchPage(); // Action:先只校验,再执行 await client.action("set-organization-stage").applyAction( { organization: "cell-aidc", stage: "已上线" }, { $validateOnly: true }); // Ontology SQL const rows = await semantic.sql( "SELECT name, stage FROM organization LIMIT 20");
aidc semantic sql "select name, stage from organization limit 20" aidc semantic database --rotate # 只读连接串,口令只显示一次 aidc resources list --scope public aidc resources share <rid> --everyone --role viewer
# 读:给智能体读的说明书与对象 aidc semantic describe --markdown aidc semantic objects organization --json # 改本体:只在分支上,开提案等人批准 aidc semantic branch create add-department aidc semantic branch modify add-department ontology/ aidc semantic branch propose add-department --title "…"
每个公司应用也是一个 MCP 服务器:工具就是它的 APIs,Adis、Claude Code、Codex 直接接上。智能体的 Agent Key 读 Ontology,权限不超过它代表的人。
AIDC 的组织、数字员工、应用、服务器、模型用量和客户跟进都在自己的 Ontology 里,定义由 AIDC 的智能体维护、开发者审核。产品、方案、SDK、模型和课程对所有 AIDC 账号公开。
organization
数字员工agent
应用application
服务器server
模型用量modelUsage
客户跟进touchpoint
product
方案plan
SDKsdk
模型model
课程course
这是 AIDC 自己的核心本体;生产里的 Ontology 还有更多类型,总数以组织的 Ontology 元数据为准。
Ontology 由三层构件组成:语言(数据、逻辑、动作、治理)、引擎(规模、接入、同步)、工具链(应用与服务、为人和智能体造工具)。下面逐项写 Semantic 的现状——已上线、部分可用,还是规划中。
状态说明:已上线 = 线上今天能用;部分可用 = 有一半,缺的写在后面;规划中 = 方向,不代表现在能用。
| 构件 | 在 Semantic 里是什么 | 状态 |
|---|---|---|
Object Type · Property · Link Type | 22 种属性类型;主键与 title key 在定义时校验。1:N 的链接用外键,N:M 的链接单独存一行。每个类型最多 256 个属性。 | 已上线 |
Shared Property · Value Type · Struct | 共享属性可被多个类型引用;Value Type 带约束(枚举、范围、长度、正则、UUID……),写入时校验;Struct 最多 20 个字段,不能嵌套。 | 已上线 |
Interface | 可以继承,对象类型实现它并映射属性;按接口一起查、一起聚合,SQL 里每个接口一张视图。接口上的链接约束与 Action 约束还没有。 | 部分可用 |
Derived Property | 读的时候沿链接现算,只读,最多 3 跳;取某个值,或做 count、sum、avg、min、max 等聚合。不能用来筛选或排序。 | 已上线 |
Action Type | 6 种规则(创建、修改、创建或修改、删除对象,创建、删除链接);参数;提交条件按参数、对象属性和当前用户判断;可以只校验不执行。单次最多改 10,000 个对象,批量一次最多 20 个请求、在一个事务里;成功的提交写进 Action Log。 | 已上线 |
Action side effects | 邮件通知已上线:收件人可取自参数、对象属性或执行人,预演时会告诉你会发给谁。写回源系统只有 writeback webhook,目前只通到 AIDC 自带的 AWS 数据源;多个 side-effect webhook、站内通知中心还没有。 | 部分可用 |
Functions | 函数运行时在内核里已经有了,但还没有开放发布入口,所以现在没有可用的函数;基于函数的 Action、由函数渲染的通知也就还没有。 | 规划中 |
Markings | Marking 把数据分成类别(合取 / 析取):要满足全部才看得见,不看角色,只限制、不授予。挂在 Ontology、Object Type、数据流和导入上,沿层级与数据依赖传播。 | 已上线 |
Object & property security policies | 行级策略和列级策略叠成单元格级:看不见的行不出现,看不见的属性读到 null,也不能拿来筛选、排序或聚合。Ontology API、订阅、编辑历史、应用和自动化都按读的人判定;Ontology SQL 暂不含受保护的类型。 | 已上线 |
Organizations · Users · Groups | 组可以嵌套、不能成环,成员可以带到期时间;每个用户的主组织恰好一个,部门、职位等属性由组织管理员维护;组接到资源分享、Marking 成员和对象安全策略上。 | 已上线 |
Global Branching | 智能体不能直接改 main:在分支上改、开提案,逐项由人批准后才合并;合并前检查引用闭合、名字唯一、主键规则和冲突。只覆盖本体,不是跨应用的全局分支;审批规则是固定的,不能配置。 | 部分可用 |
| 构件 | 在 Semantic 里是什么 | 状态 |
|---|---|---|
Object storage | 每个组织一个自己的 Postgres schema;对象的当前值 = 数据源 ⊕ 语义层里的改动;对象集编译成一条 SQL,在存储层直接执行。 | 已上线 |
Ontology SQL | 每个 Object Type、N:M Link Type 和 Interface 一张只读视图;一条 SELECT,最多 10,000 行、20 秒。有两个只读角色(本组织的 reader、只看公开类型的 public),开发者可以轮换口令拿只读直连串(psql、BI 工具)。 | 已上线 |
Data Connection | 两种连接:PostgreSQL 和 SQL Server。导入是一条只读查询(SELECT / WITH);云端按需叫醒客户箱上的 agent,只回传变了的行,口令不离开客户箱。没有 REST、S3、Kafka 等其他类型的数据源,也没有虚拟表和转换流水线。 | 部分可用 |
Streams | 发布端把事件推进数据流(semantic.stream()、aidc semantic streams);对象的数据源可以是数据流、导入产出的数据集或媒体。 | 已上线 |
Synchronization | ERP 的数据是「有人读、且已经过期」才按需拉取(缺省 300 秒),没人读就不同步;变化账和对象集订阅让页面与程序跟着数据走。没有 CDC 式的持续镜像。 | 部分可用 |
Object set subscriptions | 订阅对象集的变化,用 SSE 代替 WebSocket;断线后按序号续传,页面隐藏 1 分钟自动断开、切回来再续上。 | 已上线 |
Media sets | 媒体集(图片、文档、音视频等)、Attachment 和媒体引用属性已上线,字节放在这家公司自己的 S3 桶里。变换目前只有 PDF / TXT 取文字,没有缩略图和切片;虚拟媒体集只能指向公司桶里的一个文件夹。 | 部分可用 |
Time series | 时间序列属性有首点、末点、取点三个端点,内联最多 1,000 个点。没有独立的时序存储和分析。 | 部分可用 |
| 构件 | 在 Semantic 里是什么 | 状态 |
|---|---|---|
REST API | /api/v1/ontologies/**:对象、对象集、搜索、聚合、链接、时间序列、附件、媒体、Action;另有 /api/v2/ontologies/** 与 /api/v2/functions/**(响应体不带 AIDC 信封),v2 的写入只开放 Action 的 apply 和 applyBatch。所有调用都要登录。 | 已上线 |
Ontology SDK (OSDK) | semantic.ontology()(浏览器与 Node):对象集、聚合、链接、Action、订阅的写法照 OSDK;客户箱上的智能体用 Python 的 aidc_semantic,写法一一对应;命令行是 aidc semantic。它们是手写的客户端,不是按你的本体生成的类型化包,也没有 npm 包。 | 部分可用 |
Workshop | 在 AIDC 里叫 Applications:10 种组件(指标卡、对象表、XY 图、饼图、透视表、Markdown、筛选列表、数据新鲜度、对象集标题、自定义组件);变量按需、只算当前页。版本只增,发布只能由人;打开着的页面可以 Auto-refresh(最短 10 秒),数据一变就重新取;数据按看的人的权限现算。 | 已上线 |
Object Explorer · Object Views | 表格(按属性排序、筛选、分页,上方一条聚合条)和对象详情(属性、关系、编辑历史、可执行的 Action、媒体预览);另有 Ontology 图、Object Type 页和 Action 页。 | 已上线 |
Ontology Manager | 只读:图、Object Type 页、Action 页、提案审核。网页上不能新建或修改类型——定义靠 aidc semantic define、REST,或智能体的分支与提案。 | 部分可用 |
Automate | 条件:对象新增 / 修改 / 移除、时间(北京时间)、对全部对象执行;效果:邮件、钉钉与企业微信通知(经客户箱上的数字员工)和 Loop 脚本;到期自动停。没有阈值触发,也不能直接提交 Action 或调用函数。 | 部分可用 |
Ontology MCP | 每个公司应用现在各是一个 MCP 服务器(工具 = 应用的 APIs);把整个本体直接暴露成 MCP 工具的服务还没有接入。 | 规划中 |
各项上限都写在文档里;没有基准测试支撑的规模与速度数字,这里不写。
每个产品管一段,用同一套本体、同一套权限、同一批模型。点开任何一个,看它在线上今天能做什么。
同步进来的数据存在 Semantic 里,按组织隔离;每个组织的数据库是一组只读视图,直接读 Ontology 的当前值,不另存副本。ERP、MES、OA 只读同步,人和智能体的改动只走 Action、留在语义层,不会回写 ERP、MES、OA。
缺省只有本组织能看。设成 Public 才对所有登录的 AIDC 账号可见(不含匿名);Open to Internet 是任何人、不用登录,默认关闭,目前只有文件支持。改分享只有 Owner 能做。别的组织看不到你的 schema,SQL 也查不到。
只读:一次一条 SELECT(可以 WITH 开头),最多 10,000 行、20 秒。查询以只读角色执行,看不到平台表,也提不了权;直连每个组织最多 10 个连接,空闲 30 秒断开。
智能体不能直接改 main:它在分支上改、开提案,每一项都要一个人在网页上批准,破坏性改动还要输入资源名确认;合并前自动检查引用、命名、主键和冲突。批准只认人的网页登录,任何 Key 都不行。
不用。登录后在浏览器里看图、查表、执行 Action、写 SQL、设置分享。开发者和智能体再用 REST API、SDK、CLI。
第二套「价值链系统」和第三套「组织决策系统」都包含 Semantic,详见定价。
