@alexa/acdl

中文文档
0.3.3发布于 2023/05/11Apache-2.0TypeScriptESM + CJS近 30 天下载 4369

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

中文使用文档
文档目录6 节
  1. 资源
  2. 安装
  3. 国 际
  4. 项目 API
  5. 项目配置
  6. 技能软件包套装

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

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

资源

安装

npm i @alexa/acdl

国 际

我们建议您使用 askx 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 :

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。 。 。 .

例如:

{
  "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 是一个有效的 技能软件包 可部署到 SMAPI 软件。 。 。 .

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

{
  "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 共发布 28 个版本,首次发布于 2021/10/21;过去 12 个月发布了 0 个版本。

版本发布日期距今
0.3.3latest2023/05/113 年前
0.3.22023/05/033 年前
0.3.12023/04/083 年前
0.3.02023/03/143 年前
0.2.02023/02/093 年前
0.1.222023/01/203 年前

关于 @alexa/acdl 的常见问题

@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 和提交记录判断。