> ## 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 Software Developer Kits (SDKs)

Artemis provides SDKs to integrate AI agent capabilities into web and mobile apps. You can either build your own custom interface or use a prebuilt chat experience.

## Web SDK

The Web SDK is a JavaScript/TypeScript SDK that 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. The SDK includes a ready-to-use interface for apps.

The Web SDK communicates with the Artemis platform over WebSocket and supports public API keys and verified-user authentication flows. See [details of Web SDK](https://koreai.mintlify.site/agent-platform/sdk/web-sdk.md).

## Mobile SDKs

Artemis provides mobile SDKs for React Native, Flutter, and native Android and iOS applications. Each mobile platform offers options for working with the socket layer or integrating a chat UI. See [details of mobile SDK](https://koreai.mintlify.site/agent-platform/sdk/mobile-sdk.md).

### React Native and Flutter SDKs

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, while you build 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.

### Native Android and iOS SDKs

For applications built natively for Android or iOS, Artemis provides **Socket SDKs** for connection and messaging functionality, and **UI SDKs** for integrating a native chat experience. The native UI SDKs handle streamed responses and connection status, and render supported rich content such as Markdown, cards, carousels, forms, quick replies, tables, charts, and media. They also support interactive actions and feedback. You can customize parts of the chat interface and register renderers for app-specific content.

The Android UI SDK provides native Android layouts and can be integrated into an activity or fragment. The iOS UI SDK supports SwiftUI and UIKit applications and can present chat within a navigation stack or modally.

## How to choose an SDK

* Use the **Web SDK** for browser-based applications.
* For applications built with native Android or iOS technologies, choose the corresponding **native SDK**.
* For cross-platform mobile applications, choose **React Native** or **Flutter** based on your application's framework.
* To build and control the chat interface yourself, choose a **Socket SDK**.
* To integrate the provided chat experience, choose a **UI SDK**.

| SDK name | UI vs. socket use case | Platform | Download link |
| - | - | - | - |
| Web SDK | UI and socket capabilities | Browser/Web | [Web SDK details](https://koreai.mintlify.site/agent-platform/sdk/web-sdk.md) |
| React Native Socket SDK | Socket — connection, authentication, messaging, and session management without a UI | React Native | [NPM package](https://www.npmjs.com/package/@koredev/artemis-react-native-socket-sdk) |
| React Native UI SDK | UI — ready-to-use chat screens, modals, and rich-content rendering | React Native | [NPM package](https://www.npmjs.com/package/@koreai/artemis-react-native-ui-sdk) |
| Flutter Socket SDK | Socket — connection, messaging, events, and conversation history without a built-in chat UI | Flutter | [pub.dev package](https://pub.dev/packages/artemis_socket_plugin) |
| Flutter UI Plugin | UI — ready-to-use chat experience with rich-content rendering and customization | Flutter | [pub.dev package](https://pub.dev/packages/artemis_ui_plugin) |
| Android Socket SDK | Socket — connection and messaging functionality without a UI | Android | [Official GitHub repo](https://github.com/Koredotcom/artemis-android-sdk) |
| Android UI SDK | UI — native chat interface with rich-content rendering and interactive actions | Android | [Official GitHub repo](https://github.com/Koredotcom/artemis-android-sdk) |
| iOS Socket SDK | Socket — connection and messaging functionality without a UI | iOS | [Official GitHub repo](https://github.com/Koredotcom/artemis-ios-sdk) |
| iOS UI SDK | UI — native chat interface with rich-content rendering and customization | iOS | [Official GitHub repo](https://github.com/Koredotcom/artemis-ios-sdk) |


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