> ## Documentation Index
> Fetch the complete documentation index at: https://docs.osvi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat SDK overview

> Put an Osvi AI chat agent on your website, and pick how it looks and who it talks to

The chat SDK puts one of your chat agents on your own website. You set it up in the dashboard under the chat agent's **Channels → Web widget**, and add it to your pages with the Osvi AI chat SDK (`@osvi-ai/chat`), from a CDN script or from npm.

Visitors get the agent's replies, its buttons, cards and date pickers, and a team member when someone takes over the conversation.

## Two choices

Every setup makes two independent choices.

**How the chat appears**

| | What you add | Use it when |
| - | - | - |
| **Widget** | One script tag. A launcher bubble opens a chat panel | You want chat on a site with no build changes. Start here |
| **Inline panel** | An `<osvi-chat>` element placed in your layout | The chat belongs inside a page, such as a help centre or a product screen |
| **Headless** | The chat client with your own interface | You need full control of the interface, or a framework the elements do not fit |

**Who the visitor is**

| | How it works | Use it when |
| - | - | - |
| **Anonymous** | Anyone on an allowed website can chat. The browser remembers the visitor | Marketing sites, pre-sales and support for visitors who are not signed in |
| **Logged-in** | Your backend signs the user in and gives the browser a short-lived token | The chat must follow a customer across devices, or uses account data |

Any appearance works with either identity. Anonymous chat must be switched on in the dashboard and is subject to [limits](/website-chat/security#limits); logged-in chat needs neither.

## How it fits together

```mermaid theme={null}
flowchart LR
  A[Your web page] -->|widget, inline panel or headless client| B[Osvi AI API]
  B --> C[Your chat agent]
  D[Your backend] -.->|logged-in only: mints a token| B
```

The agent ID in your page is public by design. Anonymous chat is controlled by the dashboard switch, the allowed websites list and the limits; logged-in chat is controlled by your backend. See [Security and limits](/website-chat/security).

## Where to go next

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/website-chat/quickstart">
    Turn it on and add the widget to your site in a few minutes.
  </Card>

  <Card title="Dashboard settings" icon="sliders" href="/website-chat/dashboard-settings">
    Every setting in Channels → Web widget, from limits to the welcome message.
  </Card>

  <Card title="Customise the widget" icon="palette" href="/website-chat/customise">
    Launcher, colours, header and how buttons and cards look.
  </Card>

  <Card title="Logged-in users" icon="user-lock" href="/website-chat/server-mode">
    Connect the chat to signed-in customers through your backend.
  </Card>
</CardGroup>

Want a link instead of a website? The same switch also enables the agent's [public share link](/platform/public-chat), a page hosted by Osvi AI.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.