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

# Overview

> Flutter chat UI widgets for AI applications

The dartantic\_chat package provides the widgets to make it easy to add an AI
chat window to your Flutter app. The package is organized around an abstract
chat history provider API that makes it easy to swap out the agentic SDK or REST
endpoint that you'd like your chat widget to use. Out of the box, it comes with
support for [dartantic\_ai](https://pub.dev/packages/dartantic_ai), which
provides access to multiple LLM providers including Google Gemini, OpenAI,
Anthropic, Mistral, Cohere, Ollama, OpenRouter, and xAI (Grok). On Flutter you
can also use
[`dartantic_firebase_ai`](https://pub.dev/packages/dartantic_firebase_ai) for
Gemini through Firebase AI Logic.

<img src="https://mintcdn.com/sellsbrothersinc/3OzRbOwfjO4QV2tA/images/dartantic-chat-screenshot.png?fit=max&auto=format&n=3OzRbOwfjO4QV2tA&q=85&s=1e9f1e46d22f975cf2cb6e25da642d41" alt="Dartantic Chat Screenshot" width="1904" height="1828" data-path="images/dartantic-chat-screenshot.png" />

## Key Features

* **Multi-turn chat:** Maintains context across multiple interactions.
* **Streaming responses:** Displays AI responses in real-time as they're
  generated.
* **Rich text display:** Supports formatted text in chat messages.
* **Voice input:** Allows users to input prompts using speech.
* **Multimedia attachments:** Enables sending and receiving various media types.
* **Drag and drop:** Drop files directly into the chat on desktop and web
  platforms.
* **Custom styling:** Offers extensive customization to match your app's design.
* **Chat serialization/deserialization:** Store and retrieve conversations
  between app sessions.
* **Custom response widgets:** Introduce specialized UI components to present
  LLM responses.
* **Pluggable LLM support:** Implement a simple interface to plug in your own
  LLM.
* **Cross-platform support:** Compatible with Android, iOS, web, and macOS
  platforms.
* **Slash commands:** Define custom commands triggered by typing `/` in the chat
  input, with filtering and keyboard navigation.
* **Function calling/Tools:** Support for LLM function calling via dartantic\_ai
  tools.
