# @ably/chat 中文文档

规范地址：https://npmcn.com/package/%40ably/chat/

版本：2\.0\.0
npm 元数据更新时间：2026-11-02T12:16:00.549Z
中文译文更新时间：2026-11-05T17:03:37.398Z
软件包许可：Apache-2\.0

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

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

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

- 包体积（解压后）：3.5 MB，238 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=22\.0\.0
- 运行依赖：4 个
- peer 依赖：react ^18\.0\.0 \|\| ^19\.0\.0，react-dom ^18\.0\.0 \|\| ^19\.0\.0，@ably/pubsub-device ^3\.0\.0，@ably/pubsub-server ^3\.0\.0
- 首次发布：2024-07-10T14:07:07.879Z
- 最新版本发布：2026-11-02T12:16:00.141Z
- 近 30 天下载量：1461175（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：28（近 12 个月 7 个）

## 中文简介

Ably Chat是一组专为一系列聊天功能而设置的 API , 您可以创建 1: 1, 1: : Many, Many: 1 and Many: 许多聊天室 任何尺度。 它旨在满足广泛的聊天使用案例,如活流,游戏中交流,克特

## 安装

```sh
npm install @ably/chat
```

也可以使用：`pnpm add @ably/chat`、`yarn add @ably/chat`、`bun add @ably/chat`

## README

![Ably Chat Header](https://npmcn.com/package/%40ably/chat/images/JavaScriptChatSDK-github.png) [![npm version](https://img.shields.io/npm/v/@ably/chat.svg?style=flat)](https://www.npmjs.com/package/@ably/chat) [![License](https://img.shields.io/github/license/ably/ably-chat-js.svg)](https://github.com/ably/ably-chat-js/blob/main/LICENSE)

# Ably Chat Java 脚本、 TypeScript 和 React SDK

Ably Chat是一组专为一系列聊天功能而设置的 API , 您可以创建 1: 1, 1: : Many, Many: 1 and Many: 许多聊天室 任何尺度。 它旨在满足一系列广泛的聊天使用案例,如活流,游戏中的交流,客户支持,或SaaS产品中的社会互动. 建造在 [亚伯利的](https://ably.com/) core service, 它集成复杂的细节, 以便高效的聊天架构.

* * *

## 开始

所有你需要开始与艾比:

-   [关于Ably Chat.](https://ably.com/docs/chat)
-   [在 JavaScript 中开始 Ably Chat.](https://ably.com/docs/chat/getting-started/javascript)
-   [开始Ably Chat in React.](https://ably.com/docs/chat/getting-started/react)
-   [开始使用 Ably Chat React UI 套件.](https://ably.com/docs/chat/getting-started/react-ui-kit)
-   [SDK和JavaScript中的使用道克.](https://ably.com/docs/chat/setup?lang=javascript)
-   [SDK和React中的用法文档.](https://ably.com/docs/chat/setup?lang=react)
-   [SDK和用于反应UI工具包的文档.](https://ably.com/docs/chat/react-ui-kit/setup)
-   [API文档 (JavaScript).](https://sdk.ably.com/builds/ably/ably-chat-js/main/typedoc/modules/chat-js.html)
-   [API文档 (React Hooks).](https://sdk.ably.com/builds/ably/ably-chat-js/main/typedoc/modules/chat-react.html)
-   [API文档(React UI kidg).](https://sdk.ably.com/builds/ably/ably-chat-react-ui-kit/main/storybook/)
-   [聊天示例应用.](https://github.com/ably/ably-chat-js/tree/main/demo)
-   [使用 Ably Chat React UI 工具包的 Chat 示例应用 .](https://github.com/ably/ably-chat-react-ui-kit/tree/main/examples/group-chat)
-   与游戏 [活流聊天演示.](https://ably-livestream-chat-demo.vercel.app/)

* * *

## 支持的平台

Ably旨在支持广泛的平台. 如果您遇到相容性问题, 请在寄存器或联系人中打开一个问题 [辅助支助](https://ably.com/support)。 。 。 .

此 SDK 支持以下平台:

| 平台 | 支助 |
| --- | --- |
| 浏览器 | 所有主要的桌面和移动浏览器,包括Chrome,Firefox,Edge,Safari(iOS/macOS),Opera,和Android. 不支持 Internet Explorer . |
| 节点.js | 版本22或更新. |
| 类型脚本 | 完全支持,库用TypeScript来写. |
| 反应 | 包括与反应生态系统深度融合的提供者和钩子. |
| 原生反应 | 所有回放原生平台. 可以报告问题或请求支持. |
| 机器人 | 通过 [阿布·查特·克特林·SDK.](https://github.com/ably/ably-chat-kotlin) |
| iOS系统 | 通过 [Ably Chat Swift SDK (英语).](https://github.com/ably/ably-chat-swift) |

* * *

## 安装

Chat SDK是建于Ably Pub/Sub SDK上方并以此来与Ably建立连接.

### Java 脚本/ 反应

安装 Pub/Sub SDK 和 Chat SDK :

```sh
npm install @ably/pubsub-device @ably/chat
```

* * *

## 使用量

### JavaScript / 类型脚本

以下代码连接了Ably的聊天服务,订阅了聊天室,并向该室发送了信息:

```typescript
import { createClient } from '@ably/pubsub-device';
import { createChatClient, RoomStatus, RoomStatusChange } from '@ably/chat';

// Initialize Ably Pub/Sub Realtime client
// Note: For client-side applications, token authentication is recommended.
// See: https://ably.com/docs/auth
const pubsubClient = createClient({
  key: '<your-ably-api-key>',
  clientId: 'your-client-id',
});

// Create a chat client
const chatClient = createChatClient(pubsubClient);

// Get a chat room
const room = await chatClient.rooms.get('my-room');

// Monitor room status
room.onStatusChange((statusChange: RoomStatusChange) => {
  switch (statusChange.current) {
    case RoomStatus.Attached:
      console.log('Room is attached');
      break;
    case RoomStatus.Detached:
      console.log('Room is detached');
      break;
    case RoomStatus.Failed:
      console.log('Room failed:', statusChange.error);
      break;
    default:
      console.log('Room status:', statusChange.current);
  }
});

// Subscribe to messages
const subscription = room.messages.subscribe((event) => {
  console.log('Received message:', event.message.text);
});

// Attach to the room
await room.attach();

// Send a message
await room.messages.send({ text: 'Hello, World!' });
```

### 反应

对于反应应用,SDK提供接钩和提供商进行无缝整合:

```tsx
import { createClient } from '@ably/pubsub-device';
import { createChatClient } from '@ably/chat';
import { ChatClientProvider, ChatRoomProvider, useMessages } from '@ably/chat/react';

// Initialize clients
// Note: For client-side applications, token authentication is recommended.
// See: https://ably.com/docs/auth
const pubsubClient = createClient({
  key: '<your-ably-api-key>',
  clientId: 'your-client-id',
});
const chatClient = createChatClient(pubsubClient);

// Wrap your app with providers
function App() {
  return (
    <ChatClientProvider client={chatClient}>
      <ChatRoomProvider name="my-room">
        <ChatComponent />
      </ChatRoomProvider>
    </ChatClientProvider>
  );
}

// Use hooks to interact with chat
function ChatComponent() {
  const { sendMessage } = useMessages({
    listener: (event) => {
      console.log('Received message:', event.message.text);
    },
  });

  const handleSend = async () => {
    await sendMessage({ text: 'Hello, World!' });
  };

  return <button onClick={handleSend}>Send Message</button>;
}
```

* * *

## 释放

这个 [变动情况](https://npmcn.com/ably/ably-chat-js/blob/main/CHANGELOG.md) 包含此 SDK 最新发布的细节 。 您还可以查看所有 Ably 的发布 [changelog.cably.com (英语)](https://changelog.ably.com/)。 。 。 .

* * *

## 贡献

读取 [捐款额](https://npmcn.com/package/%40ably/chat/CONTRIBUTING.md) 准则,协助Ably或 [共享反馈或请求](https://forms.gle/mBw9M53NYuCBLFpMA) 一个新的功能.

* * *

## 支持、反馈和解决问题

为了帮助或技术支持,请访问Ably's [支持页面](https://ably.com/support)。您还可以查看 [github问题](https://github.com/ably/ably-chat-js/issues) 或者自己养活一个.

## 常见问题

### @ably/chat 是什么？

Ably Chat是一组专为一系列聊天功能而设置的 API , 您可以创建 1: 1, 1: : Many, Many: 1 and Many: 许多聊天室 任何尺度。 它旨在满足广泛的聊天使用案例,如活流,游戏中交流,克特

### 如何安装 @ably/chat？

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

### @ably/chat 支持 TypeScript 吗？

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

### @ably/chat 支持 ESM 还是 CommonJS？

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

### @ably/chat 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=22\.0\.0。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @ably/chat 可以商用吗？

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

### @ably/chat 的下载量有多少？

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

### @ably/chat 还在维护吗？

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

