装好 aidc,登录一次
一行安装命令;浏览器里批准一次,命令行与智能体就都能用了。

本课目标
读完这一课,你将能够
- 用一行命令装好 aidc,并确认它能运行
- 完成一次浏览器批准登录,说出开发者 Key 代表谁、放在哪里
- 读懂命令行的约定:
--json、从不交互、固定的退出码
一行安装
开始之前准备两样东西:Node 18 以上,和一个有 developer 权限的 AIDC 账号,例如公司发给你的 developer License。然后在终端里运行:
curl -fsSL https://www.ai-dc.ai/developer/cli/install.sh | sh
aidc --version
安装脚本只做一件事:把单文件的命令行放到 ~/.aidc/bin/aidc,并提示你把这个目录加进 PATH。也可以不安装,下载 aidc.mjs 后用 node aidc.mjs 直接运行。处理视频和长音频的命令还需要 ffmpeg,没装时命令会报错,并告诉你怎么装。
浏览器里批准一次
命令行从不问你的密码。登录走的是设备授权:终端给出一个链接和授权码,你在已经登录 AIDC 的浏览器里批准。核对授权码,是为了确认你批准的正是自己终端里发起的这一次登录。
- 运行
aidc login终端打印一个链接和八位授权码。
- 打开链接,核对授权码
确认浏览器里显示的授权码和终端里的一致。
- 选好公司,点「批准」
一把 Key 代表一家公司,用量记在这家公司名下。
- 终端完成登录
几秒之内拿到开发者 Key,存进
~/.aidc/config.json,只有你本人能读。
aidc login
aidc whoami
aidc logout --revoke
aidc whoami 查看当前的身份与公司,aidc keys 列出你名下的 Key。不再用这台机器时,aidc logout --revoke 删掉本机的 Key,并在服务端把它吊销。
Key 放在哪里,绝不放在哪里
开发者 Key 以 aidc-dk- 开头,只放在本机配置、环境变量 AIDC_API_KEY、服务端或命令行里,绝不写进前端代码。命令行先读环境变量,没有再读配置文件。
浏览器里的应用用的是另一种凭证:平台注入的应用票据。两者的分工是这样的:
| 开发者 Key | 应用票据 | |
|---|---|---|
| 形如 | aidc-dk-… | aidc-at-… |
| 谁用 | 命令行、服务端、智能体 | 应用里的浏览器 SDK,平台自动注入 |
| 能做什么 | 发布应用、调模型与数据集 | 只能调清单里声明的模型与数据集 |
| 用量记在 | Key 所属的公司 | 应用所属的公司,按应用额度计量 |
本地预览也守这条线:aidc app dev 在本机进程里替页面带上 Key,Key 不进浏览器。
给机器读的输出
aidc 也是智能体使用 AIDC 的首选入口,所以输出按机器能读的方式设计:每条命令都能加 --json,输出不是终端时默认就是 JSON;进度提示走 stderr;缺参数直接报错并说明怎么补,从不停下来提问。
登录本身也是这样:JSON 模式下,aidc login 逐行输出事件,先是带链接与授权码的 authorize,登录成功后是 logged_in。
失败时,JSON 里是一个错误信封:ok 为 false,带着错误码、说明和请求编号。退出码也是固定的,脚本可以据此决定下一步:
0成功,1一般错误,2参数错误或校验不通过3未登录或凭证无效,4无权限,5不存在6冲突,例如内容变了却没升版本号7限流或额度用完,8上游或网络故障
要点
- 一行命令装好 aidc,需要 Node 18 以上。
- 登录不输密码:终端给链接和授权码,浏览器里批准一次。
- 开发者 Key 代表一家公司,只放在本机或服务端,绝不进前端代码。
- 浏览器里的应用不用 Key,用平台注入的应用票据,只能调清单里声明的模型与数据集。
- 每条命令都能输出 JSON、从不交互、退出码固定,智能体可以直接用。
练一练
装好、登录、试一次
在自己的电脑上走一遍,十分钟以内。
运行安装命令和 aidc --version;如果提示把目录加进 PATH,照做之后再开一个新终端。
运行 aidc login,在浏览器里核对授权码、选公司、批准,再用 aidc whoami 确认身份和公司。
故意漏掉一个必填参数运行一条命令,再加上 --json 运行一次,看看错误信封长什么样,并用 echo $? 查看退出码。
小测
选一个答案,马上看解析。
Q1运行 aidc login 之后,接下来要做什么?
登录走设备授权,命令行从不要密码;你批准之后,终端自己拿到 Key。
Q2开发者 Key 应该放在哪里?
Key 代表整家公司,绝不进前端;浏览器里的应用用平台注入的短时票据。
Q3智能体调用 aidc 时加上 --json,主要是为了什么?
命令行无论如何都不会交互;--json 让结果和错误都能被程序读懂。输出不是终端时,默认就是 JSON。