# @alexa/acdl 中文文档

规范地址：https://npmcn.com/package/%40alexa/acdl/

版本：0\.3\.3
npm 元数据更新时间：2023-05-10T18:40:57.482Z
中文译文更新时间：2026-11-06T06:45:00.681Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40alexa/acdl
原文对照：https://npmcn.com/package/%40alexa/acdl/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：6.9 MB，644 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：20 个
- 首次发布：2021-10-21T00:36:35.074Z
- 最新版本发布：2023-05-10T18:40:57.318Z
- 近 30 天下载量：4369（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 0 个）

## 中文简介

Alexa 对话描述语言 (ACDL) 编译器

## 安装

```sh
npm install @alexa/acdl
```

也可以使用：`pnpm add @alexa/acdl`、`yarn add @alexa/acdl`、`bun add @alexa/acdl`

## README

# Alexa 对话描述语言 (ACDL) 编译器

此软件包包含 ACDL 编译器 API.

## 资源

-   [ACDL 参考文件](https://developer.amazon.com/en-US/docs/alexa/conversations/about-acdl.html)

## 安装

```
npm i @alexa/acdl
```

## 国 际

我们建议您使用 [`askx`](https://www.npmjs.com/package/ask-cli-x) CLI 与编译器合作, 但是 `@alexa/acdl` 还包含了自己的CLI, `acc`,有专为ACDL提供的公用事业.

```
Usage: acc

Commands:
  acc compile                        compile ACDL module
  acc package                        create a skill-package
  acc decompile                      decompile ASKIR files to ACDL files and
                                     move the ASKIR files to the build directory
  acc deploy                         package and deploy the skill
  acc bootstrap-lwa-secrets-manager  store LWA refresh token credentials in a
                                     secure AWS Secret managed by AWS Secrets
                                     Manager
  acc bootstrap                      Creates a CloudFormation stack with a
                                     Secure AWS Secret Manager and uploads your
                                     LWA credentials credential to the Secret.

Options:
      --version          Show version number                           [boolean]
  -v, --verbose          Run with verbose logging     [boolean] [default: false]
      --skip-validation  Force the CLI to generate ASKIR without validation.
                                                      [boolean] [default: false]
  -h, --help             Show help                                     [boolean]
```

## 项目 API

`@alexa/acdl` 是一个 TypeScript/JavaScript 库,它暴露了API用于读取,分析和写ACDL和ASKIR模块文件.

以下是一些用于加载、验证和汇编 ACDL 项目的顶级API :

```ts
import * as acdl from "@alexa/acdl";

const project = await acdl.loadProject(await acdl.loadProjectConfig("./my-project-path"));

// validate the correctness
const errors = acdl.validateProject(project);

const compiledProject = acdl.compileProject(project);

// synthesize ACDL files to ASKIR modules and write them to the outDir
await acdl.synthesizeProject(project);

await acdl.bundleProject(project);
```

## 项目配置

说明 `await acdl.loadProjectConfig("./my-project-path");`。编译器将尝试从 `ask` 输入 `package.json` 或从 `ask.json` 文件,位于根 `./my-project-path`。 。 。 .

例如:

```json
{
  "srcDir": "src",
  "outDir": "build"
}
```

此配置指示编译器从中装入 ACDL 和 ASKIR JSON 模块文件 `src/` 文件夹并写入所有编译的文件 `build/`。 。 。 .

```
src/
  -my-dialog.acdl ## file authored by the developer
build/
  -my-dialog.json ## file written by the compiler when running
```

## 技能软件包套装

产出 `bundleProject` 是一个有效的 [技能软件包](https://developer.amazon.com/en-US/docs/alexa/smapi/skill-package-api-reference.html) 可部署到 [SMAPI 软件](https://developer.amazon.com/en-US/docs/alexa/smapi/smapi-overview.html)。 。 。 .

要捆绑一个技能包, 您必须在 ASK 配置中指定您技能的完全合格名称 :

```json
{
  "srcDir": "src",
  "outDir": "build",
  "skill": "org.example.MySkill"
}
```

A 类 `skill-package` 文件夹随后将包含在 `outDir`数字 :

```
build/
  skill-package/
    conversations/
      -my-dialog.json
    response/prompts/
      template/
        -document.json
    interactionModels/custom/
      -en-US.json
```

## 常见问题

### @alexa/acdl 是什么？

Alexa 对话描述语言 \(ACDL\) 编译器

### 如何安装 @alexa/acdl？

在项目目录运行 npm install @alexa/acdl，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 acc，可以用 npx acc 直接运行。

### @alexa/acdl 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @alexa/acdl 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @alexa/acdl 可以商用吗？

@alexa/acdl 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @alexa/acdl 的下载量有多少？

根据 npm 官方下载统计，@alexa/acdl 在 2026/10/06 – 2026/11/04 这 30 天内被下载 4,369 次，日均约 146 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @alexa/acdl 还在维护吗？

最新版本 0\.3\.3 发布于 2023/05/11（3 年前）；至今共发布 28 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/10/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

