Pick the package for where your code runs. Each one authenticates with a client key, talks to https://app.kelu.dev by default, and takes a baseUrl to point elsewhere.

@kelu/widget

The website widget: one script tag, no build step.

@kelu/react

The KeluChat panel and the useKeluChat hook.

@kelu/sdk

The core client: chat, search and feedback for browsers, React Native and Node.js 18+.
Only the widget is available today, as the hosted script at https://widget.kelu.dev/kelu-widget.js. None of the three packages is on npm yet, so npm install fails for all of them. Until they are published, use the widget or the REST API.

Which one

  • A docs site or help centre: the widget.
  • A React app: @kelu/react. The component for a finished panel, the hook for your own markup.
  • Any other JavaScript app, or a server: @kelu/sdk.

Credentials

Where the code runsKeyOption
Browser, React Native, widgetPublic key kl_pk_…clientKey
Server (Node.js)Secret pair kl_ci_… + kl_cs_…clientId, clientSecret
Create both under the knowledge base’s Integrations → Client Keys. A key belongs to one knowledge base.
Never ship clientId and clientSecret in a browser or mobile app.