查看 Markdown

应用(Apps)

新应用默认使用标准 plugin.json;旧 aidc.app.json 继续支持。Apps 与 OpenAI Plugin 的包、UI、默认 AIDC 登录和可选 OAuth 规范见 Plugin 兼容。

AIDC 的应用,就是智能体时代的插件:一组 Skills 加一组 APIs,界面可选。智能体照 Skills 调 APIs 把事做完,程序直接调 APIs;人需要看、比较、确认的时候,才打开界面。应用在 Developer 里做和测,发布到 Nexus 的应用目录;用的人不用安装——在应用页点「复制给智能体」,把那一句话贴给 Adis、Claude Code 或 Codex 就能用。

这份标准照 OpenAI 的 Plugin 定义来(ChatGPT 与 Codex 共用的插件格式,官方文档,2026-09-29 读取):Plugin 是人们发现、安装、分享和发布的包,可以带 Skills(给模型的说明和资源)、MCP 服务器(工具和外部系统),两者都要时就都带,界面可选。AIDC 应用一一对应,只多了一条:数据在公司的语义层,应用本身不存东西。

一个应用:Skills、APIs 与可选的界面装进同一个包

一个应用由什么组成

应用(aidc.app.json)
├── Skills        skills/<名字>/SKILL.md:教智能体完成一件可重复的事
├── APIs          应用对外提供的能力:HTTP、CLI、MCP 都能调
└── 界面(可选)   index.html:给人看、比较、确认、编辑
部分 是什么 对应 Plugin 的
Skills 一份 SKILL.md:什么时候用、按什么步骤调哪些 API、输出什么、哪些事不能推断。可以附参考资料 Skills
APIs 应用对外提供的查询、读取、汇总、动作,以及工作流的运行。以「应用 × 调用人的角色」执行 MCP 服务器的工具
界面 应用的页面。只调同一套 API,界面能做的事智能体一定也能做 可选的 UI
清单 aidc.app.json:名字、版本、介绍、示例说法、负责方、用到的 SDK、权限与资源上限 plugin.json

两种用法,同一套 API:

选一个形态

形态 什么时候选 例子
只有 Skills 说明加上现成的 AIDC 能力(模型、视觉、语音、语义层)就能把事做完 瑕疵检测:Skill 教智能体用 aidc vision inspect
只有 APIs API 自己说得清,不需要额外的流程说明 设计中心 · 初始材料清单:导出 bom_of
Skills + APIs Skill 带智能体走一套流程,用的是本应用的 API 报价工作流:先预演、给人看、确认后正式运行
APIs + 界面 人要看、比较、编辑或确认结构化的信息 企业数据浏览器、审批看板

先做最小的形态。以后加 API 或界面,不改应用的用途。

包的结构

quote-workflow/
├── aidc.app.json              清单
├── skills/
│   ├── quote-rfq/
│   │   ├── SKILL.md           一条 Skill(name 与目录同名)
│   │   └── references/        可选:口径、例子、模板
│   └── explain-quote-risk/
│       └── SKILL.md
├── index.html                 界面(可选;没有界面时清单写 "entry": null)
└── app.js / style.css

清单:身份、示例说法、介绍

{
  "manifestVersion": 1,
  "slug": "quote-workflow",
  "version": "1.1.0",
  "title": "报价工作流(演示)",
  "summary": "跨部门报价:从一张询价算到一张待审批的报价草稿。",
  "description": "营业部收到客户询价后,把设计 BOM、采购行情、制造工艺、财务核价串起来……",
  "examples": ["给 RFQ-2609-006 核价,出一张报价草稿", "列出待报价的询价,按目标价差距排先后"],
  "owner": { "department": "营业部", "team": "营业小兴-报价" },
  "category": "data",
  "entry": "index.html"
}
字段 做什么 Plugin 里叫
slug 应用标识,出现在地址里(小写、连字符) name
version 语义化版本号,改了任何东西就要升 version
title / summary 目录与应用页上的名字、一句话 displayName / shortDescription
description 应用页「介绍」一节:做什么、给谁用、输入输出(≤ 2000 字) longDescription
examples 示例说法:人对智能体说的一句话,应用页「调用方法」里点一下就复制(≤ 6 条) defaultPrompt
owner 负责方:部门、岗位 / 智能体、联系人 developerName
category 目录里的分类 category
entry 界面入口;null = 没有界面 可选的 UI

其余字段(sdk、semantic、exports、workflow、auth、limits……)见发布 SDK。

Skills

一条 Skill 是一个目录,里面一份 SKILL.md:

---
name: quote-rfq
description: "给一张客户询价核价并生成待审批的报价草稿。用户给出询价单号(RFQ-…)、说要报价或核价时使用。先预演,人确认后再正式运行。"
---

# 核价并出报价草稿

## 输入
- 询价单号(RFQ-…)。没有就先问。

## 步骤
1. 预演:`aidc app call cell-aidc/quote-workflow run --param rfq_no=<单号> --preview --json`
2. 用 get_run 等结果,把单价、风险与目标价差距给人看。
3. 人确认后去掉 --preview 正式运行。

## 不要
- 替人批准报价。

部署时平台检查:目录名、name 与目录一致、description 的长度和写法、正文不能空、单个 SKILL.md ≤ 32 KB。不合规的整个版本拒收,问题一次列全。

没写 Skill 的应用,平台按清单生成一条「使用这个应用」的 Skill(应用页标「平台自动生成」):列出它的 APIs 和用得上的 AIDC 命令。能用,但比不上你自己写的——写一条,把你们的做法教给智能体。

测一条 Skill,照 Plugin 的做法准备五类说法:直接要求、换个说法的同一个目标、缺信息(应该追问)、不该触发的、容易编造的边界情况。Skill 在错的时候被用上,改 description;用对了但结果不稳,改正文。

APIs

一个应用的 APIs 有三个来源:

来源 从哪来 例子
显式导出 清单 exports:名字、参数、说明(推荐,名字和参数是给人看的契约) quote-sales/rfq
自动提取 清单 semantic 里登记的对象类型(查询)与动作 quote-sales/demo.approve_quote
工作流 带 workflow 的应用多三个:run、get_run、list_runs quote-workflow/run

所有 API 走同一个调用口:

curl https://www.ai-dc.ai/api/v1/developer/apps/cell-aidc/quote-sales/apis/rfq/execute \
  -H "Authorization: Bearer $AIDC_API_KEY" -H "Content-Type: application/json" \
  -d '{"input":{"rfq_no":"RFQ-2609-006"}}'

aidc app call cell-aidc/quote-sales rfq --param rfq_no=RFQ-2609-006 --json
claude mcp add --transport http quote-workflow \
  https://www.ai-dc.ai/api/v1/developer/apps/cell-aidc/quote-workflow/mcp \
  --header "Authorization: Bearer $AIDC_API_KEY"

没有自己 API 的应用(界面里直接调 AIDC SDK 的,比如瑕疵检测),应用页列出它「用到的 AIDC 能力」——现成的 CLI 命令,Skill 教智能体用它们做同样的事。

复制给智能体,不用安装

复制一句话,交给你的智能体

每个应用页右上角都有「复制给智能体」。复制的是一句话:

帮我用 AIDC 应用「报价工作流」:https://www.ai-dc.ai/nexus/cell-aidc/apps/quote-workflow/about.md

贴给 Adis、Claude Code、Codex 或任何能跑终端命令的智能体。它读 about.md:这是什么、怎么登录、有哪些 API(CLI 与 HTTP 写法)、每条 Skill 的全文、示例说法、规矩——读完照做。「调用方法」里的示例说法点一下,复制的是「那句话 + 这个应用的说明地址」。

应用页

每个应用都有一张平台生成的应用页(<应用地址>/about),照 Codex Plugins 的详情页排:

一节 放什么 数据从哪来
调用方法 示例说法(点一下就复制);对智能体说 / CLI / HTTP / MCP 清单 examples;APIs
介绍 做什么、执行什么任务(工作流按取数 → 计算 → AI 分析 → 写入分组)、输入与输出、触发 清单 description、workflow
Skills & APIs Skills(可展开看 SKILL.md、复制)、APIs(参数、返回、CLI 与 HTTP)、依赖的能力、用到的 AIDC 能力、连接的数据 包里的 skills/、能力目录
Information 负责方、类别、形态、版本、访问范围、SDK、模型、资源上限、地址、文件 应用卡片

应用页只有元数据,不含业务数据。目录在 /nexus/apps(AIDC 官方)与 /nexus/<公司>/apps(登录后:本公司的应用 + AIDC 官方;打开 /nexus 登录后直接到这里);测试版在 Developer 下:/developer/<公司>/apps 是本公司应用的 Developer 版本(只给 developer),应用页 /developer/…/apps/<slug>/about。发布到 Nexus 需要 Developer 账号。

做、测、发布

aidc app init quote-helper --template skills     # 只有 Skills 的应用;别的模板也都带一条 Skill
aidc app check quote-helper                      # 本地校验:清单、包、Skills
aidc app deploy quote-helper                     # test 通道:Developer 里的应用页与 about.md
aidc app publish quote-helper                    # 测过的版本进 Nexus 目录

完整走一遍:快速开始。

上架前的检查清单

课程

AIDC Academy 的《成为 AIDC Developer》把这一页讲成课:第 4 课「应用:给智能体用,也给人用」讲定义、四种形态和复制给智能体,第 7 课「动手:做第一个应用」从一条 Skill 做到发布。

本页由 developer/docs/apps.md 生成 · Markdown 原文 · llms.txt