# @elevenlabs/types 中文文档

规范地址：https://npmcn.com/package/%40elevenlabs/types/

版本：0\.29\.0
npm 元数据更新时间：2026-11-04T20:52:18.997Z
中文译文更新时间：2026-11-13T12:18:56.907Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40elevenlabs/types
原文对照：https://npmcn.com/package/%40elevenlabs/types/?lang=original
项目主页：https://github.com/elevenlabs/packages#readme
源码仓库：https://github.com/elevenlabs/packages

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

- 包体积（解压后）：131 kB，19 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2025-09-26T13:11:19.055Z
- 最新版本发布：2026-11-04T20:52:18.675Z
- 近 30 天下载量：6091085（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：40（近 12 个月 35 个）

## 中文简介

AsyncAPI 合同并生成了用于 11Labs 代理通信的 TypeScript 类型

## 安装

```sh
npm install @elevenlabs/types
```

也可以使用：`pnpm add @elevenlabs/types`、`yarn add @elevenlabs/types`、`bun add @elevenlabs/types`

## README

# @ elevenlabs/ 类型

11Labs API的TypeScript类型定义,由AsyncAPI规格自动生成.

## 概览

这个软件包为"11Labs"客户端和各种API(Agents,Scribe)之间交换的所有消息提供强烈的类型界面. 类型由AsyncAPI规格自动生成,以确保它们与API合同保持一致.

## 使用量

### 基本导入

```typescript
import { Incoming, Outgoing } from "@elevenlabs/types";

// Handle incoming messages from the server
const handleAudio = (message: Incoming.AudioClientEvent) => {
  console.log("Received audio:", message.audioEvent.audioBase_64);
};

// Send outgoing messages to the server
const userMessage: Outgoing.UserMessage = {
  reservedType: "user_message",
  reservedText: "Hello, agent!",
};
```

### 直接类型导入

```typescript
// Import specific types directly
import {
  Audio,
  UserTranscript,
  AgentResponse,
  ConversationInitiation,
} from "@elevenlabs/types";

// Use types in your application
const audio: Audio = {
  reservedType: "audio",
  audioEvent: {
    audioBase_64: "base64_encoded_audio",
    eventId: 123,
  },
};
```

### 类型

这些类型主要分为两类:

-   **`Incoming`** - 从11Labs服务器收到的消息
    
    -   **探员 API:**
        -   `AudioClientEvent` - 经纪人提供的音频数据
        -   `AudioAlignmentEvent` - 字符级计时数据嵌入音频事件,用于文本对语音同步
        -   `AgentResponseClientEvent` - 代理人的文本回复
        -   `UserTranscriptionClientEvent` - 用户语音译名
        -   `InterruptionEvent` - 中断通知
    -   **扫描 API :**
        -   `SessionStartedMessage` - 开始记录会话
        -   `PartialTranscriptMessage` - 临时记录结果
        -   `CommittedTranscriptMessage` - 记录记录结果
        -   `CommittedTranscriptWithTimestampsMessage` - 以文字时间戳表示的结果
        -   `ScribeErrorMessage` - 错误事件
        -   `ScribeAuthErrorMessage` - 认证错误
-   **`Outgoing`** - 发送给 11Labs 服务器的信件
    
    -   **探员 API:**
        -   `UserMessage` - 用户发来的短信
        -   `UserFeedback` - 用户反馈(类似/偏差)
        -   `ConversationInitiation` - 会议初始化
        -   `ClientToolResult` - 客户端工具执行的结果
    -   **扫描 API :**
        -   `InputAudioChunk` - 录音数据供抄录

## 发展

### 生成类型

类型由 AsyncAPI 规格自动生成 :

```bash
# Generate types from AsyncAPI spec
pnpm generate

# Build the package
pnpm build

# Type check without building
pnpm check-types
```

### 项目结构

```
packages/types/
├── schemas/
│   ├── agent.asyncapi.yaml    # Agent API AsyncAPI specification
│   └── scribe.asyncapi.yaml   # Scribe API AsyncAPI specification
├── scripts/
│   └── generate-all-types.ts  # Generation script (processes all schemas)
├── generated/
│   └── types/
│       ├── asyncapi-types.ts  # All generated types
│       ├── incoming.ts        # Barrel export for incoming messages
│       └── outgoing.ts        # Barrel export for outgoing messages
└── src/
    └── index.ts              # Main entry point with organized exports
```

### 添加新类型

1.  更新相应文件中的 AsyncAPI 规格( 例如 ), `schemas/agent.asyncapi.yaml` 或者说 `schemas/scribe.asyncapi.yaml`(中文(简体) )
2.  运行 `pnpm generate` 以从所有方案重生类型Script
3.  这些类型将在相应的命名空间自动可用

### 添加新 API Schemas 选项

1.  在其中创建新的 AsyncAPI 规格 `schemas/` 带有命名模式 `*.asyncapi.yaml`
2.  运行 `pnpm generate` - 脚本将自动发现和处理所有计划文件
3.  生成的类型将合并到现有的类型输出中

## 常见问题

### @elevenlabs/types 是什么？

AsyncAPI 合同并生成了用于 11Labs 代理通信的 TypeScript 类型

### 如何安装 @elevenlabs/types？

在项目目录运行 npm install @elevenlabs/types，或使用 pnpm add / yarn add / bun add。

### @elevenlabs/types 支持 TypeScript 吗？

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

### @elevenlabs/types 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @elevenlabs/types 可以商用吗？

@elevenlabs/types 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @elevenlabs/types 的下载量有多少？

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

### @elevenlabs/types 还在维护吗？

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

