# 快速开始

做一个智能体能用的 AIDC 应用，大约十分钟。一个应用是一组 Skills 加一组 APIs，界面可选（见 [应用（Apps）](apps.md)）。这篇从最小的形态开始：**只有一条 Skill 的应用**——教智能体用现成的 AIDC 视觉能力检查现场照片。做完以后，你会在 Developer 里看到它的应用页，把「复制给智能体」的那句话贴给你的智能体试用，再把它发布到 Nexus 的应用目录。

![从一条 Skill 到发布，几步就够](../../assets/img/developer/apps/quickstart-hero.webp)

需要：Node 18 以上、一个有 developer 权限的 AIDC 账号（公司的 developer License，或 AIDC 平台账号）。

> 想让智能体替你做：在 [/developer](https://www.ai-dc.ai/developer) 点「Copy to Adis」，把复制的那句话贴给 Adis（或任何能跑终端命令的智能体）。它会照 [agent-ready.md](https://www.ai-dc.ai/developer/agent-ready.md) 走完下面的步骤；你只需要登录一次（在自己的终端里输入账号和密码，或者在浏览器里批准它给你的链接）。

## 1. 安装 CLI

```bash
curl -fsSL https://www.ai-dc.ai/developer/cli/install.sh | sh
aidc --version
```

安装脚本把单文件 CLI（`/developer/cli/aidc.mjs`）放到 `~/.aidc/bin/aidc`，再在 PATH 里第一个属于你（`$HOME` 下）、可写的目录（`~/.local/bin`、`~/bin`…）放一个链接，装完就能直接敲 `aidc`；没有这样的目录时，最后一行会给完整路径。不改 shell 配置文件，不覆盖别的同名程序。

## 2. 登录

```bash
aidc login
```

在终端里输入 AIDC 账号（用户名或邮箱）和密码（密码不回显）。账号能代表几家公司时，终端会列出来让你选一家。开发者 Key 存在 `~/.aidc/config.json`（权限 0600）。

- 还没有账号：在 `https://www.ai-dc.ai/login` 注册；开发公司应用还要公司发给你的 developer 授权码，在 `https://www.ai-dc.ai/account` 输入。
- 智能体 / CI：密码只由人本人在终端里输入。无人值守设置 `AIDC_API_KEY=aidc-dk-…`；身边没有终端的智能体用 `aidc login --browser --no-wait --json` 把链接交给人在浏览器里批准，之后 `aidc login --continue --no-wait --json` 继续。

## 3. 创建应用

```bash
aidc app init site-check --template skills --title "现场巡检"
```

生成两个文件：

```text
site-check/
├── aidc.app.json               清单：名字、介绍、示例说法；"entry": null = 没有界面
└── skills/site-check/SKILL.md  一条 Skill
```

打开 `aidc.app.json`，写上一句话和两三句示例说法——人会怎么对智能体说：

```json
{
  "manifestVersion": 1,
  "slug": "site-check",
  "version": "0.1.0",
  "title": "现场巡检",
  "summary": "拍一张现场照片，检查通道有没有堵、物料有没有乱放、有没有人没戴安全帽。",
  "examples": ["看看这张仓库照片有没有安全问题", "这条通道现在能不能过叉车？"],
  "category": "vision",
  "entry": null,
  "sdk": [],
  "storage": { "type": "none" }
}
```

## 4. 写 Skill

![Skill 就是一份写给智能体的做法](../../assets/img/developer/apps/apps-skills.webp)

Skill 教智能体把一件事做完：什么时候用、要什么输入、按什么步骤调哪些命令、输出什么、哪些事不能做。把 `skills/site-check/SKILL.md` 改成：

```markdown
---
name: site-check
description: "用现场照片做安全巡检：通道堵塞、物料乱放、没戴安全帽。用户发来现场照片、问「有没有问题」「安不安全」时使用。"
---

# 现场巡检

## 输入
- 一张或几张现场照片。看不清就请人重拍，不要硬判。

## 步骤
1. 确认已登录：`aidc whoami`（没有就请人自己运行 `aidc login`）。
2. 每张照片：`aidc vision inspect <图片> --task "检查通道是否堵塞、物料是否乱放、人员是否佩戴安全帽" --json`。
3. 按 verdict 排序：fail → uncertain → pass。

## 输出
- 每张照片一行：结论 + 最要紧的一处问题（在哪、多严重）。uncertain 写明「需要人复核」。

## 不要
- 编造照片里没有的东西；把 uncertain 说成没问题。
```

`description` 决定智能体什么时候想起这条 Skill：写用户的目标和触发的场合，步骤放正文。

## 5. 校验并放进 Developer

```bash
aidc app check site-check      # 本地校验：清单、包、Skills（和服务端同一份规则）
aidc app deploy site-check
# 新版本 v0.1.0 已进入 test 通道
#   Developer 预览：https://www.ai-dc.ai/developer/cell-xxx/apps/site-check
```

没有界面的应用，打开地址就是它的应用页（`…/site-check/about`）：调用方法、介绍、Skills & APIs、Information 都由平台按清单和 Skill 生成。同样的文件重复部署不会产生新版本（内容寻址），重试是安全的；先看会发生什么，加 `--dry-run`。

## 6. 复制给智能体，试一试

![复制一句话，交给你的智能体](../../assets/img/developer/apps/apps-copy.webp)

在应用页右上角点「复制给智能体」，把复制的那句话贴给 Adis、Claude Code 或 Codex：

```text
帮我用 AIDC 应用「现场巡检」：https://www.ai-dc.ai/developer/cell-xxx/apps/site-check/about.md
```

智能体读这份说明（它的 Skill、命令、规矩），照做。用几类说法各试一次：

1. 直接要求：「看看这张仓库照片有没有安全问题」。
2. 换个说法的同一个目标：「这条通道现在能不能过叉车？」
3. 缺信息：只说「帮我巡检」、不给照片——应该追问。
4. 不该用这条 Skill 的：「帮我写周报」。
5. 边界：一张模糊的照片——应该请人重拍，而不是硬判。

Skill 在不该用的时候被用上，改 `description`；用对了但结果不稳，改正文。改完升版本号（`0.1.1`），再 `aidc app deploy`。

## 7. 加一个 API 或界面（可选）

![APIs 把数据和动作接给智能体](../../assets/img/developer/apps/apps-apis.webp)

- **API**：公司的语义层里有数据时，在清单里导出能力，智能体和程序都能调——`aidc app call <应用> <API> --param …`，同一个口 `POST …/apps/{命名空间}/{slug}/apis/{名字}/execute`，公司应用还自带一个 MCP 服务器。写法见 [应用（Apps）](apps.md#apis) 与[自动化](workflow.md)。
- **界面**：人需要看、比较、确认时再加。换一个带界面的模板（`--template camera`）或自己写 `index.html`，清单 `entry` 改回 `"index.html"`，界面用[界面 SDK](ui.md)。

## 8. 发布到 Nexus

```bash
aidc app publish site-check
#   Nexus：https://www.ai-dc.ai/nexus/cell-xxx/apps/site-check
```

发布的就是刚才测过的那个版本，不重新打包。发布后它出现在公司的应用目录（`/nexus/<公司>/apps`），本公司的人打开应用页、复制给自己的智能体就能用。发现问题：`aidc app rollback site-check --version 0.1.0`。

## 下一步

- [应用（Apps）](apps.md)：完整的标准——形态、清单、Skills、APIs、MCP、上架清单。
- [样板应用](samples.md)：瑕疵检测、会议纪要、ERP 数据分析、报价工作流的源码，每个都带 Skills。
- [智能体接入](agents.md)：让智能体开发、测试、发布应用。
- 课程：AIDC Academy [《成为 AIDC Developer》第 7 课「动手：做第一个应用」](https://www.ai-dc.ai/academy/become-a-developer/first-app)，把这一篇讲成一节带练习和小测的课。
