# @beeper/chat-adapter-matrix 中文文档

规范地址：https://npmcn.com/package/%40beeper/chat-adapter-matrix/

版本：0\.2\.0
npm 元数据更新时间：2026-09-25T18:04:55.890Z
中文译文更新时间：2026-11-07T20:34:48.187Z
软件包许可：MIT

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

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

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

- 包体积（解压后）：308 kB，5 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- Node.js 要求：\>=22
- 运行依赖：6 个
- 首次发布：2026-02-24T22:51:52.395Z
- 最新版本发布：2026-03-16T09:00:17.724Z
- 近 30 天下载量：86060（2026-10-08 至 2026-11-06，npm 官方下载统计）
- 已发布版本数：2（近 12 个月 2 个）

## 中文简介

聊天矩阵适配器

## 安装

```sh
npm install @beeper/chat-adapter-matrix
```

也可以使用：`pnpm add @beeper/chat-adapter-matrix`、`yarn add @beeper/chat-adapter-matrix`、`bun add @beeper/chat-adapter-matrix`

## README

# @ beeper/ chat-adapter- matrix (英语)

矩阵适配器 [聊天SDK](https://chat-sdk.dev/docs)它运行在Matrix同步而不是webhooks上,并与Beeper对话以及WhatsApp,Telegram,Instagram,和Signal等网络相接.

## 安装

需要节点.js `>=22`。 。 。 .

```bash
pnpm add chat @beeper/chat-adapter-matrix
```

## 使用量

`createMatrixAdapter()` 读取其配置时从环境变量中调用无参数.

```ts
import { Chat } from "chat";
import { createMemoryState } from "@chat-adapter/state-memory";
import { createMatrixAdapter } from "@beeper/chat-adapter-matrix";

const matrix = createMatrixAdapter();

const bot = new Chat({
  userName: process.env.MATRIX_BOT_USERNAME ?? "beeper-bot",
  state: createMemoryState(),
  adapters: { matrix },
});

bot.onNewMention(async (thread, message) => {
  await thread.subscribe();
  await thread.post(`Hi ${message.author.userName}. Mention me or run /ping.`);
});

bot.onSlashCommand("/ping", async (event) => {
  await event.channel.post("pong");
});

await bot.initialize();
```

聊天 SDK 概念, 如 `Chat`, (中文(简体) ), `Thread`, (中文(简体) ), `Message`订阅费和处理费都一样 见核心API的上游文件:

-   [开始](https://chat-sdk.dev/docs/getting-started)
-   [使用量](https://chat-sdk.dev/docs/usage)
-   [线索、信件和频道](https://chat-sdk.dev/docs/threads-messages-channels)
-   [直接信件](https://chat-sdk.dev/docs/direct-messages)

## 认证

### 访问令牌

```ts
createMatrixAdapter({
  baseURL: process.env.MATRIX_BASE_URL!,
  auth: {
    type: "accessToken",
    accessToken: process.env.MATRIX_ACCESS_TOKEN!,
    userID: process.env.MATRIX_USER_ID,
  },
});
```

### 用户名/ 密码

```ts
createMatrixAdapter({
  baseURL: process.env.MATRIX_BASE_URL!,
  auth: {
    type: "password",
    username: process.env.MATRIX_USERNAME!,
    password: process.env.MATRIX_PASSWORD!,
    userID: process.env.MATRIX_USER_ID,
  },
});
```

## 默认

-   持续行为在Chat提供 `state` 适配器.
-   建议Redis或另一个耐久状态适配器重启耐久性.
-   `deviceID` 尽可能从认证中推断出,然后从国家中再用,并且只作为最后手段产生.
-   `recoveryKey` 允许E2EE.
-   `inviteAutoJoin: {}` 允许邀请自动加入.

## 常见选项

```ts
createMatrixAdapter({
  baseURL: process.env.MATRIX_BASE_URL!,
  auth: {
    type: "accessToken",
    accessToken: process.env.MATRIX_ACCESS_TOKEN!,
    userID: process.env.MATRIX_USER_ID,
  },
  recoveryKey: process.env.MATRIX_RECOVERY_KEY,
  commandPrefix: "/",
  roomAllowlist: ["!room:beeper.com"],
  inviteAutoJoin: {
    inviterAllowlist: ["@alice:beeper.com", "@ops:beeper.com"],
  },
  matrixSDKLogLevel: "error",
});
```

高级调制保留代码配置 :

```ts
createMatrixAdapter({
  baseURL: process.env.MATRIX_BASE_URL!,
  auth: {
    type: "accessToken",
    accessToken: process.env.MATRIX_ACCESS_TOKEN!,
    userID: process.env.MATRIX_USER_ID,
  },
  e2ee: {
    useIndexedDB: false,
    cryptoDatabasePrefix: "beeper-matrix-bot",
  },
  persistence: {
    keyPrefix: "my-bot",
    session: {
      ttlMs: 86_400_000,
    },
    sync: {
      persistIntervalMs: 10_000,
    },
  },
});
```

## 环境变量

`createMatrixAdapter()` 没有参数只使用这些 env vars :

| 变量 | 需求 | 说明 |
| --- | --- | --- |
| `MATRIX_BASE_URL` | 对 | 矩阵主服务器基础 URL |
| `MATRIX_ACCESS_TOKEN` | 对\* | Access- token 认证的访问令牌 |
| `MATRIX_USERNAME` | 对\* | 密码认证的用户名 |
| `MATRIX_PASSWORD` | 对\* | 密码认证密码 |
| `MATRIX_USER_ID` | 没有 | 用户标识提示 |
| `MATRIX_DEVICE_ID` | 没有 | 明确设备 ID 覆盖 |
| `MATRIX_RECOVERY_KEY` | 没有 | 启用 E2EE 和密钥备份拖放 |
| `MATRIX_BOT_USERNAME` | 没有 | 引用检测用户名 |
| `MATRIX_COMMAND_PREFIX` | 没有 | 斜线命令前缀. 默认为 `/` |
| `MATRIX_INVITE_AUTOJOIN` | 没有 | 启用邀请自动连接 |
| `MATRIX_INVITE_AUTOJOIN_ALLOWLIST` | 没有 | 允许邀请bot 的逗号分隔矩阵用户ID |
| `MATRIX_SDK_LOG_LEVEL` | 没有 | 矩阵 SDK 日志级别 |

使用其中之一 `MATRIX_ACCESS_TOKEN`,或 `MATRIX_USERNAME` 加号 `MATRIX_PASSWORD`。 。 。 .

## 线索模型

-   母体室是一个Chat SDK频道.
-   上层房间信息属于频道时间表.
-   使用 Chat SDK 线程的矩阵线程响应映射 `roomID + rootEventID`。 。 。 .
-   `openDM(userId)` 在可能的情况下重新使用现有的直接房间,并在需要时创建一个直接房间.

## 特征

| 特性 | 支助 |
| --- | --- |
| 提及 | 对 |
| 丰富文本 | 是的,通过矩阵 `formatted_body` 财务报告和审定财务报表 `m.mentions` |
| 线索答复 | 对 |
| 反应(添加/移动) | 对 |
| 信件编辑 | 对 |
| 信件删除 | 对 |
| 打字指标 | 对 |
| 直接消息 | 对 |
| 文件上传 | 对 |
| 信件历史 | 对 |
| 频道和线程元数据 | 对 |
| 欧2EE | 对 |
| 邀请自动加入 | 对 |
| 斜线命令 | 从信件文本中预分隔 |
| 网络呼号 | 不,这个适配器使用同步投票 |
| 纸牌 | 没有 |
| 模块 | 没有 |
| 电文 | 没有 |
| 原生溪流 | 没有 |

## 持久性

为生产,将适配器与Redis等耐用Chat状态适配器配对.

```ts
import { Chat } from "chat";
import { createRedisState } from "@chat-adapter/state-redis";
import { createMatrixAdapter } from "@beeper/chat-adapter-matrix";

const matrix = createMatrixAdapter({
  baseURL: process.env.MATRIX_BASE_URL!,
  auth: {
    type: "accessToken",
    accessToken: process.env.MATRIX_ACCESS_TOKEN!,
    userID: process.env.MATRIX_USER_ID,
  },
  recoveryKey: process.env.MATRIX_RECOVERY_KEY,
});

const bot = new Chat({
  userName: process.env.MATRIX_BOT_USERNAME ?? "beeper-bot",
  state: createRedisState({ url: process.env.REDIS_URL! }),
  adapters: { matrix },
});
```

持久性包括:

-   生成或推断设备ID
-   密码登录会话
-   管理部房间制图
-   矩阵同步快照
-   启用 E2EE 时的 E2EE 秘密捆绑

## 信件和历史 API

适配器支持:

-   `fetchMessage(threadId, messageId)`
-   `fetchMessages(threadId, options)`
-   `fetchChannelMessages(channelId, options)`
-   `fetchThread(threadId)`
-   `fetchChannelInfo(channelId)`
-   `listThreads(channelId, options)`
-   `openDM(userId)`

## 限制

-   `handleWebhook()` 返回时 `501` 因为Matrix在这里使用同步投票.
-   贺卡、模式和电文没有执行.
-   在适配器层没有实施原生流化.
-   斜线命令从纯文本消息中解析; Matrix 不提供本地斜线命令事件 .

## 实例

-   [`examples/bot.ts`](https://npmcn.com/package/%40beeper/chat-adapter-matrix/examples/bot.ts) 用于地方发展.
-   [`examples/bot.redis.ts`](https://npmcn.com/package/%40beeper/chat-adapter-matrix/examples/bot.redis.ts) 使用 Redis 后置状态重新启动耐久性.
-   [`examples/.env.example`](https://npmcn.com/package/%40beeper/chat-adapter-matrix/examples/.env.example) 列出所支持的env vars 实例.
-   [`scripts/get-access-token.ts`](https://npmcn.com/package/%40beeper/chat-adapter-matrix/scripts/get-access-token.ts) 帮助以交互方式生成比珀证书 .

关于特定版本的修改,见 [变动情况](https://npmcn.com/package/%40beeper/chat-adapter-matrix/CHANGELOG.md)。 。 。 .

## 许可证

麻省理工学院

## 常见问题

### @beeper/chat-adapter-matrix 是什么？

聊天矩阵适配器

### 如何安装 @beeper/chat-adapter-matrix？

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

### @beeper/chat-adapter-matrix 支持 TypeScript 吗？

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

### @beeper/chat-adapter-matrix 支持 ESM 还是 CommonJS？

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

### @beeper/chat-adapter-matrix 需要什么版本的 Node\.js？

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

### @beeper/chat-adapter-matrix 可以商用吗？

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

### @beeper/chat-adapter-matrix 的下载量有多少？

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

### @beeper/chat-adapter-matrix 还在维护吗？

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

