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

# Artemis SDKs

Artemis provides SDKs to integrate AI agent capabilities into web and mobile apps. The SDKs provide access to agent conversations, messaging, and related interaction capabilities, with options for either building your own interface or using a prebuilt chat experience.

## Web SDK

The SDK is a JavaScript/TypeScript SDK to integrate agent interactions into web applications. It provides programmatic access to chat and voice interactions, including streaming responses, message history, file uploads, and voice interaction. It also provides React integration through `AgentProvider`, `useAgent`, `useChat`, and `useVoice` hooks. For applications that need a ready-to-use interface, the SDK includes a web component that supports chat, voice, or a unified chat-and-voice experience.

The Web SDK communicates with the Artemis platform over WebSocket and supports public API keys and verified-user authentication flows.

## Mobile SDKs

Artemis provides separate SDKs for **React Native** and **Flutter**, with each platform offering a Socket SDK and a UI SDK.

The **Socket SDKs** provide the underlying connection and messaging layer without a user interface. They handle authentication, WebSocket sessions, messaging, streaming responses, conversation history, events, and reconnection. Your application is responsible for building the chat interface.

The **UI SDKs** build on the socket functionality and provide a ready-to-use chat experience. The React Native UI SDK provides chat screens and modals, message rendering, rich content, themes, and configuration helpers. The Flutter UI plugin provides a full-screen chat experience with rich-content rendering, themes, customization, and internally managed connectivity.

### How to choose an SDK

Use the **Web SDK** for browser-based applications. For mobile applications, choose **React Native** or **Flutter** based on your application's framework. Within either mobile platform, choose a **Socket SDK** when you need to build the UI yourself, or a **UI SDK** when you want to integrate the provided chat experience.
