@trainlytic/lili-js
v0.1.0
Published
Official JavaScript SDK for Lili customer chat.
Downloads
86
Readme
Lili JavaScript SDK
Official JavaScript SDK for Lili customer chat.
The package includes:
@trainlytic/lili-js/core: framework-agnostic Core SDK.@trainlytic/lili-js/ui: lightweight Web UI mounted into a DOM container.@trainlytic/lili-js/styles.css: default UI styles.
Install
npm install @trainlytic/lili-jsRuntime
- Browser: modern evergreen browsers.
- Node.js:
>=20.19.0for build-time tooling and tests. - Module format: ESM.
Core SDK
import { LiliClient, LiliVisitor } from '@trainlytic/lili-js/core';
const client = new LiliClient({
apiBase: 'https://lili.yuhaninfo.cn',
publishToken: 'pt_xxx',
});
await client.prepareChat(LiliVisitor.anonymous());
const session = await client.newSession();
const result = await client.sendMessage(session.id, 'Hello');
console.log(result.message?.content);UI SDK
import { LiliClient, LiliVisitor } from '@trainlytic/lili-js/core';
import { mountLiliChat } from '@trainlytic/lili-js/ui';
import '@trainlytic/lili-js/styles.css';
const client = new LiliClient({
apiBase: 'https://lili.yuhaninfo.cn',
publishToken: 'pt_xxx',
});
const handle = mountLiliChat(document.querySelector('#app')!, {
client,
visitor: LiliVisitor.anonymous(),
configuration: {
initialConversationMode: 'latestConversation',
style: {
width: '100%',
height: '100%',
accentColor: '#4361ee',
},
},
});
// Later, when unmounting:
handle.destroy();
client.destroy();Visitor Modes
LiliVisitor.anonymous();
LiliVisitor.externalId({
externalId: 'user_123',
nickname: 'Alice',
userHash: 'server_generated_hash',
});
LiliVisitor.contact({
nickname: 'Alice',
phone: '13800000000',
email: '[email protected]',
});Use the visitor mode configured for the publish token. If identity verification is enabled, generate userHash on your backend.
API Base
Public production endpoints:
- China:
https://lili.yuhaninfo.cn - Overseas:
https://api-lili.trainlytic.ai
Documentation
See the repository docs/ directory for full API references, examples, and release workflow documentation.
