> For the complete documentation index, see [llms.txt](https://docs.flopsar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.flopsar.com/7/user-guide/observing-and-diagnosing/ai-assistant.md).

# AI Assistant

The AI Assistant turns recorded performance data into a structured diagnosis. It does not guess from the conversation alone: when tools are enabled, the model asks the Flopsar server for the same analytics, call trees, and live agent facts you can see in the Workstation — always within **your** permissions and banned-application list.

An administrator must enable the assistant and choose a provider first. They also decide whether the model may query extra data, read recorded method arguments, or run live JVM queries. Settings: [AI Assistant](/7/administrator-guide/ai-assistant.md). What can leave your infrastructure: [AI Assistant](/7/security/ai-assistant.md).

You need the **Use AI assistant** permission and **View data**. Captured method arguments are sent to the model only if you also have **View parameters** and the administrator has turned **Allow call parameters** on. Live heap histograms, thread dumps, and similar queries require **Query agents** and **Allow live agent queries**.

{% hint style="info" %}
**Screenshot placeholder:** Workstation → Analytics → AI Assistant. Empty conversation with the prompt “Ask about latency, errors, hotspots, call parameters…”.
{% endhint %}

## Two ways to open it

### Free-form workspace

**Analytics → AI Assistant** is an open conversation. Nothing from a specific view is preloaded. Ask about any application, time range, or bottleneck you are allowed to see; the assistant fetches what it needs with tools. If the administrator has turned **Let the assistant query data** off, this workspace has nothing to fetch and cannot answer from telemetry.

Use **New conversation** to start over. **Export conversation PDF** downloads the current thread, including charts the assistant rendered.

### Grounded in the current view

From [Data Analysis](/7/user-guide/observing-and-diagnosing/data-analysis.md), use **AI Analysis** after you have run a search. From a [method execution tree](/7/user-guide/observing-and-diagnosing/method-execution-tree.md), open the **AI Assistant** tab. The aggregated call tree has the same tab. In those modes the assistant starts from the application, time range, and filters of the view you were looking at, even if tools are off.

## What the assistant can do

When tools are on, the model can:

* Summarize latency percentiles, error counts, and hotspots for an application and time range.
* Read the latency heatmap (time × duration), then drill into hotspots or an aggregated call tree.
* Find individual recorded calls and open their execution stacks.
* Look up class, method, and thread names so filters match what agents actually reported.
* Query a live instance (command line, JVM properties, packages, heap histogram, thread dump, agent logs, system metrics, detected Java errors) — only if live agent queries are allowed for you.
* List applications, profiles, plugins, data masks, and license status — still limited by your role.
* Render findings, Mermaid diagrams, and charts in the conversation.

The assistant never sees applications on your banned list. It cannot change profiles, tokens, users, or server configuration.

{% hint style="warning" %}
If the provider is a public API, analytics aggregates — including class and method names — leave your infrastructure. Do not ask the administrator to enable **Allow call parameters** or **Allow live agent queries** unless that is acceptable for your environment. Heap histograms and thread dumps can pause a live JVM. See [AI Assistant](/7/security/ai-assistant.md).
{% endhint %}

## Expertise and language

Each conversation can use Simple, Medium, or Advanced answer level, or **Server default**. The administrator sets that default under **Administration → AI Assistant**; your last explicit choice is remembered in this browser. Class, method, and exception names are never translated, even when the answer language is not English.
