# @characterxyz/web 中文文档

规范地址：https://npmcn.com/package/%40characterxyz/web/

版本：0\.10\.1
npm 元数据更新时间：2026-11-06T11:21:03.193Z
中文译文更新时间：2026-11-09T10:40:59.659Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40characterxyz/web
原文对照：https://npmcn.com/package/%40characterxyz/web/?lang=original
项目主页：https://character.xyz/
源码仓库：https://github.com/characterxyz/characterxyz-sdk

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

- 包体积（解压后）：146 kB，6 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-10-12T05:24:39.397Z
- 最新版本发布：2026-11-06T11:21:02.878Z
- 近 30 天下载量：3540（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：17（近 12 个月 17 个）

## 中文简介

网络字符 XYZ,无头:会话,流式聊天,有公平队列的语音呼叫. 无框架,零依赖.

## 安装

```sh
npm install @characterxyz/web
```

也可以使用：`pnpm add @characterxyz/web`、`yarn add @characterxyz/web`、`bun add @characterxyz/web`

## README

# @ characterxyz/ web

无头字符 XYZ SDK:会话,流出聊天,实时语音呼叫和呼叫队列, 没有UI。 将您自己的接口建在相同调用的即时部件上 。 无框架, 零依赖, 8 KB gziped.

换成现成的部件? 使用 [`@characterxyz/widget`](https://www.npmjs.com/package/@characterxyz/widget) (任何地点)或 [`@characterxyz/react`](https://www.npmjs.com/package/@characterxyz/react)。 。 。 .

```bash
npm install @characterxyz/web
```

```ts
import { CharacterXYZ } from '@characterxyz/web';

const cx = await CharacterXYZ.init({ publishableKey: 'cxyz_pk_live_…' });
cx.chat.on('messages', render);           // streams as the reply is written
await cx.chat.send('Hello!');

callButton.onclick = async () => {        // from a click: it needs the microphone
  const call = await cx.startCall({ autoAccept: true });
  call.on('state', (s) => show(s.phase, s.position, s.etaSeconds));
  call.on('caption', (c) => caption(c.role, c.text));
};
```

每行繁忙时,一通电话会按先到顺序排队等候,排到位置和估计值 游客可以继续聊天.

## 背景、事件和行动

页面和经纪人双向交谈. 三层,一会:

```ts
// 1. CONTEXT IN — who this is and what is true now. Level-triggered: it stays
//    in scope for every later turn until changed. Scope: visitor.*, context.*.
await cx.identify({ id: 'u_42', email: 'asha@acme.com', name: 'Asha', traits: { plan: 'pro' } });
await cx.setContext({ page: '/pricing', cart: { items: 2, value: 4200 } });

// 2. EVENTS IN — something the visitor DID. Only names the agent's graph
//    declares are accepted. Fire-and-forget: do not await it.
void cx.track('pricing_viewed', { plan: 'pro' });
//    Scope in the graph: {{event.name}}, {{event.data.plan}}.
//    With `openChat` on the node, the widget opens itself for the reply.

// 3. ACTIONS OUT — the graph asks the page to do something.
const off = cx.registerAction('openCart', async ({ itemId }) => {
  await cart.open(String(itemId));
  return { opened: true, count: cart.count };
});
```

图表边是现有节点以外的两个节点: **在现场活动中** (单位:千美元) 事件名称; 名称是允许列表, 有可选的数据形状和发送 测试控制台中的事件按钮)和 **客户端动作** (选择一个动作页) 已注册; 答案恢复到下 `done` 或者说 `failed`,以及 `result` 可读 节点之后.

`cx.track` 发送身份证明 `keepalive`,因此重试或点击 航行离开仍然是一件大事。 等待的页面动作是两个阶段 在相同的 HTTP 连接上握手: 行走暂停, SDK 运行您 处理者,张贴结果,答复会回来。 没有调查.

## 选项

| 选项 |  |
| --- | --- |
| `publishableKey` | `cxyz_pk_live_…`,在页面中安全;仅在密钥允许的站点工作 |
| `getSessionToken` | 对于登录访问者: 返回您的服务器所刻录的会话 [`@characterxyz/server`](https://www.npmjs.com/package/@characterxyz/server) |
| `agentId` | 哪个钥匙的经纪人? 默认: 密钥的第一个 |
| `storage` | `local` (记住匿名访客,默认) `memory` 个人商店 |

创建密钥并选择它们可能在其中运行的网站 **字符 XYZ QQ 设置 QQ 开发者**。 。 。 .

## 许可证

麻省理工学院

## 常见问题

### @characterxyz/web 是什么？

网络字符 XYZ,无头:会话,流式聊天,有公平队列的语音呼叫\. 无框架,零依赖\.

### 如何安装 @characterxyz/web？

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

### @characterxyz/web 支持 TypeScript 吗？

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

### @characterxyz/web 支持 ESM 还是 CommonJS？

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

### @characterxyz/web 可以商用吗？

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

### @characterxyz/web 的下载量有多少？

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

### @characterxyz/web 还在维护吗？

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

