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

# Quickstart

> Instrument your agent and start sending traffic to Visceral.

<Note>
  The SDK is pre-1.0 and its surface is still settling. The snippets below show the
  **shape** of the integration; check the SDK release notes for exact signatures
  before you pin a version.
</Note>

## 1. Install

```bash theme={null}
pip install visceral-ai
```

The distribution is `visceral-ai`; the import stays `visceral`.

## 2. Configure

Visceral reads its credentials from the environment. Your workspace API key comes
from the dashboard (or the [CLI](/cli/overview)).

```bash theme={null}
export VISCERAL_API_KEY="vsk_..."
```

By default the SDK reports to `https://api.visceralai.dev`.

## 3. Wrap your client

Wrap the LLM client your agent already uses. Visceral observes the traffic and
reports **metadata only** — it never changes the response your agent receives.

```python theme={null}
import visceral
from openai import OpenAI

client = visceral.wrap(OpenAI())

# use the client exactly as before
resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "hello"}],
)
```

That's it — your agent behaves identically, and its LLM traffic now shows up in
Visceral. If the backend is unreachable, the wrapped client falls straight through
to the underlying provider ([fail open](/concepts/how-it-works)).

## Next steps

<CardGroup cols={2}>
  <Card title="Instrumenting frameworks" icon="plug" href="/sdk/instrumenting">
    LangChain, LangGraph, and other framework integrations.
  </Card>

  <Card title="How it works" icon="diagram-project" href="/concepts/how-it-works">
    What happens to the traffic once Visceral sees it.
  </Card>
</CardGroup>
