@ characterxyz/ web
无头字符 XYZ SDK:会话,流出聊天,实时语音呼叫和呼叫队列, 没有UI。 将您自己的接口建在相同调用的即时部件上 。 无框架, 零依赖, 8 KB gziped.
换成现成的部件? 使用 @characterxyz/widget
(任何地点)或 @characterxyz/react。 。 。 .
npm install @characterxyz/web
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));
};
每行繁忙时,一通电话会按先到顺序排队等候,排到位置和估计值 游客可以继续聊天.
背景、事件和行动
页面和经纪人双向交谈. 三层,一会:
// 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: '[email protected]', 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 |
agentId | 哪个钥匙的经纪人? 默认: 密钥的第一个 |
storage | local (记住匿名访客,默认) memory 个人商店 |
创建密钥并选择它们可能在其中运行的网站 字符 XYZ QQ 设置 QQ 开发者。 。 。 .
许可证
麻省理工学院