样板应用
公开的样板,用来演示 SDK 怎么组合成一个能用的应用。它们都是 AIDC 官方公开应用(namespace: public):登录的成员都可以打开(一律登录:至少是一家公司的 member),不存储任何数据;模型用量记在 AIDC 名下,并受每日额度保护。源码在 aidc-cloud 仓库的 developer/apps/,用 aidc app deploy / aidc app publish 发布——和客户开发者走同一条发布流程。每个样板都照 应用(Apps) 的标准带了 Skills(skills/<名字>/SKILL.md)、示例说法与介绍:打开应用页(…/about)点「复制给智能体」就能让智能体用它。
| 应用 | 用到的 SDK | Developer(test) | Nexus(production) |
|---|---|---|---|
| 瑕疵检测 | 视觉 + 模型(gpt-6-luna) |
/developer/apps/defect-inspection | /nexus/apps/defect-inspection |
| 会议纪要 | 语音(实时转写)+ 模型(翻译、纪要)+ 连接(智能体) | /developer/apps/meeting-minutes | /nexus/apps/meeting-minutes |
| ERP 数据自动分析 | 连接(数据集)+ 数据 + 模型 | /developer/apps/erp-analysis | /nexus/apps/erp-analysis |
| 世界模型 · 空间建模 | 建模(世界模型、查看器、锚点)+ 界面;只看不生成 | /developer/apps/world-model | /nexus/apps/world-model |
瑕疵检测
用摄像头(或上传照片)拍一件产品,视觉模型判断制作工艺有没有瑕疵——污渍、油渍、破洞、划痕、跳线、色差、缺料——给出合格 / 不合格 / 拿不准,并在图上框出每一处问题的位置与严重程度。检查项可以切换(纺织成衣、注塑件、包装、自定义)。
const camera = await vision.openCamera({ video, facingMode: "environment" });
const photo = await camera.capture();
const result = await vision.inspect(photo, { task, criteria, model: "gpt-6-luna" });
const annotated = await vision.annotate(photo, result.findings);
物体检测(视觉 SDK · Semantic 登录绑定)
源码:developer/apps/object-detect/。上传或拍一张照片,vision.detect(缺省 GPT-6 Luna)找出画面里的物体,vision.annotate 画框,表格列出类别、把握与归一化位置。清单 auth.publicLink: "members":发公开链接出去,访客要先用 AIDC 账号(邮箱验证码)登录,只有应用所在公司的人才能用;应用里用 auth.me() 的 member / signedIn 给没登录或不是本公司的人不同的提示。
aidc app deploy developer/apps/object-detect --namespace <你的 cell> && aidc app publish object-detect
aidc share object-detect --public --days 30 # 公开链接:只给本公司成员(登录后判定)
aidc vision detect photo.jpg --labels 人,叉车,托盘 # 不写应用,直接在命令行检测
自进化演示
源码:developer/apps/evolve-demo/(智能问答台)。一个真能用的问答页(DeepSeek Flash 流式回答),页面各区域都用 data-evolve 标成槽位(顶栏、标题、侧边栏、介绍卡片、对话框、消息区、气泡、输入框、发送按钮…),清单 evolve 给它们起了名字,并把对话框宽高、侧边栏宽度、对话字号、气泡圆角、强调色做成带范围的可调参数。右下角「// 改进」:说「对话框变大」「隐藏侧边栏」「标题改成客服工作台」「发送按钮改成深蓝色,气泡圆一点」——页面马上变;「只给我保留」或「提交给所有人」。部署在客户命名空间(AIDC 自己是 cell-aidc),因为保存改进要知道是谁在改:/nexus/cell-aidc/apps/evolve-demo(AIDC 成员登录后打开),公开链接要求先登录(auth.publicLink: "signin")。
aidc app deploy developer/apps/evolve-demo && aidc app publish evolve-demo
aidc evolve list evolve-demo # 大家在应用里提的改进
aidc evolve bake evolve-demo --dir developer/apps/evolve-demo # 全员改进固化进代码,版本 +1
会议纪要
点「开始」后边说边出字(实时转写),每一句定稿后同时译成所选语言——日语、英语、埃及阿拉伯语、孟加拉语。结束后一键整理成纪要(议题、决议、待办),可以复制、下载,或者用你自己的 Agent Key 发给指定的智能体归档与跟进。
const session = await voice.startTranscription({ languages: ["zh", "en", "ja", "ar", "bn"], onPartial, onFinal });
const translations = await voice.translate(sentence, ["ja", "en", "ar-EG", "bn"]);
const minutes = await voice.minutes(transcript);
await model.agent(agentKey).send(minutes.markdown);
每场实时转写最长 5 分钟,到点自动续开下一场,逐字稿不中断。
ERP 数据自动分析
连接 AIDC 数据库里的合成 ERP 演示库(aidc-demo-erp,虚构企业 12 个月的经营数据),拉取固定口径的经营报告:营收与毛利趋势、客户集中度、应收账龄、库存风险、采购结构,以及规则化的经营信号;最后由模型把报告写成一段管理层摘要(数字一律以报告为准)。
const report = await connect.datasets.report("aidc-demo-erp", "overview");
el.innerHTML = data.barChartSvg(report.monthly.map((m) => ({ label: m.month.slice(5), value: m.revenue })));
const summary = await model.text({ model: "deepseek-flash", messages: [...] });
数据全部为虚构,客户与供应商名称均为示例。客户自己的 ERP 接入后,报告形状不变。
企业数据(语义层浏览器,部署到你的公司)
Nexus 上的「数据模块」:公司语义层的通用浏览器——左边是对象类型(带数据源健康),中间是对象表(搜索、按列排序、实时更新、改过的属性打点),右边是详情:每个属性的显示名 / 单位 / 同义词、被语义层改过的值与「数据源现为 …」、沿链接找相关对象、变化记录(谁、何时、做了什么),以及按权限出现的 Action 按钮(表单由 Action 定义自动生成)。完全由 semantic.describe() 驱动,不写死任何业务,换一家公司直接能用;ERP / MES 只读。
它不是公开应用(公开命名空间没有语义层),源码在 developer/apps/data-explorer/,清单不写 namespace——用你公司的开发者 Key 部署,就挂在你公司下:
aidc app deploy developer/apps/data-explorer # → /developer/<cellId>/apps/data
aidc app publish data # → /nexus/<cellId>/apps/data(本公司成员可用)
const space = await semantic.describe(); // 类型、属性、链接、Action(含我能不能执行)
const page = await data.table(type.apiName).list({ where, sort, limit: 100 });
data.watch({ types: [type.apiName], after: page.seq }, { onChange: reload });
const { object, history } = await data.table(type.apiName).get(pk, { history: true });
await semantic.action(a.apiName).apply(params, { object: pk });
从模板开始一个语义层应用
aidc app init my-board --template semantic # 读一个对象类型(live)+ 一个 Action 按钮;清单登记好 sdk 与 semantic
把模板里的 production.order_line / production.flag_issue 换成你公司语义层里的类型与 Action(aidc semantic describe),同时改清单的 semantic。完整走一遍见 闭环。
Semantic · Ontology 示例(语义 SDK · 示例)
一套用 AIDC Semantic 建的示例本体:Demo Company(一家虚构的企业 AI 公司),管理它的客户公司、智能体、应用、模型用量与云费用。名字和结构照 Palantir Ontology——5 个 Object Type、4 个 Link Type(applicationAgents 是多对多)、2 个 Interface(Billable 继承 Monthly)、5 个 Value Type、2 个 Shared Property、6 个 Action Type(带提交条件与 Action Log)。数据全部虚构,放在只装示例数据的 Demo Company(cell-demo)里,不进任何真实公司;对外的示例一律只用 Demo Company。
打开:Semantic · Ontology 示例(要先登录 AIDC 账号,只读;不对互联网匿名开放)。
- 本体:Object Type 卡片(主键、标题属性、链接、实现的接口、对象数),Link Type 两端的名字与基数,Interface、Value Type(约束)、Shared Property。
- 对象:Object Explorer(按类型浏览、搜索、排序,每一步附上对应的 OSDK 写法)+ Object View(全部属性、派生属性、沿每条链接走一步、编辑历史、时序属性的曲线)。
- 分析:对象集与聚合——按月汇总 Billable 接口的成本、客户阶段分布、付费客户的全部智能体(
pivotTo)、每家客户的应用数与费用(withProperties)、云费用按厂商、向量近邻(nearestNeighbors)。 - Action:参数、规则与 Action Log;本公司成员可以「只校验」(不执行),公开链接的访客只能看。
源码:应用在 developer/apps/ontology-demo/,定义、示例数据与灌数脚本在 developer/apps/ontology-demo-data/。在你自己的公司里照做一遍(空的命名空间):
sh developer/apps/ontology-demo-data/seed.sh <你的 cellId> # define → publish → import → apply-batch → 几次 Action
aidc app deploy developer/apps/ontology-demo && aidc app publish ontology-demo
aidc share ontology-demo --public # 可选:公开只读链接
座位申请(语义 SDK · 会执行的 Action · Academy 教程配套)
一个从零做起、能真的执行的 Action 的完整例子,配 Academy 的课程《动手:做一个会执行的 Action》(7 节:地基、第一个 Action、提交条件、命令行 / SDK / REST、做成应用、自动化与 writeback webhook)。客户公司想把座位数提到新的数目:先提交申请,开发者批准(申请和公司的座位数在同一个事务里一起改)或拒绝(必须写批复意见);座位数在 50 以内的申请由自动化批准。数据全部虚构,放在 Demo Company(cell-demo)里。
打开:座位申请台(要先登录 AIDC 账号,只读;不对互联网匿名开放。Demo Company 之外的账号只能看,执行要在你自己的公司里照下面做一遍)。
- 本体:Value Type
seatRequestStatus,Object TypeseatRequest(customer沿用示例本体里的),Link TypecustomerSeatRequests,四个 Action:submit-seat-request(两条提交条件)、approve-seat-request(一个事务改两个对象,只给开发者)、reject-seat-request(批复意见必填)、auto-approve-seat-request(50 座以内;给自动化用,策略写在提交条件里)。 - 应用
seat-desk:Skills + APIs + 界面。每一步先「只校验」、你确认再执行,显示逐项结果、这次改了哪些对象和对应的 SDK / CLI 代码;申请一变就实时更新(对象集订阅)。自带一条 Skill,教智能体先--preview再执行。 - 应用
seat-auto-approve:没有界面,只有清单。Automate 的「对象新建或修改」条件(trigger.change)加一个 Action 效果,判断在触发条件和提交条件两处都做。 - 另一个真实的 writeback 例子:
developer/apps/aws-servers(AIDC 自己的 AWS 服务器:关机、开机、自动关机,见语义 SDK 的「Action 改源系统」);课程第 7 课把两者放在一起讲。
源码:定义与灌数脚本在 developer/apps/seat-desk-data/(starter/ 是读者自己公司的起点,ontology/ 是座位申请本身,call.mjs 是 SDK 脚本,try-writeback.json 是被拒绝的 writeback 练习),应用在 developer/apps/seat-desk/ 与 developer/apps/seat-auto-approve/;课里的代码块直接取自这些文件,src/server/modules/semantic/seat-desk-flow.test.ts 把每个例子(成功的和被拒绝的)在测试库里跑一遍。在你自己的公司里照做一遍(空的命名空间):
aidc semantic define developer/apps/seat-desk-data/starter && aidc semantic publish --notes "客户"
aidc semantic define developer/apps/seat-desk-data/ontology && aidc semantic publish --notes "座位申请"
aidc semantic apply register-customer --param customerId=acme-east --param name="ACME East" --param stage=试点 --param seats=20 --param members=14
aidc semantic apply submit-seat-request --param customer=acme-east --param seats=30 --param reason="新开两个仓库" --validate-only
aidc app deploy developer/apps/seat-desk && aidc app publish seat-desk
aidc app deploy developer/apps/seat-auto-approve && aidc app publish seat-auto-approve
aidc share seat-desk --public # 可选:公开只读链接
灌 Demo Company:sh developer/apps/seat-desk-data/seed.sh cell-demo(要 cell-demo 的 developer 登录;Demo Company 里已经灌好了,这一条只在 Demo 被清空后重建时用——Action 每跑一次都会再记一次账,重跑之前先确认里面还没有这些申请)。
跨部门报价工作流(Semantic 自动化 · 公开演示)
一个制造企业的新品报价,要用到好几个部门的数据:营业部收到客户询价,设计中心出初始材料清单(BOM),采购部给原材料行情与物流包装费率,制造部给工艺能力(标准 JPH、OEE、小时费率),财务部给核价口径(管理费率、目标利润率、报价汇率、材占比 / 边利率红线)。这个演示把五个部门各自的应用(各是一个 Nexus 应用,数据在语义层)用工作流串起来:
营业 · 询价单 ─┬─▶ 设计 · 初始材料清单 ─┬─▶ 采购 · 原材料行情 ─▶ 采购 · 材料成本 ─┐
│ └─▶ 制造 · 工艺能力 ───▶ 制造 · 加工成本 ─┤
├─▶ 采购 · 物流包装费率 ─────────────────────────────────────────────┤
财务 · 核价口径 ──────────────────────────────────────────────────────────────────┴─▶ 财务 · 定价与红线
─▶ 营业 · AI 报价分析 ─▶ 营业 · 报价草稿
- 登记一张询价(营业部应用里的「登记询价」Action),工作流自动运行:约 2 秒算完材料 / 加工 / 物流 / 管理费、按口径定价并换算成报价币种,对照客户目标价查材占比与边利率,AI 写一段分析,最后在营业部生成待审批的报价草稿。
- 画布(
developer/apps/workflow-canvas,任何带workflow的应用都能用):部门是泳道,连线上的字是传过去的参数,点任意一步看用了谁的能力、公式、输出与提供方的应用卡片;运行实时推送,结束后可以回放。 - 公开演示:打开报价工作流(AIDC 自己公司下的演示应用,公开只读分享)。访客可以对任意一张询价预演——读取各部门应用的数据、计算、AI 分析都真的跑,不写入;运行记录只显示「公司成员 / 访客 / 数据变化」,不显示是谁。数据全部为虚构。
源码:developer/apps/quote-demo/——ontology/(demo.* 语义定义)、seed/(演示数据)、apps/<slug>/aidc.app.json(五个部门应用 + 报价工作流),部门看板复用企业数据浏览器的代码、工作流复用画布的代码,由 build.mjs 组装:
aidc semantic define developer/apps/quote-demo/ontology && aidc semantic publish --notes "报价演示"
aidc data import demo.commodity_price developer/apps/quote-demo/seed/demo.commodity_price.json # 其他类型同理;询价用 --layer edits
node developer/apps/quote-demo/build.mjs # → developer/apps/quote-demo/dist/<slug>/
aidc app deploy developer/apps/quote-demo/dist/quote-sales && aidc app publish quote-sales # 先发布五个部门应用
aidc app deploy developer/apps/quote-demo/dist/quote-workflow && aidc app publish quote-workflow
aidc workflow run quote-workflow --param rfq_no=RFQ-2609-002 --preview
世界模型 · 空间建模(建模 SDK · 公开展示)
打开 /nexus/apps/world-model:用 World Labs Marble 世界模型生成的 3D 世界,在浏览器里实时渲染(高斯溅射),叠加数字孪生锚点。
- 世界:
public命名空间里登记的世界(现在是一个文字生成的森林,2026-09-14 实验的文字基线,Marble 1.1、1,580 credits);点列表切换,精度 10 万 / 50 万 / 完整。 - 坐标系:米、Y 向上、地面 y = 0;「初始视角」就是生成视点。
- 锚点:五个演示锚点放在世界里真实可见的发光蘑菇群与地面上(位置取自高斯中心),传感器读数是模拟的;点锚点镜头飞过去。在公司的世界里,锚点绑到语义层对象(设备、工位),读数来自语义层与数据流。
- 报价:选模型与输入,按当前策略算最多花多少、会不会被拦下——和服务端预留用的是同一张价目表。
- 只看不生成:平台对官方公开应用写死了不接受生成 / 上传 / 导出 / 改锚点请求;页面上的「生成世界」按钮是禁用的。
源码:developer/apps/world-model/(sdk: ["modeling", "ui"]、cdn: ["cdn.jsdelivr.net"],页面头部放 import map);展示用的世界快照与锚点在 developer/apps/world-model-data/(出处与重新登记步骤见其 README)。
从模板开始一个 3D 世界应用(数字孪生)
aidc modeling generate --text "一个整洁的汽车零部件装配工位…" --dry-run # 先看估价与额度
aidc modeling generate --text "一个整洁的汽车零部件装配工位…" # 缺省试稿模型,约 5 分钟
aidc app init my-twin --template modeling # 查看器 + 锚点列表 + 估价;清单已接 modeling / ui / jsDelivr
aidc modeling anchors <世界 id> --file anchors.json # 把设备、工位的位置(米)绑到语义层对象
应用里要生成世界,在清单 limits 里写 worldCreditsPerDay(每天最多花多少 credits);不写就只能看。
从模板开始一个工作流
aidc app init my-flow --template workflow # 计算 + AI 分析两步起步;再用 aidc workflow capabilities 找能力,加 use 步骤
本页由 developer/docs/samples.md 生成 · Markdown 原文 · llms.txt