@characterxyz/widget

中文文档
0.10.1发布于 2026/11/06MITTypeScriptES Module构建来源已验证近 30 天下载 3064

任意站点中的字符 XYZ:角落中的有聊天和语音通话的代理. 一个脚本标签,或者一个Web组件.

中文使用文档
文档目录9 节
  1. 脚本标记( 无构建步骤)
  2. 绑定页面
  3. 无
  4. 设置
  5. 样式
  6. 活动
  7. 已注册访问者
  8. 警卫
  9. 许可证

@ characterxyz/ 部件

将您的字符 XYZ 代理放在任何网站: 角落中的字符, 流出的文本聊天, 和实时的语音通话 与公平排队 当每行忙。 阴影中的一个网络组件 DOM,所以它在简单的HTML, React, Vue, Svelte, Angular 或其他什么方面都有效, 没有任何你 页面的 CSS 漏出进出。 34 KB gzipped, 包括一切; 一旦页面闲置, 便开始 .

创建可公布的密钥, 选择它可能运行的站点并选择查看 字符 XYZ QQ 设置 QQ 开发者。 。 。 .

脚本标记( 无构建步骤)

<script src="https://unpkg.com/@characterxyz/widget@0/dist/cx.js" data-key="cxyz_pk_live_…" async></script>

标签上的设置如下: data-* 属性 : data-display="full", (中文(简体) ), data-accent="#e11d48", (中文(简体) ), data-position="bottom-left", (中文(简体) ), data-mode="dark", (中文(简体) ), data-show-call="false", (中文(简体) ), data-agent="agent_…"。 。 。 . 从自己的按钮驱动它 CharacterXYZ.open('chat') 或者说 CharacterXYZ.open('call')。 。 。 .

绑定页面

// Who this is / what is true now. Stays in scope for every later turn.
CharacterXYZ.identify({ id: 'u_42', name: 'Asha', traits: { plan: 'pro' } });
CharacterXYZ.setContext({ page: '/pricing', cart: { items: 2 } });

// Something they did. Only names the agent's graph declares.
CharacterXYZ.track('pricing_viewed', { plan: 'pro' });

// Something the agent may ask the page to do.
CharacterXYZ.registerAction('openCart', async ({ itemId }) => { cart.open(itemId); return { opened: true }; });

track 是火与忘却void),发出"一能"id,活下来a 导航点击. 等待的页面动作会运行您的处理器并公布结果 同一请求; 代理答复随附。 图表节点是 打开 站点活动 财务报告和审定财务报表 客户端动作。 。 。 .

无

npm install @characterxyz/widget
import { mount } from '@characterxyz/widget';

const widget = mount({ publishableKey: 'cxyz_pk_live_…', accent: '#e11d48' });
widget.open('chat'); // or 'call'; widget.close(); widget.destroy()

使用反应还是Next.js? 安装 @characterxyz/react 相反;它包括这个软件包.

设置

默认来自密钥( 设置在 Embed 页面上) ; 这里通过的任何内容都会覆盖它们 .

设置数值
agentId哪个钥匙的经纪人? 默认: 密钥的第一个
displaybubble • 妇女 half • 妇女 full (多少她的节目)
launcher, (中文(简体) ), position发射器样式; bottom-right • 妇女 bottom-left
accent, (中文(简体) ), mode, (中文(简体) ), radius, (中文(简体) ), font颜色, auto • 妇女 light • 妇女 dark,角半径,字体家族
showChat, (中文(简体) ), showCall, (中文(简体) ), branding关闭聊天、电话或页脚
offsetX, (中文(简体) ), offsetY, (中文(简体) ), zIndex, (中文(简体) ), container安置情况
movable游客可以沿着底部的任何一带拖住她(先按住接头);放高一点,她会倒下. 然后从她所处的位置开始聊天 默认关闭

代理商所说的(人物,知识,问候)是代理商自己的,设定在字符XYZ.

样式

元素上的 CSS 符号 : character-xyz { --cx-accent: …; --cx-font: …; --cx-radius: … }组件 : ::part(launcher | presence | actions | panel | header | composer | banner | message | message-agent | message-visitor | message-event | event | greeting)。 。 。 .

活动

元素起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起起 cx-ready, (中文(简体) ), cx-open, (中文(简体) ), cx-close, (中文(简体) ), cx-call (单位:千美元){phase, position, endReason}和 cx-error。 。 。 .

已注册访问者

将服务器上的会话擦除 @characterxyz/server, (中文(简体) ), 然后: mount({ getSessionToken: () => fetch('/api/characterxyz/session').then((r) => r.json()) })。 。 。 . 然后他们的聊天历史跟随他们穿越设备.

警卫

可公布的密钥( E)cxyz_pk_…)按设计是公开的:它只从它上开列的地点工作,而且 交换15分钟的会话,然后去那个地点 永远不要放出密钥( N)cxyz_sk_…在一页中; sDK拒绝与一个运行.

许可证

麻省理工学院

版本与发布记录

@characterxyz/widget 共发布 17 个版本,首次发布于 2026/10/12;过去 12 个月发布了 17 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.10.1latest2026/11/062 天前
0.10.02026/11/017 天前
0.9.12026/11/017 天前
0.9.02026/11/018 天前
0.8.02026/10/2614 天前
0.7.32026/10/2514 天前

关于 @characterxyz/widget 的常见问题

@characterxyz/widget 是什么?

任意站点中的字符 XYZ:角落中的有聊天和语音通话的代理. 一个脚本标签,或者一个Web组件.

如何安装 @characterxyz/widget?

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

@characterxyz/widget 支持 TypeScript 吗?

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

@characterxyz/widget 支持 ESM 还是 CommonJS?

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

@characterxyz/widget 可以商用吗?

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

@characterxyz/widget 的下载量有多少?

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

@characterxyz/widget 还在维护吗?

最新版本 0.10.1 发布于 2026/11/06(2 天前);至今共发布 17 个版本,其中过去 12 个月发布了 17 个;首次发布于 2026/10/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。