::callout{variant="primary"}
**Looking for Msty App 1.x docs?**  
Use the legacy documentation here: [**Go to Msty App Docs ->**](http://docs.msty.app){target="\_blank"}
::

[Msty Studio](https://msty.ai){target="\_blank"} is a [privacy-first](https://msty.ai/privacy-first){target="\_blank"} AI platform for running local and online AI models from desktop and web.

You can start for free with Msty Studio Desktop, then add online providers or advanced workflows when you are ready.

## Getting Started Video Guide

::YouTubePlayer{videoId="TdGjKf4vRPo"}
::

## Start Here

You can get started for free with [Msty Studio Desktop](/getting-started/download).

Aurum subscribers get full access to both Msty Studio Web and Msty Studio Desktop.

See the [plan comparison](https://msty.ai/pricing#plan-comparison){target="_blank"} to view what features are available by plan type.

::alert{type="info" icon="tabler:info-circle"}
Data does not sync between devices. Data is stored locally on your device. Studio Web stores data directly to your browser.
::

### Msty Studio Desktop

Msty Studio Desktop is free to get started on and is the recommended path for new users.

1. Install from [Download](/getting-started/download)
2. Follow the [Quick Start](/getting-started/quick-start) guide
3. Use [Managing Models](/managing-models) to add providers and local models

### Msty Studio Web :aurum-tag

Msty Studio Web supports most core features in the browser. For local models, Toolbox, and Real-Time Data, connect Studio Web to [Msty Studio Desktop](/settings/remote-connections) or [Msty Sidecar](/how-tos/sidecar).

Even though Msty Studio Web is a web-based app, data is stored directly in your browser local storage. This helps keep your data in your control.

## Popular Topics

- [Managing Models](/managing-models) - Learn how to add and configure AI models
- [Toolbox](/toolbox/tools) - Leverage powerful tools using MCP
- [Knowledge Stacks](/knowledge-stacks/overview) - RAG the right way
- [Workspaces](/workspaces) - Organize your projects and conversations
- [Crew Mode](/conversations/crew-chats) - Run collaborative chats with multiple personas
- [Agent Mode](/agent-mode/agent-mode) - Complete multi-step tasks with agents
- [Environment Variables](/workspaces/environment) - Configure your development environment
- [Data Backups](/settings/data-backups) - Keep your data safe and synchronized

## Need Help?

- **Getting Started**: Check out our [Quick Start](/getting-started/quick-start) guide
- **How-Tos**: Find step-by-step guides in our [How-Tos](/how-tos/manage-license) section
- **Whats new**: Visit the full [Changelog](https://msty.ai/changelog){target="\_blank"}
- **Support**: Visit our [Discord](https://msty.ai/discord){target="\_blank"} for issues and discussions


---

Quick Start is the fastest path for new users to go from install to first chat.

## Choose Your Path

- **Desktop (recommended):** Best path for most new users and supports local model workflows.
- **Web (Aurum):** Use Msty Studio in the browser with remote providers or a Desktop/Sidecar connection.

## Msty Studio Desktop Quick Start (Recommended)

::steps

### Install and open Msty Studio
[Download Msty Studio Desktop](/getting-started/download), install it, and open the app.

### Choose how you plan to use Msty Studio
Select **Just exploring**, **For work**, or **I'm a developer**. Msty uses this choice to tailor the recommended model and optional starter resources.

### Connect your first model
Choose either:

- **Recommended local model:** Msty checks your hardware, recommends a compatible local engine and model, and lets you adjust the recommendation from **Light** to **Powerful** before downloading.
- **Online provider:** Connect OpenAI, Claude, xAI, Gemini, OpenRouter, or another [online provider](/managing-models/online-providers). Add at least one model to the provider before continuing.

Local setup displays service and model download progress. You can continue into the app while a local model finishes downloading in the background.

### Choose what to do first
After model setup, choose a starting workflow:

- Open a normal conversation
- Connect an image model and open Media Studio
- Import the Msty Studio Docs Knowledge Stack and create the **Msty Clippy** persona
- Install suggested personas based on your selected intent

### Start working
Msty opens the selected workflow with your model and starter resources ready to use.

::

::alert{type="info" icon="tabler:info-circle"}
Msty stores your data locally on your device. Data does not sync automatically between devices.
::

::alert{type="info" icon="tabler:info-circle"}
Msty Studio can install and manage Ollama, MLX, or Llama.cpp services for local models. The recommended engine depends on your operating system and hardware.
::

### Optional: Install Local AI Services From an Archive File

If the standard service installer is not suitable for your system, use the service settings to install a compatible local archive.

![import ollama archive](/images/quick-start/import-ollama-archive.png)

For Ollama:

1. Download the correct archive for your OS from [Ollama Releases](https://github.com/ollama/ollama/releases){target="_blank"}.
2. Open **Settings > Local AI > Service Version** and choose the archive file option.
3. Select the downloaded archive file.

::alert{type="info" icon="tabler:info-circle"}
If Local AI setup fails with the default installer, archive install is a useful fallback.
::

## Msty Studio Web Quick Start :aurum-tag

::steps

1. Purchase an [Aurum license](https://msty.ai/pricing){target="_blank"} and keep your license key handy.
2. Open [https://msty.studio](https://msty.studio).
3. Enter your license key and click **Next**.
4. Add a model provider:
   - Add a remote provider (OpenAI, Anthropic, Gemini, and others)
   - Or connect Studio Web to [Msty Studio Desktop](/settings/remote-connections) or [Msty Sidecar](/how-tos/sidecar)
5. Finish setup, choose a starting workflow, and run your first prompt.

::

::alert{type="info" icon="tabler:info-circle"}
**Safari user?** Safari is not directly supported by Msty Studio. You can still connect through [Remote Connections](/settings/remote-connections) using tunneling.
::

## Next Steps

- [Managing Models](/managing-models) to add providers, install local models, and monitor downloads
- [Settings](/settings/settings) to customize behavior and defaults
- [Remote Connections](/settings/remote-connections) to connect Web and Desktop

::Resources


---

![msty studio](/images/image-comparison.png)

### Quick Facts
Are you a previous Msty App 1.x users? Here are some quick facts to know: 

1. Studio Desktop installs separately from Msty App (v1.x).
2. You do not need to remove Msty App (v1.x), you can continue using it while using Studio Desktop.
3. Studio Desktop Aurum activation will count against your Aurum activated devices limit, so you may need to deactivate a device if you have reached your limit.
4. Studio Desktop is available for Windows, Mac, and Linux.
5. A migration tool is available to help migrate some of your existing Msty App (v1.x) data to Studio Desktop.


## Msty Studio Desktop Download Options

Please select the download option for your operating system.

::tabs{variant="card" sync="user-os"}
::div{label="Windows" icon="iconoir:windows"}

### Windows

- [Download Msty Studio Desktop (x64)](https://next-assets.msty.studio/app/latest/win/MstyStudio_x64.exe)

When installing on Windows, please install as an Administrator for your user account only. Installing for all users is not supported due to a Windows limitation.

Corporate SSL issues? Try running the following command: 
```bash
   $env:NODE_TLS_REJECT_UNAUTHORIZED="0"; & <MSTY STUDIO.EXE PATH>
```
Replace `<MSTY STUDIO.EXE PATH>` with the actual path to the Msty Studio executable file.

::

::div{label="Mac" icon="hugeicons:apple"}

### Mac

- [Download Msty Studio Desktop (Apple Silicon - M1, M2, M3, M4)](https://next-assets.msty.studio/app/latest/mac/MstyStudio_arm64.dmg)
- [Download Msty Studio Desktop (Intel Macs)](https://next-assets.msty.studio/app/latest/mac/MstyStudio_x64.dmg)

::

::div{label="Linux" icon="ph:linux-logo"}

### Linux

Linux requires some additional manual steps after downloading. 

---

### AppImage Instructions

[Download Msty Studio Desktop (x64 AppImage)](https://next-assets.msty.studio/app/latest/linux/MstyStudio_x86_64.AppImage)

After download is complete, run the following command in your terminal to make the AppImage executable:

```bash
chmod a+x ./<DownloadedFileName>.AppImage
```

Then, you can run the AppImage file:

```bash
./<DownloadedFileName>.AppImage --no-sandbox

```
Note: You may need to install appropriate packages like libfuse2 (if your system does not have them already) in order to run the AppImage file.


**Using GTK 2/3 and GTK 4 in the same process is not supported** Error? 

Try running Msty from the terminal with: 
```bash
./MstyStudio_x86_64.AppImage --gtk-version=3
```

---

### Deb Instructions

[Download Msty Studio Desktop (x64 deb)](https://next-assets.msty.studio/app/latest/linux/MstyStudio_amd64.deb)

After download is complete, run the following command to install the deb package:
```
sudo apt install ./<DownloadedFileName>.deb
```

Once the installation is complete, run the following command to launch Msty Studio Desktop:

```bash
MstyStudio
```

Sometimes the installation may experience permission issues if the '_apt' user does not have enough privileges. In that case, run the following two commands to mitigate this issue and then run Msty again.

```bash
sudo chown root:root /opt/MstyStudio/chrome-sandbox
```
```bash
sudo chmod 4755 /opt/MstyStudio/chrome-sandbox
```

::
::


### Historical Desktop Versions
::Collapsible{title="Expand this section to see Msty Studio 2.5.x to 2.9.4 downloads"}
  Looking for an earlier Msty Studio release? The versions below are available based on the changelog release history. Msty Studio Web is always on the latest version, but you can download a specific version of Msty Studio Desktop here.

  <br />

  ::tabs{variant="card" sync="historical-download-os"}
  ::div{label="Windows" icon="iconoir:windows"}
  ### Windows

  - [Msty Studio 2.9.4 (x64) - Latest](https://next-assets.msty.studio/app/releases/2.9.4/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.9.2 (x64)](https://next-assets.msty.studio/app/releases/2.9.2/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.9.1 (x64)](https://next-assets.msty.studio/app/releases/2.9.1/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.9.0 (x64)](https://next-assets.msty.studio/app/releases/2.9.0/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.8.3 (x64)](https://next-assets.msty.studio/app/releases/2.8.3/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.8.2 (x64)](https://next-assets.msty.studio/app/releases/2.8.2/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.8.1 (x64)](https://next-assets.msty.studio/app/releases/2.8.1/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.8.0 (x64)](https://next-assets.msty.studio/app/releases/2.8.0/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.8 (x64)](https://next-assets.msty.studio/app/releases/2.7.8/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.7 (x64)](https://next-assets.msty.studio/app/releases/2.7.7/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.6 (x64)](https://next-assets.msty.studio/app/releases/2.7.6/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.5 (x64)](https://next-assets.msty.studio/app/releases/2.7.5/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.4 (x64)](https://next-assets.msty.studio/app/releases/2.7.4/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.3 (x64)](https://next-assets.msty.studio/app/releases/2.7.3/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.2 (x64)](https://next-assets.msty.studio/app/releases/2.7.2/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.1 (x64)](https://next-assets.msty.studio/app/releases/2.7.1/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.7.0 (x64)](https://next-assets.msty.studio/app/releases/2.7.0/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.6.4 (x64)](https://next-assets.msty.studio/app/releases/2.6.4/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.6.3 (x64)](https://next-assets.msty.studio/app/releases/2.6.3/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.6.2 (x64)](https://next-assets.msty.studio/app/releases/2.6.2/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.6.1 (x64)](https://next-assets.msty.studio/app/releases/2.6.1/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.6.0 (x64)](https://next-assets.msty.studio/app/releases/2.6.0/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.5.6 (x64)](https://next-assets.msty.studio/app/releases/2.5.6/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.5.5 (x64)](https://next-assets.msty.studio/app/releases/2.5.5/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.5.4 (x64)](https://next-assets.msty.studio/app/releases/2.5.4/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.5.3 (x64)](https://next-assets.msty.studio/app/releases/2.5.3/win/auto/MstyStudio_x64.exe)
  - [Msty Studio 2.5.0 (x64)](https://next-assets.msty.studio/app/releases/2.5.0/win/auto/MstyStudio_x64.exe)
  ::
  ::div{label="Mac" icon="hugeicons:apple"}
  ### Mac

  - [Msty Studio 2.9.4 (Apple Silicon) - Latest](https://next-assets.msty.studio/app/releases/2.9.4/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.9.4 (Intel) - Latest](https://next-assets.msty.studio/app/releases/2.9.4/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.9.2 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.9.2/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.9.2 (Intel)](https://next-assets.msty.studio/app/releases/2.9.2/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.9.1 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.9.1/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.9.1 (Intel)](https://next-assets.msty.studio/app/releases/2.9.1/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.9.0 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.9.0/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.9.0 (Intel)](https://next-assets.msty.studio/app/releases/2.9.0/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.8.3 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.8.3/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.8.3 (Intel)](https://next-assets.msty.studio/app/releases/2.8.3/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.8.2 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.8.2/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.8.2 (Intel)](https://next-assets.msty.studio/app/releases/2.8.2/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.8.1 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.8.1/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.8.1 (Intel)](https://next-assets.msty.studio/app/releases/2.8.1/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.8.0 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.8.0/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.8.0 (Intel)](https://next-assets.msty.studio/app/releases/2.8.0/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.8 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.8/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.8 (Intel)](https://next-assets.msty.studio/app/releases/2.7.8/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.7 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.7/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.7 (Intel)](https://next-assets.msty.studio/app/releases/2.7.7/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.6 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.6/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.6 (Intel)](https://next-assets.msty.studio/app/releases/2.7.6/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.5 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.5/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.5 (Intel)](https://next-assets.msty.studio/app/releases/2.7.5/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.4 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.4/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.4 (Intel)](https://next-assets.msty.studio/app/releases/2.7.4/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.3 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.3/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.3 (Intel)](https://next-assets.msty.studio/app/releases/2.7.3/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.2 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.2/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.2 (Intel)](https://next-assets.msty.studio/app/releases/2.7.2/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.1 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.1/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.1 (Intel)](https://next-assets.msty.studio/app/releases/2.7.1/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.7.0 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.7.0/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.7.0 (Intel)](https://next-assets.msty.studio/app/releases/2.7.0/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.6.4 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.6.4/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.6.4 (Intel)](https://next-assets.msty.studio/app/releases/2.6.4/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.6.3 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.6.3/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.6.3 (Intel)](https://next-assets.msty.studio/app/releases/2.6.3/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.6.2 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.6.2/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.6.2 (Intel)](https://next-assets.msty.studio/app/releases/2.6.2/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.6.1 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.6.1/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.6.1 (Intel)](https://next-assets.msty.studio/app/releases/2.6.1/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.6.0 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.6.0/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.6.0 (Intel)](https://next-assets.msty.studio/app/releases/2.6.0/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.5.6 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.5.6/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.5.6 (Intel)](https://next-assets.msty.studio/app/releases/2.5.6/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.5.5 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.5.5/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.5.5 (Intel)](https://next-assets.msty.studio/app/releases/2.5.5/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.5.4 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.5.4/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.5.4 (Intel)](https://next-assets.msty.studio/app/releases/2.5.4/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.5.3 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.5.3/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.5.3 (Intel)](https://next-assets.msty.studio/app/releases/2.5.3/mac/MstyStudio_x64.dmg)
  - [Msty Studio 2.5.0 (Apple Silicon)](https://next-assets.msty.studio/app/releases/2.5.0/mac/MstyStudio_arm64.dmg)
  - [Msty Studio 2.5.0 (Intel)](https://next-assets.msty.studio/app/releases/2.5.0/mac/MstyStudio_x64.dmg)
  ::
  ::div{label="Linux" icon="ph:linux-logo"}
  ### Linux

  - [Msty Studio 2.9.4 (x64 AppImage) - Latest](https://next-assets.msty.studio/app/releases/2.9.4/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.9.4 (x64 deb) - Latest](https://next-assets.msty.studio/app/releases/2.9.4/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.9.2 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.9.2/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.9.2 (x64 deb)](https://next-assets.msty.studio/app/releases/2.9.2/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.9.1 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.9.1/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.9.1 (x64 deb)](https://next-assets.msty.studio/app/releases/2.9.1/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.9.0 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.9.0/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.9.0 (x64 deb)](https://next-assets.msty.studio/app/releases/2.9.0/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.8.3 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.8.3/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.8.3 (x64 deb)](https://next-assets.msty.studio/app/releases/2.8.3/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.8.2 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.8.2/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.8.2 (x64 deb)](https://next-assets.msty.studio/app/releases/2.8.2/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.8.1 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.8.1/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.8.1 (x64 deb)](https://next-assets.msty.studio/app/releases/2.8.1/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.8.0 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.8.0/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.8.0 (x64 deb)](https://next-assets.msty.studio/app/releases/2.8.0/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.8 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.8/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.8 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.8/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.7 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.7/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.7 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.7/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.6 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.6/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.6 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.6/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.5 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.5/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.5 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.5/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.4 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.4/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.4 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.4/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.3 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.3/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.3 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.3/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.2 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.2/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.2 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.2/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.1 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.1/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.1 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.1/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.7.0 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.7.0/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.7.0 (x64 deb)](https://next-assets.msty.studio/app/releases/2.7.0/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.6.4 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.6.4/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.6.4 (x64 deb)](https://next-assets.msty.studio/app/releases/2.6.4/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.6.3 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.6.3/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.6.3 (x64 deb)](https://next-assets.msty.studio/app/releases/2.6.3/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.6.2 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.6.2/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.6.2 (x64 deb)](https://next-assets.msty.studio/app/releases/2.6.2/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.6.1 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.6.1/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.6.1 (x64 deb)](https://next-assets.msty.studio/app/releases/2.6.1/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.6.0 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.6.0/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.6.0 (x64 deb)](https://next-assets.msty.studio/app/releases/2.6.0/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.5.6 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.6/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.5.6 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.6/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.5.5 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.5/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.5.5 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.5/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.5.4 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.4/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.5.4 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.4/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.5.3 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.3/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.5.3 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.3/linux/MstyStudio_amd64.deb)
  - [Msty Studio 2.5.0 (x64 AppImage)](https://next-assets.msty.studio/app/releases/2.5.0/linux/MstyStudio_x86_64.AppImage)
  - [Msty Studio 2.5.0 (x64 deb)](https://next-assets.msty.studio/app/releases/2.5.0/linux/MstyStudio_amd64.deb)
  ::
  ::
::

### Looking for Msty App 1.x?
::Collapsible{title="Expand this section to see download options"}
  Msty App 1.x is still available for download if you need it. See below for download links and installation instructions. See the [Msty App 1.x Docs](https://docs.msty.app){target="_blank"} for more info.

  ::tabs{variant="card" sync="download-os"}
  ::div{label="Windows" icon="iconoir:windows"}
  ### Windows
  Choose between two versions depending on your hardware.

  #### CPU-Only Version
  Ideal for systems without a dedicated GPU.

  :button-link[Download Msty (x64 CPU)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/win/cpu/Msty_x64.exe" self}



  #### GPU Version
  Optimized for systems with a [compatible AMD or NVIDIA GPU](https://docs.msty.app/getting-started/gpus-support){target="_blank"}, offering improved performance.

  :button-link[Download Msty (x64 GPU)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/win/auto/Msty_x64.exe" self}
  ::
  ::div{label="Mac" icon="hugeicons:apple"}
  ### Mac
  We offer installers for both Apple Silicon and Intel-based Macs.

  #### Apple Silicon
  For M1, M2 and M3 chip-based Macs.

  :button-link[Download Msty (M1/M2/M3)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/mac/Msty_arm64.dmg" self}



  #### Intel
  For Macs with Intel processors.
  :button-link[Download Msty (Intel)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/mac/Msty_x64.dmg" self}
  ::
  ::div{label="Linux" icon="ph:linux-logo"}
  ### Linux
  Download the version that best fits your setup.

  #### AppImage (CPU Version)
  A universal package that runs on most Linux distributions, optimized for CPUs.
  :button-link[Download Msty (AppImage CPU)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/linux/amd64/Msty_x86_64_amd64.AppImage" self}



  #### Deb Installer (CPU Version)
  Specifically for Debian-based distributions (like Ubuntu) with CPU optimization.
  :button-link[Download Msty (.deb CPU)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/linux/amd64/Msty_amd64_amd64.deb" self}



  #### AppImage (AMD GPU - ROCm Version)
  For systems with AMD GPUs using ROCm, available as a universal AppImage.
  :button-link[Download Msty (AppImage AMD GPU)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/linux/rocm/Msty_x86_64_rocm.AppImage" self}



  #### Deb Installer (AMD GPU - ROCm Version)
  A ROCm-optimized version for Debian-based distributions.
  :button-link[Download Msty (.deb AMD GPU)]{left-icon="tabler:download" variant="outline" to="https://assets.msty.app/prod/latest/linux/rocm/Msty_amd64_rocm.deb" self}
  ::
  ::

  ## Installation Instructions
  After downloading the appropriate installer for your system, follow the instructions below:

  ::tabs{variant="card" sync="download-os"}
  ::div{label="Windows" icon="iconoir:windows"}
  ### Windows
  Double-click the installer and follow the setup wizard.
  ::
  ::div{label="Mac" icon="hugeicons:apple"}
  ### Mac
  Open the downloaded `.dmg` file and drag Msty to your Applications folder.
  ::
  ::div{label="Linux" icon="ph:linux-logo"}
  ### Linux
  Read [how to install Msty on Linux.](https://docs.msty.app/how-to-guides/install-msty-on-linux){target="_blank"}
      ::
    ::
::

::Resources


---

Use Settings to customize how Msty Studio looks and behaves.

## General

### Appearance
You can control:

- Theme preference (Light, Dark, or System)
- Interface mood and color styling
- Accent and base color preferences
- [Mode](/settings/modes)
- Font size and font style
- Code theme
- Rendering modules (Markdown, Mermaid, Math, GFM, code highlights, collapsible blocks, links)
- RTL support

### App Info
- App version and update actions
- Data paths for app data and logs
- Reset app settings
- Help links and support links
- Optional web security override for specific CORS troubleshooting

## Agent Mode

Settings include:

- Adapter update checks
- Preferred editor selection
- Vim mode toggle
- Diff display preferences
- Local provider enable or disable controls

## Local AI Service

If Local AI Service is installed, settings include:

- Models path, health, endpoint, and service version
- Start, stop, restart, update, and remove actions
- Service configuration (port, parallel chats, loaded models, network access, logs)
- Model-level configuration like keep-alive and advanced JSON options

## MLX Service

On Apple Silicon devices, MLX settings include:

- Model path, health, endpoint, and service version
- Update and remove actions
- Network and logging options

## Vibe CLI Proxy

Vibe CLI Proxy settings include:

- Service health, endpoint, and version
- Network access, logs, port, and retries
- Auth folder details
- Provider authentication controls

See [Vibe CLI Proxy](/managing-models/vibe-cli-proxy) for provider details.

## Remote Service and Data

- Remote connections: [Remote Connections](/settings/remote-connections)
- Backups and restore: [Data Backups and Restoration](/settings/data-backups)
- Data migration: [Quick Start data migration](/getting-started/quick-start#data-migration-for-msty-app-users)

## Keyboard Shortcuts

Manage shortcuts in **Settings > Keyboard Shortcuts**. This includes the Command Palette shortcut and Shiftcuts behavior.

## Desktop Extras

### Log Viewer
View, filter, and copy logs, including live log streaming.

### Notifications
Review app events and errors in one place.

### Always On Top
For Desktop conversations, you can toggle **Always On Top** from the conversation actions menu.

## License and Access

Add your license key to unlock paid features.


---

You can enhance your Msty Studio experience by enabling different modes. Each mode is designed to optimize the interaction with Studio and the model so that you can focus on the task at hand.

You can enable modes from **Settings > General > Mode**.

![msty modes](/images/msty-modes.png)

## Vapor

Conversations will not be saved by Msty Studio's history and will disappear when you turn it off or navigate away. Think of Vapor-mode conversations as a fleeting interaction. It exists only for the duration of your current exchange.

::alert{type="info" icon="tabler:info-circle"}
Note that if you use a cloud model, then you are still sending data to the model provider.
::

## Focus

Focus Mode strips away unnecessary elements like the sidebar menu, workspaces, and directory listings to help you concentrate solely on your current task.

## Zen

Zen Mode takes Focus Mode a step further by removing the chat input box, allowing you to immerse yourself in the conversation without distractions. This mode is ideal for deep work or when you want to engage with the model without interruptions.

::Resources


---

Keyboard shortcuts help you move through Msty Studio faster.

You can manage them in **Settings > Keyboard Shortcuts**.

![keyboard shortcuts](/images/shortcuts/keyboard-shortcuts.png)

## Useful Defaults

- `Cmd/Ctrl + K` opens Command Palette
- `Cmd/Ctrl + N` starts a new conversation
- `Cmd/Ctrl + T` adds a split chat
- `Cmd/Ctrl + 1` toggles the sidebar
- `Cmd/Ctrl + 8` toggles the workspace tray
- `Cmd/Ctrl + ,` opens settings
- `Cmd/Ctrl + Shift + F` opens conversation search
- `Cmd/Ctrl + W` enters split removal mode

## Command Palette Shortcut

Command Palette is the fastest way to run actions by name.

- Press `Cmd/Ctrl + K`
- Type the action you want
- Press `Enter` to run it

## Vim Motions (Agent Mode)

If Vim Mode is enabled in **Settings > Agent Mode**, you can use:

- `gg` to jump to the start
- `G` to jump to the end

## Shiftcuts

Shiftcuts are quick actions triggered by pressing `Shift` twice, then a key.

- `t` creates a new split chat tab
- `n` creates a new conversation
- `1` toggles the sidebar
- `e` opens quick environment variable selection

## Disable Shiftcuts

::steps
### Open Keyboard Shortcuts
Go to **Settings > Keyboard Shortcuts**.

### Disable Shiftcuts
Turn off the Shiftcuts toggle at the top of the page.
::

::alert{type="info" icon="tabler:info-circle"}
Studio Web behavior can depend on your browser shortcut rules.
::

::Resources


---

Command Palette gives you one searchable command surface for navigation, creation, settings, and desktop actions.

Open it with **Cmd/Ctrl + K**.

## Available Across Msty Studio

The Command Palette remains available while you are working in navigable hubs and dialogs, including:

- Model Hub
- Settings
- Toolbox
- Persona Studio
- Prompt Studio
- Turnstiles
- Knowledge Stacks
- Environments
- Notifications, Insights, and the Log Viewer

Press **Cmd/Ctrl + K** without manually closing the current hub. When you run a navigation command, Msty closes the existing navigable surface and opens the selected destination.

The palette may remain unavailable while a blocking confirmation, editor drawer, license prompt, or other modal action requires your attention.

## Major Parts

### Create commands
Start new conversations, split chats, persona or crew chats, forge canvases, and workspaces.

### Navigation commands
Jump directly between Model Hub, Toolbox, Persona Studio, Prompt Studio, Turnstiles, Knowledge Stacks, environments, notifications, and other major surfaces.

### Settings and appearance commands
Open settings sections, toggle mini map, and quickly switch theme, mode, split width, accent, or base color.

### Desktop commands
On Desktop, run actions like checking for updates or opening the log viewer from the same interface.

## Using Command Palette

1. Press **Cmd/Ctrl + K**.
2. Type what you want to do, such as `new`, `persona`, or `settings`.
3. Move through results with arrow keys or `Tab`.
4. Press `Enter` to run the selected command.
5. Press `Esc` to close.

[Image placeholder: Command Palette with search input and grouped command results]

## Tip

You can customize the Command Palette shortcut in **Settings > Keyboard Shortcuts**.


---

Several features in Msty Studio have prompts that tell a model how to respond; outside of just the conversation-related prompts. 

Default prompts are located in the Settings > Default Prompts section. 

## Default Prompts

The Default Prompts section contains prompts for the following features:
- **Attachment Prompt**: default prompt used when you send attachments without any additional user text
- **Attachments Image Analysis**: generates short descriptions, long descriptions, and tags for image and video items in Context Studio
- **Attachments Document Analysis**: generates short descriptions, long descriptions, and tags for document, webpage, and YouTube items in Context Studio
- **Attachments Pull Mode**: instructs tool-capable models how to search and read Context Studio content in Dynamic Mode
- **Context Shield Summary**: used to summarize long context into shorter summaries so that you can save on context length and tokens
- **Crew Mode**: background instructions applied to crew persona responses, including the crew roster and `@mention` handoffs
- **Icon Finder**: selects the most appropriate icon based on a user description
- **Knowledge Stack Context**: included when sending chunks from your Knowledge Stack to the model; this will provide instructions on how to use the context
- **Knowledge Stack Simple Search**: this prompt is used to help the model generate search queries to find relevant documents in your Knowledge Stack
- **Knowledge Stack Structured Search**: for a more semantic search, this prompt helps the model generate better search queries for your Knowledge Stack
- **Live Context Default**: default instructions for using live context data in model responses
- **Real-Time Data Query Synthesis**: creates queries to fetch real-time data in a format common to standard search engines
- **Title Generation**: used to generate titles for chats based on the conversation content
- **User Persona Memory Generation**: creates a structured memory draft from a selected conversation message for user persona memories
- **YouTube Attachments**: provides context to the model about how to use YouTube video transcripts when included as attachments in chats

Context Studio prompts are grouped together in the **Context Studio** category. See [Context Studio](/studios/context-studio) for metadata and Dynamic Mode workflows.

## Editing Default Prompts

To edit a default prompt, select the prompt from the menu and then modify the text in the editor. Once you are done, select the "Save" button to save your changes.

Many of the default prompts include variables, such as `{input}` or `{content}`. These variables will be replaced with the appropriate content when the prompt is used. Be sure to keep these variables in your prompt to ensure proper functionality.

At the bottom of the text editor, there are buttons to fetch a prompt from **Quick Prompts**, to **Clear Content**, and to **Reset to Default**.

::Resources


---

## Getting Started with Remote Connections :aurum-tag

Msty Studio Web lets you access many of the same powerful features available in the Desktop version, all from your browser.  

However, certain capabilities require access to a local environment, something the web version cannot do directly due to the inherent constraints of pure web applications.

To bridge this gap, Msty Studio Desktop can act as a **secure proxy**, enabling the web version to connect to your local resources.  

**These capabilities include:**
- **Accessing Local AI Models** — Run high-performance models stored and executed on your own machine.  
- **Web Search with Real-Time Data** — Enhance responses with live search capabilities that pull up-to-the-minute results.  
- **Toolbox MCP Tools** — Use locally installed MCP tools directly from the web version.  

::alert{type="info" icon="tabler:info-circle"}
Remote connections do not share data between the web and desktop versions. 
::

### How Remote Connections Work
When enabled, the Msty Studio Desktop application provides a secure, authenticated tunnel between the web version and your local machine.  
This allows you to use tools, models, and real-time data that are otherwise inaccessible via the browser alone.

### Step 1 - Allow External Connections to Local AI Service

In **Settings > Local AI**: 
1. Enable options to **Enable Network Access** and **Allow Access from Msty Studio** 
2. Add `https://msty.studio` to **https://msty.studio**
3. Save updated settings

### Step 2 — Configure the Remote Tools Connector
The Remote Tools Connector defines the communication details between Msty Studio Web and your local Desktop instance.  

You’ll set:
- **Connection Token** — A secure token to authorize access.  
- **Enable Tunneling** - Allows remote connections to be established. Leave disabled if you are connecting web to desktop locally on the same device.

### Step 3 — Enable Remote Connections
Once the connector is configured, select the button to **Enable** remote connections. 

You'll then be provided with a local and tunnel URL (if you enabled tunneling). 

![Remote Tools Connector URLs](/images/remote-tools-connector/connection-urls.png)

Copy the url that corresponds to your desired connection method (local or tunnel).

### Step 4 — Add Connection URL in Studio Web

Once your **Remote Tools Connector** is set up on your desktop, the next step is to tell **Msty Studio Web** where to connect.  

You’ll do this by adding the **Connection URL** in the Studio Web settings.

#### Accessing Local Models
If you want Studio Web to run **local AI models** through your desktop (instead of only cloud models), go to **Model Hub > Add New Provider** and select **Msty Remote**. 

Paste the Connection URL you copied from earlier into the appropriate field.  

![Remote Tools Connector URLs](/images/remote-tools-connector/connect-to-models.png)  

This allows you to:
- Use your own hardware for inference
- Access models not available in the cloud
- Keep processing and data fully on your machine

#### Accessing Real-Time Data and MCP Tools
If you also want Studio Web to interact with **real-time data sources** or dependencies for **MCP tools** that are available only through your desktop, paste the Connection URL in the Tools Connection field.  

![Remote Tools Connector URLs](/images/remote-tools-connector/connect-to-tools.png)  

With this connection, you can:
- Pull in real-time data using your desktop environment 
- Access local dependencies (Node, python, etc) needed for MCP tools to function


---

Msty Studio saves data locally on your browser. This means that if you clear your browser cache or browser data, you will lose your Msty data. To mitigate this, we recommend regularly backing up your data and restoring it when needed.

## Backup Data

Msty will prompt you periodically to back up your data. You can also manually back up your data by clicking the **Export Data** button in the **Settings** section.

![restore data](/images/data-backup.png)

You can configure the interval for Msty to remind you to back up your data.

Backing up, or exporting, your data will create a zip file containing all of your data that you can save to your computer.

## Restore Data

To restore your data, drag and drop the zip file into the Restore Data section and click on **Restore Data**.

We highly recommend that you back up your data before restoring, if possible. Restoring data will replace all existing data.

## Clear Data

If you want to clear all of your data, you can do so by clicking the **Clear Data** button in the **Settings** section. This will delete all of your data and cannot be undone.

We highly recommend that you back up your data before clearing it.

::Resources


---

The Lost & Found helps you find orphaned workspaces for both Msty Studio Desktop and Studio Web. 

For privacy and cross-compatibility reasons, Msty Studio Web stores your data locally in an OPFS database [Read our blog post on how this ensures privacy](https://msty.ai/blog/msty-studio-web-opfs){target="_blank"}. Very rarely, your browser may create a new database unexpectedly. When that happens, your previous workspaces may not appear in the app but **Lost & Found** can help you find and recover them easily.

## How to Use Lost & Found to Recover Workspaces

::steps
### Open Lost & Found
Go to **Settings > Data > Lost & Found**.

### Run a Scan

**For Desktop**

Choose one of:
- **Scan App Data** – searches the app’s internal data directory  
- **Scan Folder** – choose any folder; all subfolders are scanned  

**For Web**
- **Scan Folder** – select a folder using the browser’s directory picker or file-input fallback - see below for instructions on finding and scanning browser file system folders

### Review results and take action 
See below for re-importing found workspaces. 
::

### Scanning Browser File System Data for Msty Studio Web

The **Lost & Found** feature cannot scan your browser’s original `File System` folder directly because it resides in a protected system location. Follow these steps to create a copy of the `File System` folder in an accessible location for scanning:

::steps
1. Find the directory on your computer where your browser stores its `File System` data. Search the web for your specific browser and OS to see where the file system folder is located. 
2. Locate the `File System` folder.
3. Copy the entire folder and paste it somewhere simple and accessible such as your **Desktop** or **Documents**.  
   *Avoid leaving it in protected locations like the system root (`C:\`).*
4. In **Lost & Found**, choose **Scan Folder** and select the copied `File System` folder in its new location.
::


## Scan Results Table

Lost & Found scans specific locations for workspace-like SQLite databases and displays them in a table. For each detected workspace file, it shows:

- **Workspace name**  
- **File name, size, and last modified time**  
- **Status:**  
  - **Current** – matches the currently active workspace  
  - **Linked** – matches an existing workspace in your list  
  - **Found** – not currently in your workspace list  
- **Actions:**
  - **Restore current workspace** (Current only)  
  - **Import as new workspace** (all statuses)

::alert{type="info" icon="tabler:info-circle"}
Only actual Msty Studio workspace databases are shown. The feature never reads files outside the app’s storage or outside folders explicitly selected by the user.
::

## Recover a Workspace

### Restore Current Workspace:

::steps
1. Find a row labeled **Current**  
2. Open the **Actions** menu  
3. Select **Restore current workspace**  
4. Confirm the warning dialog
::
The active workspace is then replaced with the recovered data successfully.

### Import as New Workspace

::steps
1. Open the **Actions** menu
2. Select **Import as new workspace** and a new workspace will be created with the recovered data.
::

::Resources

---

The Enterprise plan is designed for teams and organizations that require additional advanced features; including user management, collaboration tools, audit logs, and additional security features.

To learn more about the Enterprise plan and to get pricing information and request access to a pilot,  please visit the [Msty Studio Enterprise page](https://msty.ai/enterprise){target="_blank"}.

**Enterprise features include everything in Aurum, plus**: 
- [User Management](/enterprise/users)
- [Team Management and Access Controls](/enterprise/teams)
- [Resource Sharing](/enterprise/sharing) including prompts and personas with more to come
- [Storage Options for Team Sharing](/enterprise/storage)
- [Audit logs](/enterprise/audit-log)
- Single Sign-On - Connect to your identity management system, such as Microsoft Azure's EntraID, so that you can manage access via that system and allow authorized users to SSO into Msty Studio. Contact us at [hello@msty.ai](mailto:hello@msty.ai) to learn more. 

## Enterprise Security Information

::alert{type="info" icon="tabler:info-circle"}
In this section, we refer to 'Msty' as the company behind Msty Studio and are no referring to Msty as a product.
::

We at Msty pride ourselves with leaving data where it belongs, in your control and not ours. We take a hands-off approach to user data and conversations while ensuring that we provide a secure and reliable platform for our users.

- **Conversation Data**: Remains on user devices and is not stored on Msty servers. 
    - Any external online models used, such as ChatGPT, Gemini, Claude, etc will be provided conversation and context data as they are external LLM providers. Please refer to their respective privacy policies for information on how they process and store your data. 
    - MCP Tools that connect to external services (such as web search, file retrieval, etc) may also provide data to those external services as needed. Please refer to their respective privacy policies for information on how they process and store your data.
    - Msty DOES NOT 'watch' or 'read' your conversations, in that we do not have access to them and we do not have Telemetry that provides this information.
    - Enterprise Admins can enable or disable the use of external online models for their teams. Including, allowing only specific online models to be used, or none at all.
- **Sharing Resources and Storage**: Enterprise Admins can enable team sharing for Knowledge Stacks, Prompts, and Personas (with more to come). Shared resources are stored on S3 compatible storage that you provide and manage. You can use top-tier providers such as AWS S3, Cloudflare R2, Backblaze B2, DigitalOcean Spaces, Vultr Object Storage, and any other provider that support S3 API. 
    - Msty DOES NOT have access to your S3 compatible storage or the data stored there. 
    - Msty DOES NOT store any of your shared resources on our servers. 
- **User and Team Management**: Users can be added to your Enterprise plan using email invitations and verification codes to authenticate users OR by enabling SSO with your identity provider. 
    - Msty currently stores User, Team, and Audit Log data on our servers to provide these features.
    - Msty uses industry best practices to secure this data and encrypt sensitive data.
    - Msty employs single tenancy for Enterprise plans, meaning your data is stored separately from other Enterprise customers.
    - Again, beyond user, team, storage profiles, and audit log data, Msty DOES NOT have any access to your conversations, shared resources, or anything else users do in Msty Studio. We do not have telemetry that provides this information.

## Manage Enterprise Subscription

![manage subscription](/images/enterprise/org-settings.png)

Subscription management and billing information is only accessible to the **Owner** of the Enterprise account.

From the **Settings > Teams > Settings** page in Msty Studio, select the **Manage Subscription** button to open the subscription management portal.

**From here, you can:**

- Update your billing information and payment method
- Add company information for invoices - please add your tax ID or VAT number if applicable as soon as possible so that they will be included on future invoices
- View and download past invoices
- Cancel your subscription
- Add or remove user seats

::Resources


---

Msty Studio Enterprise allows you to invite and manage users in your Enterprise account.

When purchasing an Enterprise account, you will purchase a set number of user seats. You can invite users up to the number of seats you have purchased.

![user table](/images/enterprise/user-table.png)

## User Roles

There are three users roles in Msty Studio: 

1. **Owner**: there is only one owner per enterprise account at this time. Owners have full access to Msty Studio, including account info and billing.
2. **Admin**: admins have access to all features in Msty Studio, including user and team management. Admins do not have access to subscription management and billing info.
3. **User**: users have access to the features of Msty Studio that are assigned to the team they belong to as determined by an admin.

::alert{type="info" icon="tabler:info-circle"}
User access control is largely determined by teams they are assigned to. See the teams section for more details. 
::

## Invite Users

Owners and Admins can invite users to Msty Studio by clicking the **Invite User** button and entering user's name and email address. 

Invited users will receive an email with a single-use link to sign into Msty Studio. 

::alert{type="info" icon="tabler:info-circle"}
If invite emails or access codes do not arrive, ask users to check their junk folder and have IT whitelist Msty Studio email delivery. This is especially important for security-conscious organizations and education institutions with strict email security protocols. See [Whitelist Msty Studio Emails](/how-tos/whitelist-msty-emails).
::

Users can access Msty Studio Desktop and/or Msty Studio Web according to the team entitlements they are assigned to.

Once a user first signs in, they will then appear as an **Active** user on the users list. 

## Manage Users

Select the ellipsis on right side of a user to see available options. 


- **Promote to Admin**: promote a user to an admin role
- **Demote to User**: demote an admin to a user role (only available for owners)
- **Suspend User**: suspend a user, preventing them from signing in
- **Unsuspend User**: unsuspend a user, allowing them to sign in again
- **Manage Team**: assign or remove a user from teams
- **Edit User**: edit a user's name and email address
- **Delete User**: remove a user from the enterprise account. Removed users will need to be re-invited to regain access.

::alert{type="info" icon="tabler:info-circle"}
Users cannot change their email address. If a user's email address needs to be changed, then an admin or owner will need to modify the email on the user's behalf.
::

## User Onboarding

![enterprise login](/images/enterprise/enterprise-login.png)

When a user is invited, they will receive an email with a **magic link** and **auth code** to sign in.

The link is a one-time use link that will log user into the web version. 

If the link has expired, they can select **Enterprise Login** on the [Msty Studio Web](https://msty.studio){target="_blank"} landing page and then enter their email address to send a code. 

Once they receive the code in their email, on Msty Studio Web, select **Enter Code** and enter the code to sign in.

![login code](/images/enterprise/login-code.png)

### Logging into Msty Studio Desktop
If the user needs to install Msty Studio Desktop, please refer them to [Msty's website](https://msty.ai){target="_blank"} where they can download the latest version for their operating system.

After installing Msty Studio Desktop, they can log into their account from **Settings > License and Access**, select the **Enterprise Login** and then they can enter their email address to send a code.

Once they receive the code in their email, on Msty Studio Desktop, they can enter the code to log in.

::Resources


---

Teams allow you to group users and assign access to features, platforms, models, and storage options.

## Add a New Team

![add new team](/images/enterprise/new-team-slideout.png)

From the **Teams** tab, select the **Create New Team** button to open the new team slide-out form. 

#### Configure the following options: 
- **Team Name**: the name of the team
- **Platform Access**: select which platforms the team can access - Msty Studio Desktop, Msty Studio Web, or both
![user table](/images/enterprise/platform-access.png)
- **Users**: select which users belong to this team
- **Features**: select which features the team members can access 
    - Insights
    - Knowledge Stacks
    - Toolbox
    - Personas
    - Prompts Library
    - Real Time Data
    - Attachments 
    - Forge Mode
    - Remote Service 
    - Turnstile
- **Model Hub**: select which online providers the team can access; they will need to provide their own API keys for these providers
- **Model Providers**: select pre-configured provider models that the team can access - see the **Model Providers** section below for more details
- **Storage**: select which S3 compatible storage provider to use for team sharing of Knowledge Stacks, Prompts, and Personas. You must have already configured a storage provider in **Storage** to select it here.

Once you have configured the team, select the **Create Team** button to create the team.

### Model Providers

![user table](/images/enterprise/share-model.png)

When adding a new online provider and model, you can select the cloud-sync option to share with team. You can also select the cloud icon from the Model Hub > Model Providers list as displayed in the image above. 

This will add a copy of the provider and selected models and make this available to other Admins as well as the account Owner. 

You may then enable this provider and models for specific teams when creating or editing a team.

Team members that have the **user** role can use the shared models; however, they can not edit the provider configurations nor manage the shared models.

## Manage User's Teams

You can manage which teams a user belongs to either from the **Teams** tab or from the **Users** tab. 

From the **Users** tab, select the ellipsis on the right side of a user and select **Manage Team** to open the manage teams modal.

![user table](/images/enterprise/manage-users-team.png)

From this modal, you can select or deselect teams for the user. You may also assign the **Active Team** for the user, which can be used to set default entitlements for the user when they first sign in.

::Resources

---

You can add S3 compatible Storage Profiles using top-tier provider such as AWS S3, Cloudflare R2, Backblaze B2, DigitalOcean Spaces, Vultr Object Storage, and any other provider that support S3 API.

## What can you do with Storage Profiles?

With a Storage Profile assigned to a team, team members can share the following resources using the assigned storage provider:

- Knowledge Stacks
- Prompt Library
- Personas

This allows for increased collaboration and sharing of resources between team members.

::alert{type="info" icon="tabler:info-circle"}
We plan to support additional Msty Studio features for storage and team sharing in the future.
::

## Add New Storage Profile

::steps
1. **Select provider**

You can select from several popular storage providers or select custom S3 compatible provider.
![storage provider selection](/images/enterprise/storage-provider-selection.png)

Providers will have different profile templates according to the selected provider's requirements. Please review their documentation and your account's portal to locate the required information.

2. **Enter the required account information**

![configure storage](/images/enterprise/configure-bucket.png)
**Most will require that you provide the following:** 
- Endpoint url
- Region ID
- Bucket name
- Access Key ID
- Secret Access Key

3. **Test the connection**

Ensure that the provided information is correct by selecting the **Check Connection** button.

4. **Enter a profile name and save**

::

## Using Storage with Msty Studio Web - CORS configuration

Cross-Origin Resource Sharing (CORS) issues may prevent Msty Studio Web users from sharing if your storage provider is not properly configured.

To enable sharing in Msty Studio Web, please update your S3 bucket permissions to allow requests from `msty.studio`.

## Add Storage Profile to a Team

After adding a Storage Profile, you can assign this to a team when [creating or editing a team](/enterprise/teams).


::Resources

---

With a [Storage Profile](/enterprise/storage) assigned to a team, team members can share the following:

- Knowledge Stacks
- Prompt Library
- Personas

This allows for increased collaboration and sharing of resources between team members.

## How to share

With resource sharing, you can share individual resources or a folder of resources.

The same general workflow applies to sharing Knowledge Stacks, Prompts, and Personas.

::steps
1. **Resource Lists**
In the resource lists on the left, meaning the individual resources such as Knowledge Stack, Prompt, or Persona or the folders that contain these resources, you will see share options within the ellipsis menu.

2. **Share Folder or Item to Cloud**
![configure storage](/images/enterprise/ks-share.png)
From the ellipsis menu, select **Share to Cloud** to share the selected item or folder to the cloud storage assigned to your team.

There must be a [Storage Profile](/enterprise/storage) assigned to your team to share resources.

Team members can then access these shared resources from their own accounts by selecting the ellipsis menu and then importing the shared items.
::

## Manage Shared Items

![configure storage](/images/enterprise/manage-shared-items.png)

Admins, Owners, and creators of shared items can select the Manage option to view shared items and remove them from the cloud storage if desired.

Also, source items can be re-shared if they have been updated.

## Refresh Shared Items

Users can refresh the shared items to pull the latest changes. 

If refreshing a folder, all items within the folder will be refreshed. However, items removed from cloud will not remove item from user's local list. 

::alert{type="info" icon="tabler:info-circle"}
If you've modified a shared item locally, refreshing will overwrite your local changes with the version from the cloud. You can always move items to a different folder to prevent overwriting.
::

::Resources

---

Msty Studio Enterprise includes audit logs to help you track important user and team management-level actions in your Enterprise account.

![audit log](/images/enterprise/audit-trail.png)

Audit logs are accessible to **Owners** and **Admins** from the **Teams > Audit Trail** page.

These DO NOT include user actions such as conversations, Knowledge Stack usage, or other actions users take within Msty Studio. We do not have telemetry that provides this information.

However, this information is stored locally on user devices and can be accessed by users or company admins from the user's local Msty Studio installation.

::Resources

---

## Manage License Keys and Devices

If you need to manage your Msty License keys, you can do so by going to our [Activation Management Portal](https://msty.studio/activation-management){target="_blank"}.

Enter the email you used to purchase your Msty Aurum license along with your License Key. 

Msty will send you to either our new activation portal (for Aurum licenses purchased after December 21st, 2025) or to Lemon Squeezy's customer portal where you'll need to provide your email you used for purchase to receive a login link.

You will then be able to manage the devices that your Aurum license key is activated on.

## Manage Aurum Yearly Subscription or View Invoices

If your Aurum License Keys begins with `MSTY-`, then you can manage your yearly subscription or view invoices through our [Stripe Customer Portal](https://billing.stripe.com/p/login/aFa00j7VkeNI6No0lUcQU01){target="_blank"}.

Otherwise, you can manage your subscription and view invoices through our [Lemon Squeezy Customer Portal](https://app.lemonsqueezy.com/my-orders/login){target="_blank"}.

::Resources


---

API keys are required to access the services provided by Online AI services. 

Here's how you can find the API keys for various Online AI services.

## Key Visibility Guide
Some providers may only show you the API key once, while others allow you to view it at any time. We included a key visibility guide for each provider below. 

- **Only Once:** You're only going to see your raw API key once, so make sure you copy it somewhere safe, otherwise you have to delete it and recreate a new one.
- **Anytime:** You're able to see your raw API key in the clear at any time.

## Anthropic

* **API Endpoint:** `https://api.anthropic.com/v1`
* **API Key URL:** https://console.anthropic.com/settings/keys
* **Key Visibility:** Only Once
* **Usage Dashboard:**  https://console.anthropic.com/settings/usage
* **Token Pricing Information:** https://www.anthropic.com/pricing#anthropic-api

## Cohere

* **API Endpoint:** `https://api.cohere.ai/v1`
* **API Key URL:** https://dashboard.cohere.com/api-keys
* **Key Visibility:**
    * Trial: Anytime
    * Prod: Only Once
* **Usage Dashboard:** https://dashboard.cohere.com/billing
* **Token Pricing Information:** https://cohere.com/pricing

## Gemini

* **API Endpoint:** `https://generativelanguage.googleapis.com/v1`
* **API Key URL:** https://aistudio.google.com/app/apikey
* **Key Visibility:** Anytime
* **Usage Dashboard:**  https://console.cloud.google.com/billing/
* **Token Pricing Information:** https://ai.google.dev/pricing (tons of free usage)

## Groq

* **API Endpoint:** `https://api.groq.com/v1`
* **API Key URL:** https://console.groq.com/keys
* **Key Visibility:** Only Once
* **Usage Dashboard:** https://console.groq.com/settings/usage
* **Token Pricing Information:** https://console.groq.com/settings/usage (Scroll down for pricing)

## Mistral AI

* **API Endpoint:** `https://api.mistral.ai/v1`
* **API Key URL:** https://console.mistral.ai/api-keys/
* **Key Visibility:** Only Once
* **Usage Dashboard:** https://console.mistral.ai/usage/
* **Token Pricing Information:**  https://mistral.ai/technology/ (Scroll all the way down to "Pay-as-you-go pricing")

## OpenAI

* **API Endpoint:** `https://api.openai.com/v1/`
* **API Key URL:** https://platform.openai.com/api-keys
* **Key Visibility:** Only Once
* **Usage Dashboard:** https://platform.openai.com/usage
* **Token Pricing Information:** https://openai.com/api/pricing/

## OpenRouter

* **API Endpoint:** `https://openrouter.ai/api/v1`
* **API Key URL:** https://openrouter.ai/settings/keys
* **Key Visibility:** Only Once
* **Usage Dashboard:** https://openrouter.ai/activity
* **Token Pricing Information:** https://openrouter.ai/models (there's a million models here)

## Perplexity

* **API Endpoint:** `https://api.perplexity.ai`
* **API Key URL:** https://www.perplexity.ai/settings/api
* **Key Visibility:** Anytime
* **Usage Dashboard:**  https://www.perplexity.ai/settings/api
* **Token Pricing Information:** https://docs.perplexity.ai/docs/pricing

## Together.ai

* **API Endpoint:** `https://api.together.xyz/v1`
* **API Key URL:** https://api.together.ai/settings/api-keys
* **Key Visibility:** Anytime
* **Usage Dashboard:** https://api.together.xyz/settings/billing
* **Token Pricing Information:** https://api.together.xyz/models

## SambaNova

* **API Endpoint:** `https://api.sambanova.ai/v1`
* **API Key URL:** https://cloud.sambanova.ai/apis
* **Key Visibility:** Only Once
* **Usage Dashboard:** https://cloud.sambanova.ai/usage
* **Token Pricing Information:** https://cloud.sambanova.ai/pricing

## xAI

* **API Endpoint:** `https://api.x.ai/v1`
* **API Key URL:** https://console.x.ai
* **Key Visibility:** Only Once
* **Usage Dashboard:** https://console.x.ai/
* **Token Pricing Information:** https://docs.x.ai/models-and-pricing

(Special thanks to our Discord community member, Frewtloops, for compiling this list!)


---

Azure OpenAI is a Microsoft cloud service that provides access to OpenAI’s powerful language models, such as GPT, through the secure and scalable Azure platform. It’s beneficial because it combines advanced AI capabilities with enterprise-grade security, compliance, and integration tools, making it ideal for businesses to utilize LLM models and AI applications safely and efficiently.

This guide will walk you through the steps to set up Azure OpenAI in Msty Studio.

## Azure Steps :aurum-tag

These steps cover how to setup Azure OpenAI in the Azure portal. These steps assume you have an Azure account and have access to the Azure OpenAI service.

::steps

1. Go to [Azure Portal](https://portal.azure.com/)
2. Search for **Azure OpenAI** in the main search bar at the top
3. Select option to **Create Azure OpenAI** if you don't have an existing Azure OpenAI resource
4. If setting up new Azure OpenAI resource, go through the steps to create a new resource
5. Once the resource is created, select it from the list of resources
6. Towards the top of the resource page, click on **Go to Azure AI Foundry Portal**
   ![foundry button](/images/azure/foundry-button.png)
7. Select **Deployments** from the left menu
8. Select the **Deploy Model** button from the top menu and select either base or fine-tuned model
   ![deploy model](/images/azure/deploy-model.png)
9. From the modal, select the model you want to deploy and click **Confirm** and then **Confirm and Continue**
   ![select model](/images/azure/select-model.png)
10. After the deployment completes, the deployment details section displays a **Target URI** - copy this value
    ![target uri](/images/azure/target-uri.png)
11. Below the Target URI is the **Key** - copy this value as well

::

The **Target URI** has a format like this: 

https://\<your-resource-name\>.cognitiveservices.azure.com/openai/deployments/\<model-name\> ... ?api-version=\<api-version\>

The key parts that we'll want to capture are:

- your resource name
- api-version
- model name


We'll use elements from the target URI and Key in the next steps to set up Msty Studio.

## Msty Studio Steps

Remember to pull the **Target URI** and **Key** from the Azure OpenAI portal before proceeding with these steps.

::steps

1. Go to [Msty Studio](https://msty.studio)
2. Select **Model Hub** from the left menu
3. Select **Add Provider**
4. Select **Azure OpenAI** from the list of providers
5. Enter the **Key** value into the **API Key** field
6. Enter the **Target URI** from the Azure OpenAI Foundry portal into the **Base URL** field, mainly this portion: `https://<your-resource-name>.cognitiveservices.azure.com/openai/`; you do not need anything after `/openai/` in the base url
   OR you can skip the base url and enter the **Resource name** in the corresponding field
7. Optionally, enter the **API Version** in the corresponding field; however, this is typically not required in Azure's latest API versions
8. Select the **Model(s)** that you have deployed in Azure OpenAI - note that all models will be listed but you can only utilize the ones you've deployed for this resource
9. Select **Add Provider** to save the provider
   ![new azure provider](/images/azure/new-azure-provider.png)

::

Now, start a new chat and say hello to your new Azure OpenAI model!

![chat with azure open ai](/images/azure/azure-chat.png)

::Resources


---

Amazon Bedrock is a fully managed service from AWS that makes it easy to build and scale generative AI applications using foundation models (FMs) from leading AI startups and Amazon. It’s beneficial because it provides a secure and scalable environment for deploying, managing, and fine-tuning AI models, making it ideal for businesses to utilize LLM models and AI applications safely and efficiently.

This guide will walk you through the steps to add Bedrock as an LLM provider in Msty Studio.

## Amazon Bedrock Steps :aurum-tag

These steps cover how to setup Amazon Bedrock in the AWS Management Console. These steps assume you have an AWS account and have access to the Amazon Bedrock service.

::steps

1. Go to [AWS Management Console](https://aws.amazon.com/console/)
2. Search for **Amazon Bedrock** in the main search bar at the top and select it
3. Review the **Model Catalog** to see what models are available 
4. Go to **Model Access** and request the models you want to use - it may take a few minutes before your request is granted
5. Grab the **AWS Region** the model is being enabled in, you will need this for the setup in Msty
5. Go to **API Keys**, you'll see that you can either create short-term API keys (recommended by AWS) or long-term API keys

If you wish to use short-term API keys, then you'll need to create temporary access session tokens. 

The [aws cli](https://aws.amazon.com/cli/){target="_blank"} can be used for this purpose by running the following command: 

```bash
aws sts get-session-token
```
Grab the session token which you'll need when setting up Bedrock in Msty. 

6. Ensure that the user is setup in IAM with the appropriate permissions
7. Grab the IAM user's **Access Key ID** and **Secret Access Key** 
8. Back in Bedrock, verify the model(s) you requested access to have been granted
::

You can now continue to Msty for adding Bedrock as a provider. 

## Msty Studio Steps

Remember to grab the IAM user's Access Key ID, Secret Access Key, AWS Region ID, and Session Token if using short-term access.  

::steps

1. Go to [Msty Studio](https://msty.studio)
2. Select **Model Hub** from the left menu
3. Select **Add Provider**
4. Select **Amazon Bedrock** from the list of providers
5. Enter the **Access Key ID** 
6. Enter the **Secret Access Key**
7. If using short-term access, enter the **Session Token**
8. Enter the **AWS Region** (ex: us-east-1)
9. From the **Models** dropdown, select the models that you enabled in Bedrock that you want to make available in Msty
10. Click **Add Provider**

Now, start a new chat and say hello to your new Amazon Bedrock model!

::Resources

---

Msty Sidecar is a companion desktop application that brings powerful local capabilities to Msty Studio Web, enabling features that go beyond what’s possible in a standard web app.

**Before using Sidecar, first attempt to connect using Msty Studio Desktop as outlined in the [Remote Connections guide](/settings/remote-connections).**

Using the Remote Connections feature with Msty Studio Desktop is the recommended approach for most users, as it provides a seamless and integrated experience.

## Studio Web Plus Sidecar :aurum-tag

Sidecar unlocks the following features in Msty Studio Web:

- Enables fetching Real-Time Data from the internet
- Enables setting up [Tools](/toolbox/tools) on your local machine
- Enables local AI model management

::alert{type="info" icon="tabler:info-circle"}
To unlock these features, Studio must be successfully connected to Sidecar. Sidecar serves as a proxy between the Studio web app and your local (or remote) machine, and must remain connected for these features to work.
::

## Download

Please select the download option for your operating system.

::tabs{variant="card" sync="user-os"}
::div{label="Windows" icon="iconoir:windows"}

### Windows

- [Download Msty Sidecar (x64)](https://sidecar-assets.msty.studio/prod/latest/win/auto/MstySidecar_x64.exe)

::

::div{label="Mac" icon="hugeicons:apple"}

### Mac

- [Download Msty Sidecar (Apple Silicon - M1, M2, M3, M4)](https://sidecar-assets.msty.studio/prod/latest/mac/MstySidecar_arm64.dmg)
- [Download Msty Sidecar (Intel Macs)](https://sidecar-assets.msty.studio/prod/latest/mac/MstySidecar_x64.dmg)

::

::div{label="Linux" icon="ph:linux-logo"}

### Linux

- [Download Msty Sidecar (x64 AppImage)](https://sidecar-assets.msty.studio/prod/latest/linux/amd64/MstySidecar_x86_64_amd64.AppImage)
- [Download Msty Sidecar (x64 deb)](https://sidecar-assets.msty.studio/prod/latest/linux/amd64/MstySidecar_amd64_amd64.deb)

::

::

## Getting Started with Local AI Models

After you've downloaded and installed Sidecar, you'll be prompted to continue with setting up your local AI by either downloading Gemma, connecting to Msty App - if you already have Msty App setup and running - or by connecting to Ollama.

For new users, the easiest path is to select option to download Gemma. Once Gemma is installed, you can then go back to Msty Studio and use the local models.

## Connecting Msty Studio Web to Sidecar

Sidecar runs in the background - a Sidecar icon will be visible in your computer's toolbar when it is running.

![Sidecar app in toolbar](/images/sidecar.png)

One of the primary menu options is to **Open Msty Studio**. This will launch Msty Studio on your default browser with a connection to Sidecar pre-established.

You can of course launch a browser and navigate to Msty Studio. However, if for some reason the connection details change for Sidecar, you can select the **Copy Local Connection Info** option to copy it to your clipboard and then use it in Msty Studio to re-establish connection with Sidecar.

## Safari Web Browser

Safari web browser unfortunately has constraints which do not allow for direct access to Msty Studio Desktop or Sidecar.

However, you can still connect Safari using the following methods:

- [Using Remote Connections with tunneling](/settings/remote-connections#connecting-remotely-to-local-ai-including-from-mobile-devices) **RECOMMENDED**
- [Enabling Sidecar's Tunneling Feature](/how-tos/sidecar#connecting-remotely-to-local-ai-including-from-mobile-devices)
- [Using Tailscale](/how-tos/setup-tailscale-for-sidecar)

## Brave Web Browser

If you're connecting to Sidecar from a Brave web browser, disable the shield for Msty Studio. If the shield is enabled, this will block Studio from successfully connecting to Sidecar.

## Connecting Remotely to Local AI - including from Mobile Devices

::alert{type="info" icon="tabler:info-circle"}
This is an **experimental** feature.
::
Sidecar enables you to remotely access your local AI via tunneling - letting you connect from remote devices such as your phone, tablet, or desktop.

::steps

1. From the Sidecar menu, select **Enable Tunneling With Local AI**. This will set up local tunneling and may take a few seconds.
2. Once tunneling has been enabled, you'll see an option to **Copy Tunnel Connection Info**. Click on this and then share the URL to the device you'd like to connect.
3. On your remote device, open a browser and go to [msty.studio](https://msty.studio)
4. You'll first need to **enter a valid Aurum License Key**
5. On the following screen, select **Add Provider**
6. Select provider option for **Msty Sidecar Local AI Proxy**
7. Enter the Proxy endpoint that you copied in step two above and **Add Provider**

You can now remotely access your local AI!
::

## Connecting to Sidecar using Tailscale

Another option for connecting to Sidecar is to use Tailscale.

See the [Tailscale guide](/how-tos/setup-tailscale-for-sidecar) for more information on how to set up Tailscale with Sidecar.

## Starting Sidecar from the Command Line

You can start Sidecar from the command line by running the following command:

```bash
open -a MstySidecar
```

This may come in handy in certain situations, such as if you are experiencing issues with Sidecar detecting services on your local machine, such as NPM, Python, etc.

## Setting a custom token

You can set a custom token for Sidecar by adding a `.token` file to the Sidecar app data directory. On Mac, this is typically located at `~/Library/Application Support/MstySidecar`. On Windows, it is usually found at `%APPDATA%\MstySidecar`.

For a random value, you can use the following command:

```bash
echo -n $(openssl rand -hex 40) > ~/path/to/MstySidecar/.token
```

Then, restart Sidecar to apply the new token. This token will be used for both local connections and remote connections via tunneling.

::Resources


---

[Tailscale](https://tailscale.com) allows you to create a secure network between your devices, making it easy to access information on other devices, from anywhere. This is particularly useful for Sidecar, as it allows you to connect to your local AI models and tools securely.

::alert{type="info" icon="tabler:info-circle"}
Tailscale has a number of features that are still being developed and are in alpha or beta stages. Therefore, these instruction may become outdated as Tailscale releases new features and updates.
::

## Step 1 - Create a Tailscale Account

The first step is to sign up for an account on [Tailscale](https://tailscale.com).

Tailscale is free to get started and they have a generous free tier available for personal use.

## Step 2 - Install Tailscale

The next step is to install Tailscale on your devices. You can do this by going to the [Tailscale download page](https://tailscale.com/download) and selecting the appropriate version for your operating system.

![download Tailscale](/images/tailscale/download-tailscale.png)

**You'll want to download and install Tailscale for each device you want to make available on your Msty network - mainly the device in which Sidecar will be running on and any devices you want to connect to it from.**

After installing Tailscale, you'll need to log in to your Tailscale account on the device.

## Step 3 - Enable Tailscale Serve

On your device that is hosting Sidecar, you'll need to enable Tailscale Serve. This allows Tailscale to proxy traffic to local services running on your machine.

If you are using a Mac, use the following command to create an alias for Tailscale:

```bash
alias tailscale="/Applications/Tailscale.app/Contents/MacOS/Tailscale"
```

Next, run the following command to enable Tailscale Serve:

```bash
tailscale serve
```

This will provide a unique URL to enable Tailscale Serve. Copy and paste the URL into a browser.

![enable https tailscale server](/images/tailscale/enable-serve.png)

Click the **Enable HTTPS** button to enable Tailscale Serve.

## Step 4 - Set path to Sidecar port

Now, set a path that points to the port that Sidecar is running on. This is typically `11932`. To check, ensure Sidecar is running, and then select option to **Copy Local Connection Info**. This will include the port number Sidecar is currently running on.

```bash
tailscale serve --set-path=sidecar 11932
```

Tailscale will now proxy traffic to the port that Sidecar is running on as well as provide a unique URL to access Sidecar.

The response will look something like this:

```bash
Success.
Available within your tailnet:

https://<your machine identifier>.taile5baa0.ts.net/sidecar
|-- proxy http://127.0.0.1:11932
```

## Step 5 - Build your Sidecar connection URL

Take the URL returned from Tailscale Server in the previous steps. Append the token from Sidecar > **Copy Local Connection Info**.

The final URL will look something like this:

```bash
https://<your machine identifier>.taile5baa0.ts.net/sidecar?token=<your token>
```

## Step 6 - Connect Sidecar from another device

Now that you have the URL, you can connect to Sidecar from another device that is also running Tailscale - such as a mobile device or another computer.

On the other device, open a web browser and navigate to [Msty Studio](https://msty.studio).

If this is the first time you are using the device to access Msty Studio, you'll need to enter your Aurum license key - see [Quick Start Guide](/getting-started/quick-start) for more information.

In Msty Studio, click **Modes** on the left menu and select the Edit icon for editing the Sidecar connection.

Paste in the URL you created in the previous step and then select **Save and Connect**.

![connect to sidecar](/images/tailscale/connect-to-sidecar.png)

You should now be connected to Sidecar from the other device. You can now use Sidecar to run local models from your other device.

::Resources


---

The [Live Contexts](/toolbox/live-contexts) feature lets you pull data from external endpoints to provide real-time context when interacting with Personas, LLMs, or other tools. 

The list below provides example endpoints you can explore and test. **Please note:** these are third-party endpoints. We do not maintain them and cannot guarantee the accuracy, availability, or reliability of the data returned.  

Please submit a PR to suggest additions.

| Name | Endpoint |
|------|---------|
| CISA Known Exploited Vulnerabilities | ```https://www.cisa.gov/sites/default/files/feeds/known_exploited_vulnerabilities.json``` |
| Clock | ```https://worldtimeapi.org/api/ip``` |
| COVID Global Status | ```https://disease.sh/v3/covid-19/all``` |
| Current Mars Weather | ```https://api.maas2.apollorion.com/``` |
| Current Natural Events | ```https://eonet.gsfc.nasa.gov/api/v3/events``` |
| Current Weather | ```https://wttr.in/?format=j1``` |
| Crypto Fear / Greed Index | ```https://api.alternative.me/fng/``` |
| Dummy JSON Data | ```https://jsonplaceholder.typicode.com/posts``` |
| Earthquakes | ```https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson``` |
| Food Facts | ```https://world.openfoodfacts.org/api/v0/product/737628064502.json``` |
| Generate UUID | ```https://www.uuidtools.com/api/generate/v4/count/1``` |
| GPS (ISS Now) | ```http://api.open-notify.org/iss-now.json``` |
| HTTP Echo / Request Info | ```https://httpbin.org/get``` |
| IP Address | ```https://api.ipify.org/``` |
| Latest GitHub Events | ```https://api.github.com/events``` |
| Latest NPM Package Metadata Events | ```https://registry.npmjs.org/react/latest``` |
| Latest PyPI Package Metadata Events | ```https://pypi.org/pypi/requests/json``` |
| Latest Reddit Posts | ```https://www.reddit.com/r/news/new.json?limit=25``` |
| Latest Stack Overflow Posts | ```https://api.stackexchange.com/2.3/questions?order=desc&sort=activity&site=stackoverflow&pagesize=10``` |
| NASDAQ Listings | ```https://www.nasdaqtrader.com/dynamic/SymDir/nasdaqlisted.txt``` |
| Network Diagnostics | ```https://www.cloudflare.com/cdn-cgi/trace``` |
| Not NASDAQ Listings | ```https://www.nasdaqtrader.com/dynamic/SymDir/otherlisted.txt``` |
| Random Chuck Norris Fact | ```https://api.chucknorris.io/jokes/random``` |
| Random Fact | ```https://uselessfacts.jsph.pl/api/v2/facts/random``` |
| Random Joke | ```https://official-joke-api.appspot.com/random_joke``` |
| Random Number | ```https://www.randomnumberapi.com/api/v1.0/random``` |
| Random Person (JSON) | ```https://randomuser.me/api/``` |
| Random Word | ```https://random-word-api.herokuapp.com/word``` |
| Top Crypto | ```https://api.coinlore.net/api/tickers/``` |
| US Weather Alerts | ```https://api.weather.gov/alerts/active``` |
| USD Exchange Rates | ```https://open.er-api.com/v6/latest/USD``` |
| World Bank Country Data | ```https://api.worldbank.org/v2/country/all?format=json``` |
| World Bank Indicators | ```https://api.worldbank.org/v2/indicator/SP.POP.TOTL?format=json``` |

---

We are now crowd-sourcing language support for Msty Studio. If you want to see Msty Studio support your preferred languages, please feel free to make a contribution [on our repo page](https://github.com/cloudstack-llc/msty-studio-i18n ){target="_blank"}. 

Right-to-left (RTL) languages are also welcome! We already support a RTL UX.

Your help is greatly appreciated!

## Support Languages
The following languages are currently supported in Msty Studio:
- USA English
- UK English
- Spanish
- French
- German
- Russian
- Japanese
- Chinese (Simplified)
- Portuguese (Brazilian)

## Developer Mode 

You can toggle Developer Mode in Msty Studio to help with translations. This will show you the keys for each text element in the app, which can help you identify what needs to be translated.

You can also download a template JSON file to work from and **import Locale** JSON files to view your translations in Msty Studio. 

::alert{type="info" icon="tabler:info-circle"}
Imported Locale files will not persist through app restarts. This is meant for testing purposes only. To make permanent contributions, please submit a PR on our [i18n repo](https://github.com/cloudstack-llc/msty-studio-i18n ){target="_blank"}.
::

::Resources

---

Msty publishes a combined plain-text version of the Studio docs that AI tools can fetch and use as context.

Use this URL when an AI tool asks for a documentation URL, knowledge source, live context endpoint, custom docs source, or reference file:

```txt
https://docs.msty.ai/studio/studio-docs.txt
```

This file includes the published Msty Studio docs in one AI-friendly text file. Pointing an AI tool to this URL helps it answer questions using the latest published Studio documentation instead of relying only on the model's built-in knowledge.

## When to Use This

Use the Studio docs URL when you want an AI tool to help with:

- Setting up Msty Studio Desktop or Studio Web
- Connecting online providers or local models
- Understanding Workspaces, Knowledge Stacks, Toolbox, Agent Mode, or Settings
- Creating support replies or onboarding instructions
- Building workflows that depend on current Studio features
- Comparing Studio behavior against older Msty App documentation

## Add the Docs URL to an AI Tool

::steps

1. Copy the Studio docs URL:

   ```txt
   https://docs.msty.ai/studio/studio-docs.txt
   ```

2. Open the AI tool where you want to use Msty Studio docs.
3. Look for an option such as **Add URL**, **Add source**, **Custom docs**, **Knowledge base**, **Live context**, **Web context**, or **Reference material**.
4. Paste the Studio docs URL.
5. If the tool has a refresh, crawl, sync, or re-index option, run it so the latest published docs are loaded.
6. Ask the AI tool to answer using the Msty Studio docs source.

::

## Suggested Prompt

Use a prompt like this after adding the docs URL:

```txt
Use the Msty Studio docs at https://docs.msty.ai/studio/studio-docs.txt as your source of truth.
Answer my questions based on those docs. If the docs do not cover something, say that clearly instead of guessing.
```

For support or troubleshooting workflows, you can be more specific:

```txt
Use the Msty Studio docs source to help me troubleshoot this issue.
Give step-by-step instructions and mention which Studio feature or settings area each step applies to.
```

## Use the LLM Index

If your AI tool prefers an index of pages instead of one full text file, use:

```txt
https://docs.msty.ai/studio/llms.txt
```

The `llms.txt` file lists the main docs pages and links to the full docs text file.

## Tips

- Use the full docs text file when the AI tool can ingest large text sources.
- Use `llms.txt` when the tool expects a compact docs index.
- Refresh or re-index the source periodically if the AI tool caches external URLs.
- Do not paste license keys, API keys, or private workspace data into third-party AI tools.
- If a tool cannot fetch external URLs, download the text file and upload it manually as a document source.

::Resources


---

Msty Studio sends important account and access emails from:

```txt
Msty Studio <hello@notifications.msty.studio>
```

These emails can include license key messages, login links, and Enterprise access codes. If you do not receive one of these emails, use the steps below before requesting a new code or contacting support.

## Check Your Inbox

::steps

1. Confirm the email address entered in Msty Studio is correct.
2. Check your **Junk**, **Spam**, **Promotions**, **Quarantine**, or **Clutter** folders.
3. Search your mailbox for `hello@notifications.msty.studio` or `Msty Studio`.
4. If you find the email outside your inbox, mark it as **Not Spam** or move it to your inbox.

::

## Ask IT to Whitelist Msty Studio

For Enterprise users, company email filters may block, quarantine, or delay access-code emails before they reach the user's mailbox.

Security-conscious organizations may need to whitelist Msty Studio on their side before these emails can be delivered. This is especially common for education institutions and other organizations with strict email security protocols.

Ask your IT or email administration team to check whether messages from Msty Studio are being blocked, quarantined, trapped, or delayed by:

- Email security gateways
- Spam filters
- Mail-flow rules
- Quarantine policies
- Phishing or impersonation protection tools

Your IT team should whitelist or allowlist this sender:

```txt
hello@notifications.msty.studio
```

If possible, allow messages from the `notifications.msty.studio` sending domain as well.

## If Emails Still Do Not Arrive

If the email is not in junk or quarantine and IT confirms the sender is not blocked, contact Msty:

```txt
hello@msty.ai
```

Include the email address that should receive the message and whether you are waiting for a license key, login link, or Enterprise access code.

::Resources


---

Model Hub is the central place to connect providers, install local models, compare model options, and tune model behavior.

![adding new models](/images/model-hub.png)

## Model Hub Workflow

For most users, model setup follows this order:

1. Open **Model Hub** from the sidebar or Command Palette
2. Connect an online provider, install a local model, or do both
3. Monitor active service and model downloads from the Model Hub badge
4. Set model defaults and purpose tags
5. Tune model parameters or apply a preset when needed

## Model Hub Sections

- **Model Providers**: Connect and manage hosted providers and their models
- **Local Models**: Discover, install, import, and manage models across Ollama, MLX, and Llama.cpp
- **Model Squad**: Assign preferred models to specific tasks
- **Model Matchmaker**: Get guided recommendations based on your needs
- **Cost Calculator**: Estimate hosted model usage costs
- **VRAM Calculator**: Estimate whether local models fit your hardware
- **Context Explorer**: Learn how context windows and token usage affect conversations

## Active Downloads

When a model or local service is installing, the Model Hub sidebar icon displays an activity badge.

- Select the badge to return to Model Hub
- View active local and remote install counts
- Open the active installs panel to review progress or cancel an installation

## Online and Local Models

Msty Studio supports two model sources:

- **Online Providers**: Hosted APIs that you connect with API keys
- **Local Models**: Models you install and run on your own machine

### Online Providers

Use online providers when you want quick access to hosted models and managed infrastructure.

Go to [Online Providers](/managing-models/online-providers) for supported providers, setup steps, and OpenAI-compatible bring-your-own endpoints.

### Local Models

Use local models when you want more control over privacy, offline access, and local performance tuning.

Go to [Local Models](/managing-models/local-models) for the unified Featured, Installed, Model Search, and Import workflows.

## Find the Right Model Faster

Use [Model Matchmaker](/managing-models/model-matchmaker) when you are unsure which model to start with.

## Organize Models for Daily Use

### Set a Default Model

In the conversation model selector, click the star icon to set a default model.

### Rename Models and Providers

In Model Hub or the conversation model selector, click the edit icon to rename a provider or model.

### Set Model Purpose Tags

Purpose tags help categorize what each model is best at.

![model purpose](/images/model-purpose.png)

- **Text**: General text generation and understanding
- **Coding**: Code generation, analysis, and debugging
- **Tools**: Tool/API usage with Toolbox (MCP)
- **Image**: Image generation models (see [Image Generation](/managing-models/image-gen))
- **Vision**: Image understanding and analysis
- **Embedding**: Retrieval and vector workflows, including Knowledge Stacks
- **Streaming**: Near real-time data processing
- **Thinking**: Reasoning models with extended thinking controls

### Provider and Model Logos

You can change provider and model logos from the edit dialog in Model Hub.

![change model logo](/images/change-provider-model-logo.png)

::Resources


---

Online providers let you use hosted models with your API keys, without running model inference on your device.

Need API key links? See [Find Online Model API Keys](/how-tos/find-api-keys).

## Connect an Online Provider

::steps
### Open Model Providers
Go to **Model Hub > Model Providers**.

### Add Provider
Select **Add Provider** and choose your provider.

### Enter Credentials
Add your API key (and any required endpoint details), then save. If you need key locations, use [Find Online Model API Keys](/how-tos/find-api-keys).

### Test in Chat
Open a conversation and select one of the provider's models.
::

## Supported Providers

Msty Studio supports these online provider options:

- Anthropic
- Cohere
- Gemini
- Groq
- Mistral AI
- OpenAI
- OpenRouter
- Perplexity
- Together AI
- SambaNova
- xAI
- Azure OpenAI
- Amazon Bedrock

For key locations and endpoint references, see [Find Online Model API Keys](/how-tos/find-api-keys).

## Bring Your Own Provider

If your provider exposes an OpenAI-compatible API, you can connect it by using an OpenAI-compatible endpoint in Model Providers.

This is useful for:

- Self-hosted gateways
- Enterprise AI platforms
- Private inference endpoints that follow the OpenAI API format

## Manage Provider Setup

After connecting, you can:

- Rename providers and models for readability
- Set a default model in chat
- Apply model purpose tags from [Managing Models](/managing-models)
- Apply model-parameter presets, including supported provider-native tools

## Provider-Native Tools

Some hosted providers expose tools directly through their model APIs. These tools run through the provider rather than through an Msty Toolbox toolset.

Msty Studio includes model-parameter presets for commonly supported native tools:

| Provider | Included native-tool presets |
| --- | --- |
| OpenAI | Web Search, Code Interpreter |
| Anthropic / Claude | Web Search, Web Fetch, Code Execution |
| Google Gemini | URL Context, Google Search with URL Context |
| xAI | Responses API with Web Search |
| Groq | Browser Search |

### Apply a Native-Tool Preset

::steps
### Select a compatible model
Open a conversation and select a model from the supported provider.

### Open Model Parameters
Select the model-parameters button beside the model selector.

### Choose a preset
Open **Presets** and select the provider-native tool preset, such as **OpenAI with Web Search** or **Claude with Code Execution**.

### Apply the parameters
Select **Apply**, then send a prompt that can use the enabled capability.
::

When a response uses a native tool, supported tool results and grounding sources appear with the response.

::alert{type="info" icon="tabler:info-circle"}
Native-tool availability depends on the provider, model, API account, region, and current provider capabilities. A preset can be available even when a specific model does not support every configured tool.
::


---

Local models run on your own machine, giving you more control over privacy, performance, and offline workflows.

Msty Studio provides one unified Local Models area for models running through **Ollama**, **MLX**, and **Llama.cpp**.

## Open Local Models

Open **Model Hub > Local Models**.

The Local Models area has four tabs:

- **Featured**
- **Installed**
- **Model Search**
- **Import**

## Featured

Featured provides a curated catalog of models with available Ollama, GGUF/Llama.cpp, and MLX formats grouped together.

- Use the engine and format filters to narrow the catalog
- Review model purpose, size, and hardware-fit information
- Install using the recommended engine or choose another available format
- If the selected engine is not installed, Msty sets up the engine before installing the model

On Apple Silicon, Msty generally recommends MLX when an MLX format is available. Recommendations on other systems depend on the available hardware and supported engines.

If you are unsure which model best fits your use case, use [Model Matchmaker](/managing-models/model-matchmaker).

## Installed

Installed combines models from all managed local engines into one list.

- Filter or browse models without switching between engine-specific pages
- Review the engine, model location, and configuration
- Rename a model or update its purpose tags
- Edit supported model configuration and chat-template settings
- Uninstall a model

## Model Search

Model Search combines local model discovery into one workflow.

- Search the Ollama registry and Hugging Face
- Filter results by Ollama, GGUF, or MLX format
- Install directly to a compatible engine
- Choose between Ollama and Llama.cpp when a GGUF model supports both paths

## Import

Use Import for models already stored on your computer.

### Import a GGUF file

1. Open **Model Hub > Local Models > Import**.
2. Select **Select GGUF File**.
3. Choose the `.gguf` file.
4. Msty imports it into an available compatible engine or guides you through engine setup.

### Import a Safetensors or MLX directory

1. Open **Model Hub > Local Models > Import**.
2. Select **Select Directory**.
3. Choose the model directory containing its Safetensors or MLX files.
4. Msty detects the model format and uses an available compatible engine.

## Installation Progress

Model and service installations continue while you use other areas of Msty Studio.

- The Model Hub sidebar badge shows the number of active installs
- The active installs panel shows download progress
- Downloads can be cancelled from the active installs panel
- Completed models appear in the Installed tab

## Choosing an Engine

### Ollama

Use Ollama for broad model availability and a straightforward local inference workflow. Msty Studio's managed Ollama integration is labeled **Local AI** in service settings.

### MLX

Use MLX on Apple Silicon for models optimized for Apple's unified-memory hardware.

### Llama.cpp

Use Llama.cpp for GGUF models, flexible hardware support, and deeper runtime controls.

## Manage Local Services

Local engine service controls remain available in Settings:

- **Settings > Local AI**
- **Settings > MLX Service**
- **Settings > Llama.cpp Service**

Use these pages to review service health, endpoints, versions, logs, start/stop controls, and supported acceleration options.

## Llama.cpp Model Parameters

When a Llama.cpp model is selected in chat, open **Model Parameters** for Llama.cpp-specific settings:

- **Num ctx** controls the runtime context window
- **Truncate Middle** keeps early and recent context while trimming the middle
- **Truncate Old** removes the oldest messages first
- **None** disables automatic history trimming and may exceed the model context limit

## General GPU Support

If your system has a compatible GPU, enable supported acceleration from the relevant service settings.


---

Integrate models from supported CLI applications directly into Msty Studio. This integration supports multiple CLI providers and makes their models available for conversations.

### Supported CLI Providers

- Claude Code
- Codex
- Google Gemini
- iFlow
- Github Copilot
- Antigravity

## Link CLI Provider

::steps
### Open CLI Settings
Go to **Settings > Vibe CLI Proxy**.

### Authorize
Under Authentication, select your provider and click **Authorize**.

### Complete Flow
When you connect, a browser window opens for the selected provider, allowing you to complete the authorization and sign-in process.

::

## Use CLI Models

::steps
### Select Model
In any conversation, open the model selector.

### Choose Provider
Models from authorized CLI providers will appear in the list. Select one to begin chatting.
::

::alert{type="info" icon="tabler:info-circle"}
CLI models work alongside your other configured models, no extra setup needed after authorization. Enabled CLI providers will also appear in the Model Hub.
::


---

Model Matchmaker helps you choose a starting model when you are not sure which one to use.

Set your priorities, review ranked suggestions, then test the top picks in real conversations.

![msty matchmaker](/images/matchmaker.png)

## When to Use Matchmaker

Use Matchmaker when you:

- Are adding a new provider and need a starting model
- Need a fast recommendation instead of trial-and-error
- Want to compare candidates before setting defaults

## How Matchmaker Works

::steps
### Open Matchmaker
Go to **Model Hub > Matchmaker**.

### Set Priorities
Choose what matters most for your task.

### Review Ranked Models
Matchmaker returns ordered suggestions based on your priorities.

### Validate in Chat
Test top models with real prompts in [Conversations](/conversations/main-chat), [Split Chat](/conversations/split-chat), or [Turnstiles](/add-ons/turnstiles).
::

![msty matchmaker ranked models](/images/ranked-models.png)

## Recommended Follow-Up

After choosing a model, set it as default or tag its purpose from [Managing Models](/managing-models).


---

Image generation can be accomplished with compatible models.

![image generation update car color](/images/img-gen/image-gen-cars.png)

## Set 'Image' Purpose

Most models capable of image generation will come with **image** already enabled as a model's purpose.

However, if you are using a model, or have added a custom model, where you know that the model supports image generation, then you'll need to enable **image** as a purpose for the model.

### Adding custom model

When adding a custom model, select **image** as a purpose.
![add custom model](/images/img-gen/add-custom-model.png)

### Updating existing model

To update purposes for an existing model, in the conversation area, click on the model selector, find the model you want to update, and then click on the edit icon.

This will open a modal where you can update the model's purpose.

Be sure to appropriately select purposes based on if the model is image-only or if it is multimodal.

::alert{type="info" icon="tabler:info-circle"}
Setting purpose appropriately based on if model is image-only or multimodal impacts how Msty handles the image generation request. If you encounter an error, double check the Model's purpose is configured correctly.
::

#### Image-only models

It is very important that if the model is an image-model only, meaning the model doesn't have multimodal functionality, then ensure that **only** image is selected.

![image generation only models](/images/img-gen/image-only-model.png)

#### Multimodal models

Likewise, if the model has multimodal functionality, then ensure that more than just image is selected as a purpose. Such as, most multimodal models that support images are also likely to support text.

![multimodals](/images/img-gen/add-purpose-to-existing-model.png)

## Advanced configurations

Not all models support advanced configurations - such as, these configurations may likely work for OpenAI models but may not work for Gemini.

Advanced configurations can be included as model parameters.

![model params](/images/img-gen/model-params.png)

### Aspect Ratio

`size : 1536x1024`

### Number of images generated

`n: 2`

::Resources


---

Insights provides detailed analytics on token usage patterns, helping you understand consumption habits across different models. You can also view cost estimates and usage breakdowns by specific models, enabling more informed decision-making about AI tool usage.

::alert{type="info" icon="tabler:info-circle"}
Costs and token usage are estimations only. Please refer your model provider account for accurate token usage and costs.
::

## Summary :aurum-tag

![token and cost summary](/images/tokens-costs.png)

The **Summary** tab provides an overview of token usage and cost estimates. You can even filter by date range to see how usage has changed over time - including a temperature map visualization of day-by-day usage.

## Provider :aurum-tag

![provider model insights](/images/provider-insights.png)

The **Provider** tab provides more detailed insights into token usage by Provider. You can further break down usage by individual models, allowing you to identify which models are consuming the most tokens. This helps in optimizing costs and understanding model-specific usage patterns.

Also provided are graphs displaying model throughput and latency, which can help you identify any performance issues or bottlenecks in model usage.

::Resources


---

Wondering what the advanced settings are and how to use them? We've outlined the most common advanced settings in our [The AI Settings Dictionary](https://msty.ai/blog/the-ai-settings-dictionary) blog post. Please check out this article for the most common settings - in which Msty offers quick configs for these common settings.

This document will cover the **even more advanced** settings that are not included in the dictionary. These settings you'd typically add as json to the **Advanced Parameter** or **Provider Options** sections of the Model Parameters section.

Please note that these settings are _generally_ available across models; however, a model may not support all (or any) of these. If you try to add them to a model that doesn't support them, they will be ignored or an error may be thrown. Please check the documentation for the model provider you are using for their available settings.


## Thinking Effort

See the [Thinking Effort](/managing-models/thinking-effort) docs for more information on how to use the thinking effort feature.


## Advanced Runtime Configurations

```json
{
  "runtimeConfig": {
    "priority": "standard", // Options: "low", "standard", "high"
    "timeout": 60000, // Request timeout in milliseconds
    "maxRetries": 3, // Maximum retry attempts
    "stream": true, // Enable streaming responses
    "streamChunkSize": 16, // Number of tokens per streaming chunk
    "streamLatency": "low", // Options: "low", "balanced", "consistent"
    "caching": {
      "enabled": true, // Enable response caching
      "ttl": 3600 // Cache time-to-live in seconds
    },
    "quotaManagement": {
      "tokensPerMinute": 10000, // Rate limit for tokens
      "requestsPerDay": 1000 // Daily request limit
    },
    "logging": {
      "level": "info", // Options: "debug", "info", "warn", "error"
      "includePrompts": false, // Include prompts in logs
      "includeResponses": false // Include responses in logs
    }
  }
}
```

## Memory and Context Configurations

```json
{
  "contextConfig": {
    "maxTokens": 128000, // Maximum context window size
    "retentionStrategy": "recency", // Options: "recency", "importance", "hybrid"
    "compressionRatio": 0.8, // Context compression ratio (0.0-1.0)
    "memoryOptimization": "auto", // Options: "auto", "aggressive", "conservative"
    "contextPrioritization": [
      // Priority order for context management
      "user_instructions",
      "recent_exchanges",
      "relevant_facts",
      "system_instructions"
    ]
  }
}
```

## Multimodal Configurations

```json
{
  "multimodalConfig": {
    "visionEnabled": true, // Enable vision capabilities
    "imageAnalysisDetail": "high", // Options: "low", "medium", "high"
    "imageGenerationEnabled": false, // Enable image generation
    "audioProcessingEnabled": false, // Enable audio processing
    "videoAnalysisEnabled": false, // Enable video analysis
    "modalityPreference": "balanced" // Options: "text", "visual", "balanced"
  }
}
```

## Output Formatting Configurations

```json
{
  "outputConfig": {
    "responseFormat": "markdown", // Options: "markdown", "plain", "json", "xml", "html"
    "verbosityLevel": "concise", // Options: "minimal", "concise", "detailed", "comprehensive"
    "structurePreference": "narrative", // Options: "narrative", "analytical", "bullet", "dialog"
    "citationStyle": "academic", // Options: "none", "informal", "academic", "legal"
    "languageModel": "formal", // Options: "casual", "formal", "technical", "creative"
    "maxOutputTokens": 4096 // Maximum response length
  }
}
```

## Safety and Guardrail Configurations

```json
{
  "safetyConfig": {
    "contentFilters": {
      "harmfulContent": "strict", // Options: "off", "standard", "strict"
      "hateContent": "standard", // Options: "off", "standard", "strict"
      "sexualContent": "standard", // Options: "off", "standard", "strict"
      "violenceContent": "standard" // Options: "off", "standard", "strict"
    },
    "topicRestrictions": ["weapons", "illegal_activities"],
    "refusalBehavior": "explain", // Options: "explain", "redirect", "minimal"
    "userVerification": false, // Enable user verification for sensitive requests
    "contentWarnings": true // Show content warnings when appropriate
  }
}
```

## Sampling Configurations

```json
{
  "samplingConfig": {
    "temperature": 0.7, // Controls randomness (0.0-1.0)
    "top_p": 0.9, // Nucleus sampling parameter (0.0-1.0)
    "top_k": 40, // Limits vocabulary to top K tokens
    "frequencyPenalty": 0.5, // Penalizes repetition (0.0-2.0)
    "presencePenalty": 0.5, // Penalizes token reuse (0.0-2.0)
    "deterministicSampling": false, // Forces deterministic outputs
    "seed": 123456 // Random seed for reproducibility
  }
}
```

## System Behavior Configurations

```json
{
  "behaviorConfig": {
    "personality": "helpful", // Options: "helpful", "concise", "creative", "analytical"
    "roleplayMode": false, // Enable character roleplay capabilities
    "expertiseDomains": ["coding", "science", "math"],
    "conversationalStyle": "balanced", // Options: "formal", "casual", "balanced", "technical"
    "initiativeLevel": "responsive", // Options: "passive", "responsive", "proactive"
    "opinionExpression": "neutral", // Options: "neutral", "balanced", "opinionated"
    "uncertaintyHandling": "transparent" // Options: "confident", "transparent", "conservative"
  }
}
```

## Thinking and Reasoning Configurations

```json
{
  "thinkingConfig": {
    "thinkingBudget": 0, // Disable thinking mode (0) or set custom budget (positive integer)
    "thinkingDepth": "deep", // Options: "shallow", "medium", "deep"
    "enableAutoThinking": false, // Auto-enable thinking for complex queries
    "thinkingStrategy": "structured", // Options: "structured", "exploratory", "critical"
    "reasoningEffort": "low", // Controls effort spent on reasoning
    "microstat": true // Enable fine-grained statistical reasoning
  }
}
```

## Tool Use and Integration Configurations

```json
{
  "toolConfig": {
    "enabledTools": ["calculator", "web_search", "code_execution"],
    "toolCallThreshold": 0.7, // Confidence threshold for tool calling (0.0-1.0)
    "maxToolCalls": 5, // Maximum number of tool calls per request
    "autoToolSelection": true, // Automatically select appropriate tools
    "toolPreferences": {
      "preferred": ["calculator"], // Tools to prioritize
      "fallback": ["web_search"] // Tools to use as fallback
    }
  }
}
```

::Resources


---

Many reasoning models allow you to adjust the thinking effort of the model. This feature allows you to control how much time and effort the model spends reasoning about a response before generating it.

Please note that not all models support reasoning and that model providers may have different configurations for thinking effort. The "thinking" text may also not be returned for all models as well. 

## Set Model Purpose with Reasoning
In order to adjust reasoning and thinking effort, you must first enable **Thinking** as a model's purpose. This is done by editing a model from the model selection dropdown list, then selecting the edit icon, and then enabling **Thinking**. 

![model purpose](/images/thinking-effort/thinking-purpose.png)

## Set Thinking Effort
Once Thinking is enabled, you can set the thinking effort for the model. This can be done by selecting the **Thinking Effort** dropdown in the model settings.

![thinking effort parameter](/images/thinking-effort/thinking-parameter.png)

## Providers
Providers may support different thinking effort configurations. The following providers are known to support thinking effort. However, not all models within these providers support thinking effort configurations. Please check the provider and their model documentation for more details. You will likely see an error message returned when chatting if you try to set thinking effort on a model that does not support it.

### Key
Use the following key to understand the thinking effort support for each provider below. 

- **None**: no thinking effort is applied, model will respond immediately without any reasoning
- **Default**: the default thinking effort configuration determined by the provider
- **Think Lightly**: a light reasoning effort, model will take a short time to respond with minimal reasoning
- **Think Moderately**: a moderate reasoning effort, model will take a longer time to respond with some reasoning
- **Think Deeply**: a deep reasoning effort, model will take the longest time to respond with extensive reasoning
- **Dynamic**: the model will dynamically adjust the thinking effort based on the complexity
- **Exclude**: the model performs its default reasoning effort, but does not return the reasoning text

### Ollama / Msty Models
Supports: 
- None
- Default

### OpenAI Compatible Models
Supports: 
- None
- Default

### OpenAI / ChatGPT
Supports: 
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### Anthropic / Claude
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### Google Generative AI / Gemini
Supports: 
- None 
- Default
- Think Lightly
- Think Moderately
- Think Deeply
- Dynamic

::alert{type="info" icon="tabler:info-circle"}
Gemini 2.5 Pro does not allow for thinking to be disabled
::

### xAI
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### OpenRouter
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply
- Exclude

### Mistral AI
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### Perplexity
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### Groq
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### Cohere
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### Azure OpenAI
Supports: 
- Default
- Think Lightly
- Think Moderately
- Think Deeply

### DeepSeek
Supports: 
- None
- Default
- Think Lightly
- Think Moderately
- Think Deeply

::Resources

---

Context Explorer helps you understand how model context size, VRAM, concurrency, and engine behavior interact before you run real workloads.

Open it from **Model Hub > Context Explorer**.

## Major Parts

### Guided modes
Start with guided paths like **Fit**, **Serve**, and **Learn**, or jump directly into **Free Explorer**.

### Interactive lessons
Use short lessons to learn context budgeting, overflow behavior, and concurrency tradeoffs.

### Engine behavior simulation
Compare behavior across Ollama, vLLM, MLX, and llama.cpp, including overflow handling and context controls.

### Scenario presets
Load presets, adjust context length and concurrency, then simulate to see memory impact and fit status.

## Using Context Explorer

1. Pick an engine, model size, and hardware profile.
2. Adjust context length, precision, and concurrency.
3. Run simulations and inspect memory buckets.
4. Check fit status before applying similar settings in production.

[Image placeholder: Context Explorer showing memory bucket bar and engine controls]

## Tip

Use Context Explorer when tuning local models for multi-user or long-context workflows.


---

Conversations in Msty Studio are designed to be intuitive and user-friendly, allowing you to engage with the selected model seamlessly.

## Choose a Conversation Type

Use this quick guide to decide where to start:

- **Normal Conversations** ([Conversations](/conversations/main-chat)): Best for everyday chatting, drafting, Q&A, and iterative work with one model.
- **Persona Conversations** ([Persona Conversations](/conversations/persona-conversations)): Best when you want a conversation guided by a specific role, voice, or expertise.
- **Crew Mode Conversations** ([Crew Conversations](/conversations/crew-chats)): Best when you want multiple personas to respond to the same prompt so you can compare perspectives.
- **Agent Mode Conversations** ([Agent Mode](/agent-mode/agent-mode)): Best for multi-step tasks where an agent plans, uses tools, and executes with less manual steering.

If you are not sure where to begin, start with a normal conversation and move to Personas, Crew Mode, or Agent Mode as your task becomes more structured.

## Start a New conversation

Select **New** button at the bottom of the Projects panel to start a new chat. This will open a new standard chat view. 

## Main Chat Features

![Conversations](/images/conversations.png)

### Sticky prompts

Setting a **Sticky Prompt** can be accessed from the ellipsis icon menu. When a sticky prompt is pinned, it is added to the beginning of each new message while ignoring any previous ones. This effectively makes the conversation focused on one active context. System prompt is always included in the context.

### Attachments

Attach files, images, websites, and YouTube links to enhance your conversation. Reusable attachments are managed in [Context Studio](/studios/context-studio). Check out [Attachments](/add-ons/attachments) for chat-level attachment details.

### Real-time Data

Have your model scan the web for real-time data. This feature is available when using [Remote Connections](/settings/remote-connections) or [Msty Sidecar](/how-tos/sidecar).

Check out [Real-Time Data](/add-ons/real-time-data) for more detail.

### Personas

Add a persona to a conversation by selecting the Persona icon and then selecting a Persona to include.

You can also type the **@** symbol to quick select a Persona.

There Persona tab that appears above message entry area provides additional options.

#### Send Persona prompt

Selecting the up arrow will send the prompt assigned to the Persona to the conversation. This is handy if you want to quickly get a response that is directed by the Peronas prompt from the model.

#### Context Message Count

This limits the messages sent with messages to the last number of messages entered.

By default, all prior messages in the conversation is sent. If you'd like to limit context to only the most recent message, then you can enter **1**, for example.

#### Auto Responder :aurum-tag

When **Auto Responder** is enabled, the Persona will react to a conversation between you and the model you are chatting with.

Think of it as a Persona that is providing commentary to a conversation that it is listening in on but not actively participating in.

This can come in handy in situations where you want a Persona to act as a fact-checker, for example, where the Auto Responder Persona fact-checks the responses from a model.

### Prompt Library

Select the Prompts Library icon to search for prompts you have added to the library. You can then select a prompt to enter it into the chat window.

In the chat window, you can also type **/** to quick search for a prompt.

### Toolsets and Live contexts

Include [Toolsets](/toolbox/toolsets) and [Live Contexts](/toolbox/live-contexts) in your conversation to amp up the power of your conversation.

Tools add MCP capabilities to your conversations and Live Contexts allows you to incorporate data gathered from APIs.

### Turnstiles

Include [Turnstiles](/add-ons/turnstiles) to get into an Agent-like mode. This allows you to have a conversation with a model that is more focused on the task at hand, rather than just generating text.

### Model selection

Select the model you want to use for your conversation. You can also set a default model by selecting the star icon next to the model name.

### Model parameters

Adjust the model parameters to customize the behavior of the model. You can set the temperature, top-p, and other parameters to control the output of the model.

### System prompt

Set a system prompt to provide context for the conversation. This prompt is always included in the context and can be used to guide the model's responses.

## Project Context

When you create a new project, you can enable the project context to be included in conversations. This allows you to have a shared context across all conversations in the project.

Specifically, the project's **title** and **description** are included as context when this option is enabled. If the conversation in a child project, then the parent project's title and description are also included. 

![Project Context](/images/project-context.png)

By default, the project context is disabled. Edit the project folder to enable project context. 

## Export and Import Conversations

Use the conversation menu to export a conversation as JSON or as a portable `.mstyconv` package. Imports are added to a selected project from that project's menu.

See [Conversation Export and Import](/conversations/export-import) for attachment handling, format guidance, and Media Studio session portability.

## Mini Map - Conversation Navigation

Mini Map provides quick navigation to different parts of a long conversation.

![mini map](/images/mini-map.png)

Enable Mini Map from Settings > General > Mini Map. 

Once enabled, in conversations you will see a map icon in the middle left of the conversation window. Click on this to open the Mini Map. 

Referencing the image above, selecting the top dot will scroll to the top of the conversation. Clicking on the bottom dot will scroll to the bottom of the conversation. 

If you select the middle area, this will show a very high-level view of the conversation where you can see the different questions and responses that make up the conversation. Click on any area to jump to that part of the conversation.

::Resources


---

Persona Conversations let you chat directly with one selected persona. This is useful when you want a consistent voice, role, or workflow across a full conversation.

![Persona Mode Convo](/images/conversations/persona-mode-convo.png)

## Start a Persona Conversation

::steps

1. Select the down arrow next to **New**.
2. Choose **New Persona Conversation**.
3. Select the persona you want to use.
4. Start chatting.

::

## How Persona Conversations Work

- The selected persona is applied for the full conversation.
- The persona prompt is included with each turn.
- Your active system prompt and enabled add-ons still apply.

This gives you a reliable persona-first chat flow for tasks like role-based support, planning, writing, or coaching.

## Tips

- Build focused personas in [Persona Studio](/studios/persona-studio) for better results.
- Use [System Prompt Modes](/conversations/system-prompts) to control how persona and system instructions combine.
- Use [Crew Conversations](/conversations/crew-chats) when you need multiple personas in one chat.

::Resources


---

Shadow Personas are assistants that observe the main conversation you are having in a chat or in multiple split chats. 

How the Shadow Persona responds to the conversation, is up to how you have configured the prompt for the underlying persona. 

To enable a Shadow Persona for a conversation, select the Shadow Persona icon in the top right of the window, to the left of the ellipsis (...) menu. 

Shadow Personas can monitor multiple split chats. In the example below, the Shadow Persona is tasked with reviewing the responses from two split chats and then synthesize the responses into one single optimal response that takes the best parts of each split chat. 
![Shadow Personas Synthesize Split Chats Example](/images/shadow-personas/shadow-persona-synthesizer.png)

See the examples section below for additional useful usages for Shadow Personas. 

## Adding a new Shadow Persona :aurum-tag

### Step 1 - Create the underlying Persona
The underlying directives and capabilities of a Shadow Persona come from the underlying Persona. 

See [Persona Studio](/studios/persona-studio) to learn how to create a new persona.

Shadow Personas adopt the following features of a Persona: 
- **System Prompt** - the prompt provides the main directives that a Shadow Persona is tasked with
- **Attachments** - add attachments that a Shadow Persona can reference to for additional context
- **Real-Time Data** - provide access to real-time data so that Shadow Personas can search the internet
- **Toolbox** - Shadow Personas can call tools and live context endpoints for additional context
- **Knowledge Stacks** - provide access to a Knowledge Stack so that a Shadow Persona can reference it for specific context
- **Model** - select a specific model for the Shadow Persona to use; the default model is the same model selected in the conversation
- **Model Parameters** - configure specific parameters; increase the context limit if using a local model for improved results


### Step 2 - Configure the new Shadow Persona

Click on the Shadow Persona icon in the top right of Msty Studio to expose Shadow Persona. 

![Configure New Persona Start](/images/shadow-personas/configure-new-shadow-persona.png)

Then, click on **Create New** to configure a new Shadow Persona. If you already have a Shadow Persona you'd like to attach to the conversation, then select the **Attach Existing** option and select the Shadow Persona to attach. 

After selecting **Create New**, you'll see a modal to configure the new Shadow Persona. 

![Configure Shadow Persona](/images/shadow-personas/configure-shadow-persona.png)

Fill out the Shadow Persona configuration accordingly. 

- **Shadow Persona Name** - provide a unique name for your Shadow Persona
- **Select Persona** - select the underlying Persona 
- **Update Trigger** - this is how often the Shadow Persona will respond; either after every new message, every three messages, or manually triggered
- **Messages Per Split** - the number of messages, per split, that will be sent to the Shadow Persona for context; if you only want a response given the most recent message(s) only, set to 1
- **Synthesis Mode** - most important for when there are multiple split chats, this will direct the Shadow Persona if it should respond to each split chat uniquely, if it should synthesize all of the split chats, or if it should compare/contrast the split chats
- **Max Versions** - this is the max number of Shadow Personas that will be kept during a conversation; after the number that is set, then the later messages will be dropped

Once you have your Shadow Persona configured how you want it, select **Create and Assign** to create the persona and assign it to the current conversation. 

## Using Shadow Persona in Conversations

When enabled in a conversation, the Shadow Persona will wait for the models in the conversation to complete their response before providing their own - with the exception of if you set the Shadow Persona to respond via manual trigger. 
![Shadow Persona working with](/images/shadow-personas/shadow-personas-options.png)

Referencing the above image, here are the key parts of the Shadow Persona: 
1. **Enable / Disable Shadow Persona** from auto-responding
2. **Ellipsis overflow menu** provides options to edit the Shadow Personas configuration, create a new Shadow Persona, and delete a Shadow Persona
3. **Manage Split Chats** section allows you to select which split chats are included for the Shadow Persona to monitor
4. **Output options** to toggle between outputs, copy an output, or remove an output
5. **Shadow Persona's response output** message according to their directive; this will also display tool usages, Knowledge Stacks referenced, and real-time data sources
6. **Manually trigger** Shadow Persona response 

## What you can do with Shadow Personas

There are countless ways you can use a Shadow Persona to provide value to your conversations. 

Here are just a few: 
- **A commentator** - provide color commentary on the main conversation. 
- **Response analysis** - provide an analysis of the quality of the response, this is especially useful when you have multiple split chats
- **Response synthesizer** - take the best parts of multiple responses in split chats and provides an improved response
- **Fact Checker** - enable add-ons for the underlying persona such as real-time data, knowledge stacks, or toolbox so that the Shadow Persona can check sources of record to see if the conversation models are providing accurate results
- **Monitor and act** - have a Shadow Persona watch a conversation and look for something specific, they can then either inform you that something you are looking for came up, or they can take further action by triggering a tool call to kick-off a workflows
- **Summarizer** - summarize your conversations as you are conversing in the main chat, so you have a clear, concise list of items discussed

Be sure to watch the videos in the Resources section below as well for ideas.  

::Resources

---

Want to chat with multiple personas at the same time? That's what Crew Conversation is for! 

With Crew Conversation, you'll first create [personas](/studios/persona-studio) that you want to include in the conversation. Then, start a new crew conversation, add personas to your crew, and chat away. 

## Crew Conversation Examples

Wondering what you might do with crew Conversation? Here are a few ideas: 

- Create a create that contains your **friends**. Build friends with different personalities and invite them to chat. 
- Create a mixed conversation with some **friends** and **adversaries** to add some spark 
- Create a crew of **board members** that specialize in different areas, from operations to financial accounting. Debate ideas or refine strategic planning. 
- Create a crew of **ideators** and create new ideas for a product, then bring it to a crew of **planners** and **analysts** to create project plans and high level requirements, then take those to **architects** and **requirements analysts** to break down ideas into actionable tasks. 
- Create a crew of **artists** that bring their own unique perspectives to create a new unique piece of art

## Enable Crew Conversation

To enable a new Crew Conversation, select the down area next to new conversation and then select **New Crew Conversation**. 

![new crew conversation](/images/crew-mode/new-crew-conversation.png)

Next, click on the button to **Select a Crew**. 

![new crew](/images/crew-mode/new-crew.png)

You'll then configure your crew. 

::steps
1. Add a **Name** for your crew
2. Enter a **Description**
3. Select the **Personas** to include in your crew
4. Define the **Response** behavior. Auto will automatically have the personas respond to your user message. Manual will let you select which crew members that should respond and provide a trigger button to prompt them to respond. 
5. Define **Context** for your crew, whether they should be Independent and not be aware of other personas and their response or Contextual where they are aware of persona responses before theirs. 
6. Click **Create**
::

You can now chat with your crew! 


### Set response order

![crew order](/images/crew-mode/order-crew.png)

The selected crew personas will respond in a defined order. You can change the order by selecting the + icon next the personas in your crew, and then on the right of the personas when you hover over, you can grab and drag-and-drop personas to a customer order. Personas will respond in order from top-to-bottom. 

### Add Ons

The only chat add-ons enabled for Crew conversations are quick prompts and attachments. 

If a persona needs additional context, you can add the context, such as real-time data, tools, knowledge stacks, and specific models a persona to use in the persona configuration. 

### Additional Notes

Crew Conversations do not allow for other features that you'd find in a the normal conversations, such as split chats and threads. Crew Conversations is more like a chat room with your crew. 

The background prompt used for Crew Mode handoffs and persona coordination can be adjusted in [Settings > Default Prompts](/settings/default-prompts).

::Resources


---

Manage user and assistant messages with inline actions for copying, editing, branching, organizing, and deleting conversation content.

![Response features](/images/response-features.png)

### Copy to clipboard

Copy the response to your clipboard for easy sharing and pasting.

#### How to Copy Text to the clipboard

::steps
### Long Press Copy Button
In any conversation, long-press the copy button on a message.

### Select Format
Choose and copy the desired copy method from the options.

### Paste into desired location
The copied text is now in your clipboard and can be pasted into text editors.

### Set Default Behavior
Msty Studio remembers your last selected copy method (Markdown, HTML, or Formatted Text) and uses it as the default the next time you click the copy button.
::

#### Supported Copy Methods
- Markdown
- HTML
- Formatted Text

### Bookmark message

Bookmark the message for easy access later. Bookmarked messages are saved in the **Bookmarks** section located at the top of the window.

### Regenerate message

Regenerate the message to get a new response from the model. This is useful if you want to see different variations of the same prompt. Or, if you change the model and want to regenerate a response using the newly selected model.

### Continue generation

Continue the generation of the message if it was cut off or if you want to expand on the response. This is useful for longer responses that may have been truncated.

### Enable Context Shield

The Context Shield removes the prior conversation context from continued conversation. Its primary function is to create a barrier, stopping all previous conversation content from influencing or getting involved in your new inputs.

#### Generate Context Summary

After activating the Context Shield, click the shield icon. This will open a dropdown menu with two options: **Remove Context Shield** and **Generate Context Summary**. Select Generate Context Summary to create a summary of your conversation one response at a time.

### Response Metrics

Provides estimated input and output tokens used and latency metrics. If utilizing Tools, provides additional metrics for tool usage including which specific tools were utilized.

![response metrics](/images/response-metrics.png)

### Use as Prompt in New Split

Open the message's additional-actions menu and select **Use as Prompt in New Split** to create a new unsynced split with that message as its initial prompt.

This is useful when you want to test a message with another model without copying the entire conversation path.

### Edit as Branch

Open the message's additional-actions menu and select **Edit as Branch**.

Edit the message and save it to create an alternative conversation branch without overwriting the original path. Use [Branch Explorer](/conversations/branch-explorer) to label, navigate, and compare branches.

### Fold messages

Fold messages to hide them from view to declutter the conversation and focus on specific messages.

### View Tools Usage

Display the tools used in the response, including the tool name, input, and output. This is useful for understanding how the model utilized tools to generate the response.

### Hide messages

Hide messages from the conversation view. Hidden messages will still be included in contexts.

Hidden messages can be unhidden by clicking the unhide parent/child message option under the adjacent message's response menu. To unhide all, select the conversation's ellipsis menu in top right corner and then select option to **Show All Hidden Messages**.

### Isolate Context

Excludes the response from being included in context sent to model during continued conversation. Select **Remove Context Isolation** to include context back in conversation. You can also remove all context isolation in a conversation from the ellipsis menu in the top right corner and then select option to **Clear All Context Isolations**.

### Delete message

The delete control separates single-message deletion from branch deletion:

- **Click Delete** to remove only the current message
- **Right-click Delete** and choose **Delete Message and Descendants** to remove the message and every response that follows it on that branch
- Hold **Shift** while selecting either delete action to skip the confirmation dialog

Deleting only the current message reconnects the remaining valid conversation path where possible. Delete descendants when you intentionally want to remove the rest of that branch.

## Message Action Layout

Frequently used actions remain directly below each message. Less common actions, including branching, cloning, hiding, isolation, and tool-usage details, are grouped in the additional-actions menu.

For long messages, the action controls can remain accessible as a floating control while you scroll.

## Modern Message Layout

The modern layout displays:

- User messages on the right
- Assistant messages on the left
- A simplified assistant identity label
- Message actions outside the message content

Switch between modern and classic layouts from the conversation menu or **Settings > Conversations > Modern message layout**.

::Resources


---

You can chat with multiple models at once, making it easy to compare responses. This makes it easier to identify the strengths and weaknesses of each model, and to choose the one that best fits your needs.

## Add Split Chat

![Add split chat](/images/split-chat.png)

Select **Add Split Chat** from the top right of the window to add a new split chat.

Split chats will automatically enable duplication mode to sync the message you type between chats.

This feature allows you to easily compare the responses of different models side by side.

## Remove Split Chat

To remove a split chat, click on the ellipsis icon (**...**) in the top right corner of the split chat window and select **Delete Split Chat**.
Alternatively, you can select the **Hide Split Chat** option to hide the split chat without deleting it. This allows you to keep the chat history for future reference.

## Save Split Presets

You can save your Split Chat as a preset for future use. This allows you to quickly set up the same split chat configuration without having to manually re-prompt the conversation.

To save a Split Chat, select the ellipsis icon (**...**) in the top right corner of the window and select **Save Splits As**. You will be prompted to enter a name for the preset and select which prompts and attachments you'd like to include.

## Manage Split Presets

You can manage your Split Presets by selecting the ellipsis icon (**...**) in the top right corner of the window and selecting **Manage Split Presets**. This will open a window where you can view, edit, or delete your saved presets.

## Use A Split Preset

To use a saved Split Preset, select the ellipsis icon (**...**) in the top right corner of the window, select **Split Presets**, and then select the Preset you'd like to use.

::Resources


---

Forge Mode in Msty Studio offers an intuitive and powerful editing environment that combines rich text formatting options, inline editing, and dynamic content generation through AI models. Key features include custom prompts, focus mode, undo/redo functionality, real-time collaboration, and advanced formatting tools, making it a comprehensive tool for content creators.

![Forge Mode](/images/forge-mode.png)

You can enable Forge Mode by selecting **New Forge Canvas** option under the **New Conversation** menu or by converting an existing conversation by selecting the **Convert to Forge Canvas** option in the conversation menu.

## Key Features :aurum-tag

::steps

- Use **Ask** to send a message to the model about the highlighted text
- Use **Rewrite** to rewrite the selected text - such as to simplify text, make it shorter or longer, emojify, or change the tone
- Rich-Text editing tools such as applying styles including text decoration and code blocks
- Use the grip icon to move text blocks around
- Select the **+** icon to add new text blocks and to apply formatting to the text

::

::Resources


---

When customizing system prompts in Msty Studio (ie, with Projects and Personas), you can control how your custom instructions are combined with the default system prompt using three modes:

* Prepend
* Replace
* Append

Each mode affects how the model interprets behavior and tone. Below are examples and explanations for each mode, along with their advantages and disadvantages. The examples use the following prompts: 

```
Your custom prompt: "You are a pirate who speaks like a pirate."
System prompt: "You are a helpful assistant."
```

## Prepend

**Definition:**
Your custom prompt is **added before** the system prompt.

**Example:**

```
Final Prompt:
"You are a pirate who speaks like a pirate. You are a helpful assistant."
```

**Advantages:**

* Gives your custom instructions **priority**.
* Useful for setting **tone, style, or specific roles** early on.
* Keeps the base safety and helpfulness rules.

**Disadvantages:**

* May **conflict** with the system prompt if the tones differ.
* Custom behavior may not fully override the assistant’s defaults.

**Best For:**
When you want to **strongly guide** behavior or persona, but still retain the assistant’s helpful baseline.


## Replace

**Definition:**
Your custom prompt **completely overrides** the system prompt.

**Example:**

```
Final Prompt:
"You are a pirate who speaks like a pirate."
```

**Advantages:**

* Gives you **full control** of the assistant’s behavior.
* Ideal for **custom personas**, creative characters, or specialized workflows.

**Disadvantages:**

* Removes all behavior (e.g., safety, neutrality, helpfulness).
* Requires **careful crafting** to avoid issues or undesired responses.

**Best For:**
When you want to define the assistant’s role or tone **entirely from scratch**.



## Append

**Definition:**
Your custom prompt is **added after** the system prompt.

**Example:**

```
Final Prompt:
"You are a helpful assistant. You are a pirate who speaks like a pirate."
```

**Advantages:**

* Preserves the default assistant behavior.
* Great for **subtle additions**, like tone adjustments or specific response styles.
* Less likely to conflict with system rules.

**Disadvantages:**

* Lower priority — your custom instructions may be **overridden or ignored**.
* Not ideal for dramatic behavior shifts.

**Best For:**
When you want to **enhance or refine** the assistant’s responses, without changing its core behavior.



## Comparison Table

| Mode    | Behavior                           | Conflict Risk | Control Level | Keeps System Prompt |
| ------- | ---------------------------------- | ------------- | ------------- | -------------------- |
| Prepend | Adds your prompt **before** system | Medium        | Medium        | ✅ Yes                |
| Replace | Uses **only** your prompt          | Low           | High          | ❌ No                 |
| Append  | Adds your prompt **after** system  | Low           | Low–Medium    | ✅ Yes                |


## Project Hierarchy 

For project hierarchy, ie. a project folder that has child and grandchild project folders, can leverage prepend and append system prompt modes to create a chain of prompts. 

The default is to **replace** any inherited system prompts. Meaning, a child project will ignore a parent's system prompt by default unless you choose to **prepend** or **append** the child's system prompt to it's parent's system prompts. 

**For example**:
A parent project folder has a system prompt "I'm the parent."
A child (nested) project under the above parent has a system prompt "I'm the child."

In the child's project settings, if **System Prompt Attach Mode** is set to: 
- **Replace** (default), then a new convo will have a system prompt of "I'm the child."
- **Prepend**, then a new convo will have a system prompt of "I'm the child. I'm the parent."
- **Append**, then a new convo will have a system prompt of "I'm the parent. I'm the child."



::Resources

---

Threads and the mini map include a branch dropdown for better navigation and comparison. The Branch Explorer allows you to label branches and perform side-by-side diff comparisons between different conversation branches.

## Using Branch Explorer in Threads

::steps
### Access Branch Dropdown
Open a user or assistant message's additional-actions menu and select **Edit as Branch**. Update the message and save it to create a new branch while preserving the original conversation path.

### Label or Explore
Use the branch dropdown beside a branched message to switch paths, label a branch, or open **Branch Explorer**.

### Compare Branches
Branch Explorer displays a side-by-side diff view, letting you compare content between two selected branches.
::

## Using Branch Explorer in Mini Map

::steps
### Open Mini Map
Access the mini map interface.

### Select Branch
Use the branch dropdown to select a different branch.

### View Updates
The mini map will update to reflect the selected branch, allowing for quick navigation and comparison.
::

::Resources


---

Export conversations when you want a portable copy, need to move work to another workspace, or want to preserve a Media Studio session.

## Export a Conversation

::steps
### Open the conversation menu
Open the conversation and select the ellipsis menu in the top-right corner.

### Select Export Conversation
Choose **Export Conversation**, then select **As JSON** or **As ZIP**.

### Save the file
Choose where to save the exported conversation.
::

## Export Formats

### JSON

JSON creates one `.json` file containing the conversation structure and embedded attachment data.

- Documents, images, webpages, YouTube attachments, and referenced media are included when their files are available
- Embedded files are encoded inside the JSON, which can make the file substantially larger
- When embedded attachments total 10 MB or more, Msty recommends using the ZIP format

JSON is useful for smaller conversations or when you need a single text-based export.

### ZIP / `.mstyconv`

The ZIP option creates a `.mstyconv` file containing:

- Conversation metadata
- Conversation and split data
- An attachments folder with referenced files

Use `.mstyconv` for media-heavy conversations, large attachments, or the most portable import experience.

## Import a Conversation

::steps
### Choose the destination project
In the Projects panel, open the ellipsis menu for the project that should contain the imported conversation.

### Select Import Conversation
Choose **Import Conversation**.

### Select the export
Upload a supported `.json` or `.mstyconv` file.

### Open the imported conversation
After a successful import, Msty adds the conversation to the project and opens it.
::

## Attachments and Media Studio

- Current JSON exports embed referenced attachment files and restore them during import
- `.mstyconv` imports restore files from the included attachments folder
- Existing workspace files are not duplicated when an attachment with the same stored file name is already available
- Media Studio exports preserve saved session state and referenced media when the attachment files are included

::alert{type="info" icon="tabler:info-circle"}
If an older JSON export does not contain embedded attachment data, Msty can only reconnect attachments that already exist in the destination workspace.
::

::Resources


---

Agent Mode lets you run coding agents inside Msty Studio Desktop. You can chat with an agent, review plans, inspect diffs, and approve actions in one workspace-aware flow.

## Setup (Desktop)

::steps
### Open Agent Mode settings
Go to **Settings > Agent Mode**.

### Install and sign in to an agent
Install one supported CLI agent (Codex, Claude Code, or Gemini CLI), run it once in your terminal, then complete sign-in.

### Refresh adapters
Back in **Settings > Agent Mode**, run **Check updates** to refresh available agents.
::

## Install a CLI Agent

If you start a new Agent Mode session and no coding agent is detected, Msty shows an onboarding screen with install steps. The flow is the same for each supported CLI:

1. Install the CLI with `npm`.
2. Run the CLI once in your terminal.
3. Complete the sign-in flow.
4. Return to Msty and select **Re-check for agents** or **Check updates** in Settings.

If `npm` is not installed, install [Node.js](https://nodejs.org/en/download){target="_blank"} first. On Linux, you can also use the [Node.js package manager instructions](https://nodejs.org/en/download/package-manager){target="_blank"}.

::tabs{variant="card" sync="agent-cli"}
::div{label="Codex" icon="simple-icons:openai"}

### Codex

Codex is OpenAI's terminal coding agent and uses your ChatGPT account.

#### Install

```bash
npm install -g @openai/codex
```

#### Run Once

```bash
codex
```

When Codex opens, choose **Sign in with ChatGPT**. After sign-in, return to Msty and re-check for agents.

[Codex documentation](https://developers.openai.com/codex){target="_blank"}

::

::div{label="Gemini CLI" icon="simple-icons:google"}

### Gemini CLI

Gemini CLI is Google's open-source CLI agent and supports Google sign-in with a free tier.

#### Install

```bash
npm install -g @google/gemini-cli
```

#### Run Once

```bash
gemini
```

When Gemini opens, choose **Sign in with Google**. After sign-in, return to Msty and re-check for agents.

[Gemini CLI documentation](https://github.com/google-gemini/gemini-cli){target="_blank"}

::

::div{label="Claude Code" icon="simple-icons:anthropic"}

### Claude Code

Claude Code is Anthropic's CLI coding agent and requires a Claude subscription.

#### Install

```bash
npm install -g @anthropic-ai/claude-code
```

#### Run Once

```bash
claude
```

Follow the sign-in prompts in your terminal. After sign-in, return to Msty and re-check for agents.

[Claude Code quickstart](https://code.claude.com/docs/en/quickstart){target="_blank"}

::
::

### Terminal Tips

The onboarding screen also includes basic terminal guidance:

- **macOS:** Open **Terminal** with `Command + Space`, type `Terminal`, then press `Return`.
- **Windows:** Open **Windows Terminal** or **PowerShell** from the Start menu.
- **Linux:** Open your preferred **Terminal** app from the applications menu.

## Major Parts

### Sessions and workspaces
Start an Agent session from the **New** menu or from Easy Access. Sessions can target a workspace repository, or run folderless for quick tasks.

### Plans and approvals
Agents can propose a plan before applying changes. Review each step and approve what should run.

### Skills and slash commands
Use slash commands and installed skills to speed up repeated workflows. To create, manage, and install skills, see [Skills Studio](/studios/skills-studio).

### Diff and commit flow
Review generated file diffs, then commit from the workspace diff panel when you are ready.

## Using Agent Mode

1. Start a new Agent session.
2. Describe the change and include context.
3. Review the proposed plan and approve actions.
4. Inspect diffs and iterate with follow-up prompts.
5. Commit when complete.

[Image placeholder: Agent session showing plan panel, approvals, and workspace diff]

## Notes

- Agent Mode is currently available on **Msty Studio Desktop**.
- If no agents appear, re-run your agent CLI setup in terminal and refresh adapters in settings.

::Resources


---

Persona Studio helps you create and manage custom assistants and user profiles for more consistent conversations.

![Msty Personas](/images/personas.png)

## Persona Types

### Assistant Personas
Assistant Personas define how an assistant responds. You can configure:

- Name, icon, and description
- System prompt behavior
- Add-ons like toolsets, model settings, Knowledge Stacks, attachments, and real-time data
- Few-shot examples
- Auto-response behavior

### User Personas
User Personas define reusable user context and memory that can be applied across conversations.

They are useful when you want models, personas, and other assistants in Msty Studio to know important things about you without repeating that context every time. For example, you might want Msty Studio to remember your role, writing preferences, goals, ongoing projects, technical background, or personal constraints.

This can help responses feel more consistent and relevant across different workflows. Instead of re-explaining who you are or how you like to work in each conversation, you can keep that information in a User Persona and reuse it wherever needed.

## User Memories

::alert{type="info" icon="tabler:info-circle"}
The title and summary portions of user persona memories are included directly in the prompt, so assistants can still see that context even without tool calling.

To access the more detailed memory content, the assistant or persona agent must support tool calling.
::

User memories are attached to User Personas and reused in persona and crew conversations so Msty Studio can personalize responses without you repeating context each time.

### Add Memories from Persona Studio

1. Open **Persona Studio** and switch to the **User Personas** tab.
2. Select a user persona.
3. In the **Memories** section, click **Add Note** or **Add Structured**.
4. Fill in the memory fields, then save the user persona.

### Add Memories from Conversations

You can add memories from active conversations in two ways:

- Use the **User Persona** icon in the chat tools area, then click **Add memory** next to a user persona to add a manual memory.
- Open a conversation message menu (overflow/extra actions), then choose **Add to User Persona Memory** to generate a draft from that message.

When you add a memory from a conversation message, Msty Studio:

1. Uses the model assigned to **User Persona Memory Extraction** in **Model Hub > Model Squad**.
2. Falls back to the split's selected conversation model if no Model Squad assignment exists.
3. Uses the **User Persona Memory Generation** prompt from [Settings > Default Prompts](/settings/default-prompts) to draft memory content.
4. Opens a **Review Memory Draft** dialog so you can edit before saving.

### Configure Models and Prompts

- Set the preferred memory extraction model in **Model Hub > Model Squad** with the **User Persona Memory Extraction** assignment.
- Update the memory drafting prompt in [Settings > Default Prompts](/settings/default-prompts) by editing **User Persona Memory Generation**.
- Update crew handoff and coordination instructions in [Settings > Default Prompts](/settings/default-prompts) by editing **Crew Mode**.

## Create and Organize Personas

::steps
### Open Persona Studio
Open **Persona Studio** from the left sidebar.

### Choose persona type
Create an **Assistant Persona** or a **User Persona**.

### Configure and save
Add prompt details, add-ons, tags, and folder location, then save.

### Iterate
Refine the persona with versions and sandbox testing.
::

## Versions and Sandbox

Persona Studio includes version-aware editing and a sandbox for testing before rolling changes into your normal workflow.

- Save versions as your persona evolves
- Switch active versions when needed
- Compare behavior in sandbox splits before promoting changes

## Persona AI Tools :aurum-tag

Persona Studio AI tools can help you:

- Generate or improve system prompt drafts
- Suggest tags
- Draft few-shot examples

## Use Personas in Conversations

[See how Personas are used in conversations](/conversations/persona-conversations)

- Start a Persona conversation from the **New** menu.
- Use `@` to quickly select personas in chat.
- Use persona controls above the message box to send persona prompts and tune context behavior.

## Limits

- Free plan: up to 2 Assistant Personas and 1 User Persona
- Paid plans: higher limits and advanced persona tooling

::Resources


---

Create and organize prompts for easy access and reuse across Msty.

![Prompts Library](/images/prompts-library.png)

## Discover Prompts

Open the **Discover** tab in Prompt Studio to browse a searchable catalog of ready-to-use prompts.

- Search prompt titles, text, and tags
- Filter the catalog by **Available**, **Installed**, or **All**
- Sort the catalog alphabetically
- Open a prompt to review its full text and tags before installing
- Install a single prompt directly into your library
- Select multiple prompts and install them together into the **Misc** folder

Bulk installs display progress and can be stopped before all selected prompts are installed.

## Import Default Prompts

To quickly get started, you can import a collection of ready-to-use prompts:

1. Select the **down arrow** next to the **New Prompt** button.
2. Choose **Import Default Prompts**.

This loads the bundled default collection. Use **Discover** when you want to browse and selectively install prompts from the larger catalog.

## Add a New Prompt

To create your own prompt:

1. Click **New Prompt**.
2. Enter a **Title** and your **Prompt text**.

Alternatively, click the **down arrow** next to **New Prompt** to:

- Import prompts from your clipboard.
- Upload a JSON file with one or more prompts.

## AI Assistant :aurum-tag

Prompt Studio includes an AI Assistant to help you craft and refine prompts. 

To enable, select the **AI Assistant** button in the bottom of the Prompt Studio window.

![Prompt Studio AI Assistant](/images/prompts-studio/prompt-studio-ai-assistant.png)

After enabling, you use your AI Assistant to help you create a new prompt, improve and existing prompt, or to suggest tags.

To help with generating a new prompt, follow these steps:

::steps
### Select a model for the AI Assistant
Choose from available models to power the AI Assistant.
### Select the Category
Pick a category that best fits your prompt needs.
### Select the style for the output
Whether you want a concise or detailed prompt.
### Include number of variables and tags for the prompt
Specify how many variables and tags you want the prompt to include.

Variables are placeholders in prompts that can be filled in later when using the prompt. This is a great way to create reusable prompts that can adapt to different contexts.
### Generate the Prompt
Click **Generate Prompt** to have the AI Assistant create a prompt based on your selections.
### Review, Edit, and Apply
You can then review the generated prompt, make any necessary edits, and click **Apply Prompt** to add it to your Prompt Studio library.
::


## Prompt Studio Sandbox :aurum-tag

If you want to test and compare different prompt versions, the Prompt Studio Sandbox is a great tool.

To access the Sandbox, open a prompt in Prompt Studio and click the **Sandbox** button at the top of the window.

![Prompt Studio Sandbox](/images/prompts-studio/prompt-studio-sandbox.png)

You can then set a model to use, the version of the prompt to test, include a system prompt, and even add in any variable values. 

::steps
### Select Model
Choose the model you want to use for testing the prompt.
### Select Prompt Version
Pick the version of the prompt you want to test.
### (Optional) Add System Prompt
You can include a system prompt to provide additional context or instructions for the model.
### (Optional) Edit Prompt 
You can make temporary edits to the prompt for testing purposes without affecting the saved version.
### (Optional) Set Variable Values
If your prompt includes variables, you can set their values here for the test. Select the asterisk icon (*) next to Run to set variable values.

Click **Resolved** to view the variables filled in the prompt.
### Run test
Click **Run** to see how the model responds to the prompt with your settings.
### Save test runs
Click the disk icon in the generated output to save the test run for later comparison. Saved test runs will appear to the right where you can see the generated prompt and select the option to view configurations if needed. 
::

### Arena
The Arena feature in the Sandbox allows you to pit different prompt versions against each other to see which performs best.
![Sandbox Arena](/images/prompts-studio/sandbox-arena.png)

Check the box next to the versions you want to include in the Arena, then click **Start Arena**. The selected versions will be tested multiple times, and the one with the best performance will be declared the winner.

![Arena Winner](/images/prompts-studio/sandbox-arena-winner.png)

## Organize Your Prompts

Keep your prompt library tidy by using folders:

- Use the **down arrow** next to **New Prompt** or the **ellipsis (⋯)** icon beside existing folders to create:

  - New root-level folders
  - Subfolders (child folders)

You can then move prompts into these folders for better organization and faster access.

### Versions :aurum-tag

You can save multiple versions of a prompt to track changes over time. 

Select the star icon next to the version to set it as the default version used when applying the prompt.

::Resources


---

Skills Studio is a dedicated workspace for creating and managing skills used by Agent Mode.

## Setup

::steps
### Open Skills Studio
Go to **Settings > Agent Mode > Skills Studio**.

### Create or import skills
Start from a new draft, import defaults, use templates, or add a GitHub repo in Discover.

### Organize with folders
Create folders and move skills into a structure that matches your workflow.
::

## Major Parts

### Workshop
Edit skill metadata and `SKILL.md` instructions, then save and iterate quickly.

### Discover
Browse connected repositories, inspect skills, install what you need, and rename custom repo labels for clearer navigation.

### Folders and bulk management
Use nested folders to organize skills and keep large collections manageable.

### Templates and AI tools :aurum-tag
Use templates and AI-assisted drafting to generate or improve skill descriptions and instructions.

## Using Skills Studio

1. Create a new skill in Workshop.
2. Write a clear description and instructions.
3. Add tags and place the skill in a folder.
4. Test it in Agent Mode slash commands.
5. Iterate or install additional skills from Discover.

[Image placeholder: Skills Studio with folder tree, editor, and Discover tab]

## Tips

- Keep skill IDs simple and stable.
- Use folders to separate personal, team, and experimental skills.

::Resources


---

Media Studio is a dedicated session type for creating images and videos with persistent context, history, and comparison tools.

![Media Studio preview](/images/media-studio.png)

## Start a Media Session

::steps
### Create a new session
From **New**, choose **New Media Session**.

### Start from an existing attachment
Use **Open in Media Studio** from message attachments, or **Start New Media Session** from [Context Studio](/studios/context-studio).

### Configure and generate
Enter a prompt, choose an image/video model, set outputs per run, then generate.
::

## Context Workflow

- Add context by drag-and-drop, paperclip, or screenshot capture.
- Move items between **Context**, **Spotlight**, and **Compare**.
- Enable **Keep latest only** to retain just the newest generated media in context after each run.
- Images, videos, and documents can be attached as context references.
- Reusable Context Studio items can be added as media context without uploading them again.

### Context Preview Labels

Context previews make each item's role clearer:

- Image and video previews display a media-type label
- Context items display their file name below the preview
- The active Spotlight item displays a **Spotlight** badge
- Supported video models display **Start** and **End** controls on eligible image context

Use **Start** to assign an image as the first frame of a supported video generation. Use **End** to assign an image as the final frame when the selected model supports end-frame interpolation.

Start and End controls only appear for compatible video models.

## Generation Workflow

- Select from media-capable models configured in [Model Hub image generation](/managing-models/image-gen).
- Set how many outputs to generate per run.
- Star a model to keep it as your Media Studio default.
- If no media models are configured, Media Studio offers a direct path to Model Hub.

## Spotlight, History, and Compare

- **Spotlight** is your main working canvas for selected outputs.
- **History** stores generated outputs for quick reuse and navigation.
- **Compare** lets you review up to 3 outputs side by side.
- Each history item supports fast actions such as:
  - Add to Spotlight
  - Add to Context
  - Compare toggle
  - Download
  - Rename title
  - Delete

## Editing and Iteration

- Use **Edit Image** on image outputs to annotate and save a new version.
- Edited versions are added back to history and can be reused as fresh context.
- Prompt history is saved in-session so you can iterate quickly on prior prompts.

## Video Support

Video generation in Media Studio currently supports:

- **xAI**
- **Google Veo**
- **Seedance**
- **OpenRouter video models**

Available context-image and Start/End frame capabilities vary by model.

## Export and Import Media Sessions

Media Studio sessions use the normal conversation export workflow. Export as `.mstyconv` when the session contains generated images, videos, or other large attachments.

Exports preserve the saved Media Studio session state and referenced media when attachment files are included. See [Conversation Export and Import](/conversations/export-import).

::Resources


---

Context Studio is the new name for Attachment Manager. It is the central place to store, organize, preview, and reuse context across Msty Studio.

Use Context Studio when you want documents, images, videos, webpages, or YouTube transcripts to be available beyond a single chat message.

::alert{type="info" icon="tabler:info-circle"}
For the best results, configure **Context Studio Settings** before building a large context library. In particular, assign metadata models for images and documents so Msty can generate useful summaries, descriptions, and tags for Dynamic Mode and filtering.
::

## Open Context Studio

::steps
### Open from the sidebar
Select the paperclip icon in the main sidebar to open **Context Studio**.

### Open from a conversation
Select the attachment icon in a chat, then choose **Browse Existing Attachments** to pick reusable context from Context Studio.

### Manage selected context
After Context Studio opens from a conversation, select the items you want to attach and apply the selection back to the chat.
::

## Build Your Context Library

Context Studio supports:

- **Documents**: upload files and keep reusable text context available across conversations
- **Images**: store visual references for chats and Media Studio workflows
- **Videos**: add video files as reusable visual context
- **Webpages**: save fetched webpage content as reusable context
- **YouTube links**: import video details and transcript context

You can drag files into Context Studio, upload with **Add Attachment**, add websites with **Add Website**, or import YouTube links with **Add YouTube**.

## Organize Context

Use folders to keep large context libraries manageable.

- Create root folders from the Context Studio overflow menu
- Drag files and folders to reorganize them
- Use quick filtering to find folders or files by name
- Sort folders and files by name, creation date, or update date
- Use favorites to keep important items easy to find

Folder metadata can summarize what a folder contains. This improves filtering and helps Dynamic Mode decide which context is relevant.

## Preview and Inspect Items

Select an item to open its inspector.

The inspector can show:

- Image, video, webpage, and YouTube previews
- Converted text previews for supported documents, webpages, and YouTube transcripts
- File type, size, added date, and updated date
- Short description, long description, and tags
- Associations showing where the item is used

Metadata fields auto-save when edited. You can also process selected items to generate metadata with the configured metadata models.

## Reuse Context in Conversations

There are two ways to use Context Studio content in a chat:

### Select Specific Attachments

Use the attachment icon in the chat input, choose a content type, and select the items you want included.

Selected attachments are available to the model for that conversation and can be selected or unselected as needed.

### Use Dynamic Mode :aurum-tag

Dynamic Mode lets a tool-capable model search your Context Studio library on demand instead of pushing every selected item into the prompt upfront.

Use Dynamic Mode when:

- The library or folder is too large to include directly
- You want the model to find only the most relevant files
- You have good metadata, summaries, and tags on your context
- You want to scope retrieval to specific folders or the full library

Dynamic Mode is available with Aurum or Enterprise access. It requires a model that supports tools. If the selected model does not support tools, choose specific attachments instead.

## Use with Media Studio

Context Studio and Media Studio work together.

- Start a new Media Studio session from supported image or video attachments
- Reuse stored images, videos, and documents as Media Studio context
- Keep generated media available for later conversations when exported with the session

See [Media Studio](/studios/media-studio) for image and video generation workflows.

## Configure Context Studio

Open **Context Studio Settings** from the Context Studio settings action.

Settings include:

- **Metadata on New Uploads**: automatically generate metadata for new documents and images when metadata models are assigned
- **Metadata Processing Models**: assign vision and document metadata models through Model Squad
- **Image Reduction Defaults**: control default image reduction mode and quality
- **Web Fetch**: choose Studio's default website fetch or Jina, set website content format, and tune extraction parameters
- **Default Prompts**: edit Context Studio prompts in [Settings > Default Prompts](/settings/default-prompts)

For website attachments, Studio's default fetch requires a desktop sidecar connection. If sidecar is unavailable, enable Jina in Context Studio settings and add a Jina API key.

::Resources


---

## Knowledge Stacks Next Gen is here!

::alert{type="success" icon="tabler:sparkles"}
Check out **Knowledge Stacks Next Gen**, a major upgrade to how you build and query your knowledge stacks. If you're using the classic Knowledge Stacks, we highly encourage you to switch to Next Gen for a better experience.

Here's what makes Next Gen worth switching to:

- **Add projects, chats & web links** — You're no longer limited to just files and folders. Drop in entire Msty Studio projects, past conversations, and web links directly into your stack.
- **Rerank Model for better results** — A new query setting that re-scores and reorders your retrieved chunks using a specialized model, so the most relevant content actually ends up on top.
- **File (Single Chunk) chunking** — A new chunking method that keeps each item as one whole chunk — perfect for pre-chunked documents or content that shouldn't be split up.
- **A cleaner, more intuitive experience** — We've polished the UI and made things feel a lot smoother across the board.

👉 [Learn more about Knowledge Stacks Next Gen →](/knowledge-stacks/next-gen)
::

Knowledge Stacks are Msty Studio's take on Retrieval-Augmented Generation (RAG), designed to help you create, manage, and use collections of knowledge in a structured, flexible way. They let you organize your data for easy access in conversations, proving models with deep, domain-specific understanding.

::alert{type="info" icon="tabler:info-circle"}
Knowledge Stacks are currently available in Msty Studio Desktop only
::

## Key Features of Knowledge Stacks

A few of the key features that make Msty's Knowledge Stacks stand out include:
- **Flexible Embedding**: You can select and embed using a local embedding model of your choice, allowing you to tailor the knowledge stack to your specific needs
- **Chunk Console and Visualizer**: With the visualizer, you can view how your documents are chunked and run example queries using the console, making it easier to understand and utilize your data
- **Advanced Query Settings**: Fine-tune how your knowledge stack responds to queries with customizable settings for relevance, context, and more
- **Synthesized Responses**: Msty can generate responses based on the knowledge in your stack, allowing for more dynamic and context-aware interactions
- **PII (Personal Identifiable Information) Scrubbing**: Msty includes ability for identifying and redacting sensitive information in your knowledge stack

## Creating your First Knowledge Stack

When creating your Knowledge Stack, think of each stack as a category or topic that you want to explore or utilize in your AI applications. You can add various types of content to your stack, such as files, folders, notes, and YouTube links. However, we recommend that you keep your stack focused on a single topic or theme to maximize its effectiveness.

::steps
1. Click the Knowledge Stacks icon and select option to create a new stack
2. Add a **Title** and **Description** for your stack
3. Add **Files**, **Folders**, **Notes**, and/or **YouTube Links** to your stack
4. Configure the **Compose Settings** - view [Compose Options](/knowledge-stacks/compose-options) for advanced configuration options
5. **Compose** your Knowledge Stack
::

![create your first knowledge stack](/images/knowledge-stacks/ks-setup-full.png)

Knowledge Stack is a powerful tool for organizing and utilizing your data and AI effectively. Be sure to explore the other features and settings in this section to get the most out of your Knowledge Stacks.

## Using Knowledge Stacks in Conversations

Once you have created and composed your Knowledge Stack, you can use it in your conversations.

::steps
1. Start or open a conversation in Msty Studio
2. Select the **Knowledge Stack** icon in the conversation toolbar
3. Browse **Recently Updated** or **All Stacks**, or search by stack title
4. Select one or more composed Knowledge Stacks
5. Optionally expand **Configure** to adjust query settings for this conversation
6. Start chatting with a model
::

![knowledge stacks enabled in chat](/images/knowledge-stacks/select-ks.png)

The model will have access to the knowledge in your selected stack, allowing it to provide more informed and context-aware responses.

![knowledge stacks chat response](/images/knowledge-stacks/sherlock-holmes-response.png)

Check out [Query Settings](/knowledge-stacks/query-settings) for advanced query options that will help you improve search results.

### Knowledge Stack Picker

The conversation picker is designed for larger libraries:

- **Recently Updated** shows up to five recently changed, usable stacks
- **All Stacks** lists the remaining usable stacks alphabetically
- Search finds stacks by title
- Selected stacks remain visible in a dedicated section
- The most recently selected stack supplies the initial query settings
- **Manage Stacks** opens the full Knowledge Stacks hub

Only composed stacks with usable content can be selected.

## Install Prebuilt Knowledge Stacks

Open Knowledge Stacks Next Gen and select **Discover** to browse the catalog of prebuilt stacks.

The official **Msty Docs** stack contains Msty Studio documentation and is a useful starting point for testing Knowledge Stacks without uploading your own files.

You can also install Msty Docs during onboarding by selecting **Chat with Msty Studio Docs**. Msty imports the stack and creates the **Msty Clippy** persona with the documentation attached.

::Resources


---

Composing resources initiates the process of preparing your files for retrieval-based AI interactions. When you compose, each resource is parsed and broken down into meaningful chunks, then transformed into vector representations using an embedding model. These vectors are stored in a searchable index, enabling the system to quickly retrieve relevant context during a prompt. 

This step is essential for making your documents usable in Knowledge Stacks and ensuring accurate, context-aware responses from the AI.

You can configure compose settings at the resource level and at the composition process level.

## Resource Compose Advanced Options :aurum-tag

When adding new resources under files, folders, notes, and YouTube links, additional configuration options will be available under the ellipsis menu. 

Configuration capabilities depend on resource upload types. 

### Load Modes

Select how a file will be loaded during Knowledge Stack compositions. For file uploads, there are three options you can choose from. 

![file load modes](/images/knowledge-stacks/load-modes.png)

#### Static Mode
Uses the cached version from when the file was added. Fast and predictable, but doesn't reflect recent changes.

Use this option for source files that are not likely to modified. 

This is the default mode for files added to Knowledge Stacks. 

#### Dynamic Mode
Loads the latest file content on each composition. Slightly slower but always up-to-date.

Use this option if you modify source files, want the latest to be included in new compositions, but you are not concerned about the Knowledge Stack having latest information and are okay with manually re-composing. 

#### Sync Mode
Watches for file changes and automatically recomposes. Best for small, frequently updated files.

Use this option if you want the Knowledge Stack to automatically be re-composed when launching Msty and Msty detects that there is a change to a file that is configured for sync mode. 

After marking a file for sync mode, you will need to **Start Sync Mode** from the Knowledge Stack menu in order to watch for file changes and to automatically re-compose the stack.

![enable file change watch](/images/knowledge-stacks/enable-sync-mode.png)

::alert{type="info" icon="tabler:info-circle"}
Sync Mode can be expensive in terms of your local resources and processing if files update frequently.
::

### Mark for Reprocessing 

Marking a resource for reprocessing will process only those marked resources when clicking **Compose**. 

### Ignore for Retrieval

Select **Ignore for Retrieval** to prevent a resource from being queryable. This is helpful as you perfect your Knowledge Stacks. 

### Lock a Resource

You can either temporarily or permanently lock a resource. 

**Temporarily** locking a resource will exclude the file during re-composing. However, the resource from it's last composition will be included in query results. 

**Permanently** locking a file is irreversible and will lock the composed resource forever - until deletion. 

::alert{type="info" icon="tabler:info-circle"}
Use Permanent Lock only if you know you will never update the source file in the future. 
::


If you import a Knowledge Stack, the resources in that imported stack are by default permanently locked. This is because the source files are assumed to not be on your machine and only the vectorized database for the stack is being imported. 

## Compose Settings

In the **Compose Settings** area, you can configure the how the Knowledge Stack is composed.


![configure compose settings](/images/knowledge-stacks/compose-settings.png)

### Embedding Model

Msty uses [gte-tiny](https://huggingface.co/TaylorAI/gte-tiny){target="_blank"} by default, but you can change it to any other embedding model available in your Msty App. You can find an embedding model in **Model Hub > Local Models**.

Some embedding models outperform others by better capturing semantic meaning, understanding context, and generalizing across domains. High-quality models improve retrieval accuracy by generating more meaningful vector representations of text. 

When choosing an embedding model, look for strong retrieval performance, domain relevance, efficiency (in size and speed), and compatibility with your deployment setup.

For an embedding model to display as a selectable option, ensure the model has **Embedding** enabled as a purpose. To check this, select the update model icon from either the model selection list or from the installed local models section in Model Hub. 

![embedding model purpose](/images/knowledge-stacks/embedding-purpose.png)

### Chunking Method

Chunking is the process of breaking down large documents into smaller, manageable pieces (or "chunks") to make them suitable for vectorization and retrieval. Each chunk is typically a few hundred words and is designed to preserve context while fitting within token limits of embedding and language models. Effective chunking ensures that relevant information can be retrieved accurately, improving the quality of responses. 

Choose how you want to split your content into chunks. 

Options include:
  - **Recursive Character**: Splits text into chunks based on character count.
  - **Sentence**: Splits text into chunks based on sentence boundaries.

### Overlapping 
Configure how much overlap you want between chunks.

This configuration is available when Chunking Method is set to Recursive Character. 

### Chunk Size
Set the maximum size for each chunk. Smaller chunks may improve search accuracy but can increase processing time and token usage.

### Chunk Size to Ignore
Specify chunk sizes that should be ignored during processing. Useful for excluding very small or very large chunks that may not be relevant.

## Compose

When you are ready to compose, select the **Compose** button. 

![compose a knowledge stack](/images/knowledge-stacks/compose-ks.png)

If you haven't made any changes to compose configurations, and want to re-compose, select the **Force Compose** option. 

::Resources


---

For more accurate results, use the **Query Settings** to configure how your stacks should be queried during conversations. 

You can setup default Query Settings from the Knowledge Stacks main configuration section. 

The default Query Settings will be used when you select the corresponding stack to be used during a conversation. 

From the Conversation Add-Ons, you can alter the settings for the conversation if needed.

If you select multiple stacks to be available in a conversation, then the default settings for only one of the stacks will be returned. So, it is recommended to validate and configure the query settings to be used for the conversation. 

## Default Query Settings

In the Knowledge Stack configuration, select **Query Settings** to set the defaults for that stack. 

![chunk visualizer](/images/knowledge-stacks/query-settings-default.png)

### Chunk Retrieval Mode

You can set which retrieval mode is used during conversations. 

#### Push Mode
This mode first queries the Knowledge Stack and then sends the results to the model for context.

This is the default mode. 

#### Pull Mode
This mode first allows the model to request context from the Knowledge Stack when it identifies a need, and then retrieves the relevant results to provide to the model.

::alert{type="info" icon="tabler:info-circle"}
Ensure the model is able to perform tool calls if using this mode
::

### Prompt Prefix
As with any interaction with LLMs and SLMs, it's all in the prompt. 

For improved results, add a prompt that helps the model understand what they have access to and what they are expected to do with the provided context. 

### Number of Chunks
Set the max number of chunks that are delivered to the model. 

### Similarity Threshold
Define the similarity threshold. Set higher if you are looking for more exact results and similarities. 

### Search type
Choose how you want to search through your Knowledge Stack when retrieving relevant context.

#### Semantic
Semantic search uses vector embeddings to understand the meaning behind your query and retrieve conceptually similar content, even if exact words don’t match. This is ideal for natural language prompts or when you're looking for ideas, explanations, or loosely related information.

This is the default setting. 

#### Keyword
Keyword search performs a more literal match, scanning for exact terms or phrases present in the query. This method is best for precise lookups, such as searching for specific names, terms, or technical references where wording consistency matters.

#### Hybrid
Hybrid search intelligently combines both semantic and keyword approaches. It allows Msty to interpret your prompt and dynamically choose the best retrieval method to maximize accuracy and relevance. Useful when you're unsure which method fits best or when queries benefit from both meaning and precision. 

### Max Full Content contexts :aurum-tag
By default, RAG systems retrieve and send only the most relevant chunks to the model, which is sufficient for many use cases like answering questions or extracting details. However, this approach falls short for tasks that require full-document understanding, such as summarization, narrative analysis, or comprehensive comparisons where partial context can lead to incomplete or inaccurate results.

Msty’s Knowledge Stacks supports sending the full content when needed. Use this setting to define the maximum number of full files that can be included in the model's context when such depth is required.

::alert{type="info" icon="tabler:info-circle"}
Note: This is disabled by default and should be used selectively based on the task and model token limits. Also, this method is triggered semantically - adjust your prompt if full context is desired but is not being provided.
::

### Synthesize Query :aurum-tag
Synthesizing queries enables the model to generate richer, more dynamic responses by interpreting and combining relevant information from your Knowledge Stack. This leads to more context-aware interactions, especially for tasks that require reasoning, summarization, or multi-part answers.

This is disabled by default. 

### PII Scrubbing :aurum-tag
If you do not want personal identifiable information (PII) to be sent to the model, typically a concern when using online model providers, then enable this setting. 

You will be asked to select a locally installed model that will be tasked with detecting any PII in the Knowledge Stack and to redact the information. 

For best results and for added security, test PII Scrubbing in [Chunks Visualizer](/knowledge-stacks/chunks-visualizer) and [Chunks Console](/knowledge-stacks/chunks-console) prior to using Knowledge Stacks with online providers where PII is a concern. 

![pii](/images/knowledge-stacks/pii.png)

## Conversation Query Settings

In conversations, the default Query Settings will be used; however, you can alter the settings for the conversation. All of the same settings are available with the exception of the prompt prefix. 

If you are enabling multiple Knowledge Stacks in a conversation, be sure to review the Query Settings to ensure they are appropriate for your intended conversation. 

## Knowledge Stacks Query Results

In the conversation with a model, if Knowledge Stacks are enabled, you can see the results that were provided to the model.

### Knowledge Stacks Metrics
![knowledge stacks results metrics](/images/knowledge-stacks/knowledge-stack-contexts-metrics.png)

The first portion displays high level metrics for the Knowledge Stacks results as well as which settings were used to query the results with. 

#### Query Analysis
![knowledge stacks query analysis](/images/knowledge-stacks/query-analysis.png)
This section provides more details about which specific document resources were returned, if the contexts provided was chunks and/or full contensts, and the search keywords used and how they were weighted. 

#### Returned Chunks and Full Contexts
![knowledge stacks returned results](/images/knowledge-stacks/returned-results.png)
The last section shows the actual chunks and/or full contents that were returned and sent as context to the model. 


::Resources

---

Chunking is the process of breaking down large documents into smaller, manageable pieces (or "chunks") to make them suitable for vectorization and retrieval. Effective chunking ensures that relevant information can be retrieved accurately, improving the quality of responses. 

In Msty Studio’s **Chunk Visualizer**, you're looking to ensure that chunks are **coherent**, **contextually complete**, and **logically separated**; meaning, each chunk should ideally contain a self-contained idea or narrative unit. Good chunks avoid cutting sentences or thoughts in awkward places, which can confuse embedding models and degrade retrieval quality.

::alert{type="info" icon="tabler:info-circle"}
Chunk Visualizer is available after the Knowledge Stack completes composition. 
::

## What to look for :aurum-tag

![chunk visualizer](/images/knowledge-stacks/chunk-visualizer.png)

In the above example, you can see how the chunks for this stack are defined and which portions overlap between chunks. For example, **Chunk 6 and 7** share the phrase *“with a thoughtful face, smoking his”*, which ensures continuity across chunks. This this is generally desirable for maintaining context flow during retrieval. 

**Watch out for:**
- Chunks that are too short
- Chunks thar are too fragmented
- Chunks that split critical ideas unnaturally

The Chunks Visualizer helps you fine-tune by showing overlaps, chunk boundaries, and how text flows between them.

If the chunks are not meeting your expectations, see [Compose Options](/knowledge-stacks/compose-options) to learn how you can adjust chunk settings. 

## Show Stitched

This option will stitch the chunks into a full document. The will give you an uninteruppted view of the Knowledge Stack file. 

With Msty Studio’s Knowledge Stacks, models can either retrieve relevant chunks based on your query or stitch the entire stack together when full context is needed. Chunk-based retrieval is often sufficient for many use cases, offering fast and targeted responses. However, for tasks that require understanding the complete structure or narrative of a file, stitching the full stack provides the model with all available context, leading to more accurate and comprehensive results.

## Chunks Console

Chunk Console lets you perform queries against the Knowledge Stack and view results. See [Chunk Console](/knowledge-stacks/chunks-console) for more information. 



::Resources

---

With the Chunks Console, you can test how chunks can be queried and what results return. Using the Chunks Console is a key way to refine the accuracy of Knowledge Stacks to help ensure the appropriate data is being made available to models. 

You can test different [Query Settings](/knowledge-stacks/query-settings) to see what is returned. 

![chunks console](/images/knowledge-stacks/chunks-console.png)

If you see unexpected results, then you can modify either the Query Settings or the [Compose Options](/knowledge-stacks/compose-options) to better refine your stacks. 

## Remove Chunks
If chunks are returned that you do not want to be included in query results and conversations with models, select the trashcan icon to remove the chunk. 

Note that the next time the resource is composed, the chunk will again likely be added back. 

## Personal Identifying Information (PII) :aurum-tag

Enable the PII Scrubbing option to scrub personal identifying information. This will replace detected PII data with flags so that PII is not sent to the model. 

![scrub pii chunks console](/images/knowledge-stacks/pii-chunks-console.png)

This is a great way to help prevent unwanted PII being sent to online models. 

The Chunks Console makes it easier to verify that PII has been scrubbed by using various queries and verifying PII is being redacted. 

::Resources


---

Analytics and Insights is a detailed report providing key insights as well as recommendations for improving Knowledge Stacks. 

This feature is in progress. Please join us on Discord and let us know what you think. 

::Resources

---

## Folder Management 

You can create and manage folders and Knowledge Stacks. The management capabilities are same as other areas in Msty Studio. 

## Export a Knowledge Stack
Click on the ellipsis icon next to a Knowledge Stack and the select the option to **Export**. 

Select where on your device to save, and then select **Save**. 

This will save the vectorized database of the Knowledge Stack that you can keep as a backup or share with others. 

## Import a Knowledge Stack

Select the option to **Import Knowledge Stacks** to import a stack into Msty Studio. 

The imported stack will automatically be a **locked stack** and you will not be abled to re-compose locked stacks. 

::Resources

---

The `.mstyignore` file is a powerful tool allows you to specify which files and folders should be ignored when composing your knowledge stack. By using `.mstyignore`, you can streamline your knowledge base, exclude unnecessary files, and maintain a cleaner, more focused stack.

### Understanding .mstyignore Syntax

Good news for those familiar with Git: `.mstyignore` uses the same syntax as `.gitignore`. This means if you're already comfortable with `.gitignore`, you'll find `.mstyignore` intuitive and easy to use. For those new to this syntax, don't worry – it's straightforward and easy to learn.

### How to Create and Use a .mstyignore File

1. Create a new file named `.mstyignore` in the root directory of your knowledge stack folders
2. Open the file in a text editor
3. Add patterns for files and folders you want to ignore, one per line
4. Save the file

### Syntax Rules and Pattern Examples

Here are some common patterns and what they do:
1. Ignore specific files:
   `example.txt`

2. Ignore all files with a certain extension:
   `*.log`

3. Ignore all files in a specific folder:
   `folder_name/`

4. Ignore a specific folder and all its contents:
   `folder_name/**`

5. Ignore files or folders that match a pattern:
   `**/temp_*`

6. Negate a pattern (include a file that would otherwise be ignored):
   `!important.txt`

Practical Examples

Here's an example of what your `.mstyignore` file might look like:

```
# Ignore all .log files
*.log

# Ignore the entire 'temp' folder
temp/

# Ignore all .tmp files in any directory
**/*.tmp

# Ignore all files in the 'drafts' folder
drafts/

# But don't ignore important drafts
!drafts/important_draft.md

# Ignore all files starting with 'temp_'
temp_*

# Ignore all files ending with '_old'
*_old
```

### Best Practices

1. Keep your `.mstyignore` file in the root directory of your knowledge stack.
2. Use comments (lines starting with #) to explain complex patterns.
3. Be specific to avoid accidentally ignoring important files.
4. Regularly review and update your `.mstyignore` file as your knowledge stack evolves.

By effectively using `.mstyignore`, you can maintain a clean, relevant, and efficient knowledge stack in Misty AI. This allows you to focus on the information that matters most, improving the overall quality and usefulness of your AI assistant.

::Resources

---

Next Gen is a big step forward for Knowledge Stacks. We've added new ways to bring content into your stacks, made retrieval smarter, introduced new chunking and compose options, and polished up the whole experience.

::alert{type="info" icon="tabler:info-circle"}
**Already using classic Knowledge Stacks?** If you're currently using classic Knowledge Stacks, you can switch to Next Gen directly from the Knowledge Stacks section in Msty Studio. Your existing stacks will continue to work, and you can start creating new Next Gen stacks alongside them. We do recommend making the switch though. Once you try it, you probably won't want to go back!
::


## How to Get Started

Getting up and running with Next Gen is pretty straightforward:

![switch to next gen](/images/knowledge-stacks/switch-next-gen.png)

::steps
1. Open **Msty Studio** and navigate to the **Knowledge Stacks** section
2. In the bottom-left corner of the Knowledge Stacks panel, click the dropdown and select **Switch to Next Gen Knowledge Stack**
::

That's it, you're now using the Next Gen version of Knowledge Stacks!

If you'd like to switch back to the classic Knowledge Stacks, you can do that any time by following similar steps to the above. 

## Discover Knowledge Stacks

Select the **Discover** tab to browse Knowledge Stacks published in the Msty catalog.

- Search by name, description, or tag
- Open an item to review its details
- Install a Knowledge Stack directly from its catalog URL
- Refresh the catalog to check for newly available stacks

The catalog includes the official **Msty Docs** Knowledge Stack, which provides setup, feature, and workflow documentation for use in conversations.

::steps
### Open Knowledge Stacks
Open the Knowledge Stacks hub and switch to Next Gen if needed.

### Select Discover
Open the **Discover** tab.

### Review a stack
Search or select a Knowledge Stack to review its description and tags.

### Install
Select **Install**. Msty downloads and imports the stack into your library.
::


## What's new?

### More ways to add content to your stack

One of the biggest changes in Next Gen is that you're no longer limited to just files and folders. You can now bring in:

- **Conversation Projects** — Upload entire Msty Studio project folders into your stack. Msty will process and index everything so it's ready for retrieval.

- **Chats** — This one's really handy. You can add past conversations into your stack, so your AI can reference things you've already discussed. Great for building up context over time.

- **Web Links** — Add Webpages to a Knowledge Stack using Jina API key. Found a helpful article or docs page? Just paste the URL and Msty will fetch the content and add it to your stack. No copy-pasting needed. This does require a [Jina](https://jina.ai){target="_blank"} key. 

- **Pause and Resume Composing** — If you are uploading large amounts of files, you can now pause and continue composing Knowledge Stacks later without losing progress. 

- **Folder sync** - Just like with File Sync, you can now set a folder to compose automatically if new files or changes to existing files are detected. This keeps you Knowledge Stack up-to-date without requiring you to manually re-compose your stacks. 

These join all the existing sources you're already familiar with (files, folders, text, etc.), so you've got a lot of flexibility in how you build your knowledge base.

### Pause and Resume Composing

You can now pause and resume composing Knowledge Stacks. 

Pausing stops the compose process but saves the progress. You can even use the chunks visualizer and console after pausing the progress. When you are ready to resume, select the resume button to continue composing. 

### Folder Watch Modes

Watch modes have been added to Folder uploads, which when enabled, will mark a folder as needing to be re-composed or will automatically compose depending on the setting you've enabled. 

When enabled, Msty Studio will watch the folder location for changes, including adding new documents or updating existing documents, and these new or changed documents will be composed during the next run. 


### Rerank Model — get better results from your queries

This is one of those features that sounds simple but makes a big difference.

Typically, when you query your stack, Msty pulls back the most relevant chunks using similarity search. That works well most of the time, but sometimes the results aren't perfectly ordered and a chunk that's *pretty close* might show up above one that's actually a better fit.

That's where the **Rerank Model** comes in. It takes those initial results and runs them through a specialized ranking model that **re-scores and reorders** them. The end result? The chunks that actually matter most for your specific question get pushed to the top.

**To turn it on:** Head to your stack's **Query Settings** and pick a Rerank Model from the dropdown. This feature uses [Jina](https://jina.ai){target="_blank"} and you'll need to apply a Jina API key in order to use reranking. 


### File (Single Chunk) — a new way to chunk your content

We've added a new chunking method called **File (Single Chunk)**, which does exactly what it sounds like, it treats each file or item as one whole chunk instead of splitting it into smaller pieces.

**Why would you want this?**

- Some documents are short enough that breaking them up doesn't make sense (think FAQs, short notes, or individual reference docs).
- Sometimes splitting a file can break important context such as if a paragraph only makes sense when you read it together with the rest of the document, keeping it whole is the way to go.
- It gives you more predictable retrieval since the entire file content always comes back as one unit.
- Or, sometimes you may want to use an outside chunking method and your files are already pre-chunked and don't require being chunked again. 

**How to use it:** When you're composing your stack, select **File (Single Chunk)** as your chunking method in the Compose Options.


### Knowledge Stack Preset for Local Models

If you're running local models, you might have noticed that the default context window (`num_ctx`) on most local models can be a bit low for Knowledge Stack use cases. When your stack pulls in a bunch of relevant chunks but the model's context window is too small to fit them all, you end up losing valuable context — and your responses suffer.

To fix that, we've implemented **Knowledge Stack preset** specifically designed for local models. When you apply it, the preset automatically bumps `num_ctx` to a higher value (around 20,000 tokens), so your local model has enough room to actually work with all the context your stack provides.

**Why this matters:**

- **Better responses from local models** — More context means the model can see more of your retrieved chunks at once, leading to more informed and complete answers.
- **No manual tweaking needed** — Just apply the preset and you're good to go.
- **Optimized for RAG workflows** — The preset is tuned specifically for Knowledge Stack usage, so it strikes a good balance between context size and performance.

**How to use it:**

When starting a conversation with a Knowledge Stack attached and a local model selected, apply the **Knowledge Stack preset** from the model parameters settings. The context window and relevant parameters will be configured automatically.


### Right-Click Context Menu in Tree View

We've added a context menu to the Knowledge Stacks tree view navigation panel, so you can now perform compose actions directly with a right-click.

**Available actions:**

- **Compose** — Kick off composing for a stack or an entire folder
- **Pause Compose** — Temporarily pause an in-progress compose operation
- **Resume Compose** — Pick up right where you left off after pausing
- **Abort Compose** — Cancel an in-progress compose operation entirely
- **Force Compose** — Re-compose from scratch, even if the stack has already been composed

**How it works:**

- **Right-click on an individual stack** — The action applies only to that specific stack.
- **Right-click on a folder** — The action applies to all stacks inside that folder. Msty will show a confirmation dialog letting you know how many stacks will be affected before anything runs, so there are no surprises.

This is one of those workflow improvements that saves you more time than you'd expect. Instead of clicking into each stack individually to manage composing, you can handle it all right from the tree view — including pausing, resuming, and bulk operations across entire folders. If you're managing a workspace with a lot of stacks, you'll definitely feel the difference.

### A cleaner, more polished experience

Beyond the big feature additions, we've also put a lot of work into making the overall experience feel better:

- **Composing is smoother** — Adding sources, tweaking settings, and managing what's in your stack feels more natural.
- **Visual composing progress** — You can now see more clear real-time progress of your files and folders as they're being composed.


::Resources


---

The Toolbox allows for seamless communication with tools installed on your local machine or a remote one. These tools can interact with various data sources, perform file operations, and connect to repositories like GitHub, further empowering Msty Studio.

This is Msty Studio's implementation of Model Context Protocol (MCP).

Msty Studio supports local MCP server that run on your machine as well as remote MCP servers that can be connect to over Streamable HTTP. 

::alert{type="warning" icon="tabler:info-circle"}
Please note the SSE protocol has been deprecated in favor of Streamable HTTP for remote MCP server connections. Studio's implementation came after the deprecation, and as such, SSE is not supported. However, you can use a local proxy such as mcp-remote to connect to SSE-based MCP servers if needed.
::

To utilize the Toolbox features with Msty Studio Web, you must have Studio Web connected to Studio Desktop using [Remote Connections](/settings/remote-connections) or [Sidecar](/how-tos/sidecar).

![Msty Studio Tools](/images/tools.png)

## Import Default Tools

::alert{type="info" icon="tabler:info-circle"}
Please note that default tools as well as any tool you add are not created, tested, nor maintained by Msty. We are merely providing a platform to use these and allowing to import them as a convenience. **PLEASE USE THEM AT YOUR OWN RISK**. Msty is not responsible for any issues that may arise from using these tools. Also, for support, please reach out to the tool's author.
::

To get started, you can select the option to **Import Default Tools**. Please keep in mind these tools are not created nor maintained by Msty team and are meant to provide a starting point.

## Add A New Tool

Select **Add New Tool** to add a new tool to your toolbox. This will open a new window where you can define the tool's name, configuration, and notes.

::steps

1. Select **HTTP** for remote MCP servers setup for streamable HTTP and tools or **STDIO / JSON** for local MCP servers and tools.
2. If HTTP is selected, enter the **MCP Server URL** endpoint. Also, enter any **Authentication** and **Headers** needed to connect to the MCP server.
3. If STDIO / JSON is selected, enter the **Tool Configuration** in JSON format.

The configuration should be a valid JSON object. Here is an example configuration for a MYSQL tool.

```
{
  "command":"uv",
  "args": [
    "--directory",
    "{dbPath:Database Path:/path/to/database.db}",
    "run","mysql_mcp_server"
  ],
  "env":{
    "MYSQL_HOST":"{Database Host}",
    "MYSQL_PORT":"{Database Port}",
    "MYSQL_USER":"{Database User}",
    "MYSQL_PASS":"{Database Password}",
    "MYSQL_DB":"{Database Name}"
  }
}
```

Take note of the **command**, which identifies dependency programs such as Python, UV, Node, and NPX for examples. These programs must be installed on your local machine in order for the tool to run.

If using the above example, then also take note of the variables in the mustache brackets. These are the variables that will be passed to the tool when it is ran. You can use these variables in your tool configuration to make it more dynamic. You will be able to define variables in the following steps.

3. Optionally, enter **Notes** to help you remember the purpose of the tool and any other information you may need to remember
4. Give the tool a unique **Name**
5. Select **Add** to add the tool to your toolbox

::

## Set Tool's Default Parameters

To set default parameters for a tool, select the asterisk (**\***) icon next to the tool name. This will open a window where you can define the tool's parameters.

Here, you can add **Custom Arguments** and set **Environment Variables** that may be needed for the tool to run, such as directory paths, endpoints, API keys, and so on.

There is also a **Tool Console** where you can test the tool with different parameters.

## Install Dependencies

Most tools will require dependencies - such as Node, NPX, and Python - to be installed on your local machine in order to properly run.

For Node installations - at this time, we recommend installing using Volta to manage installing Node and NPX. Mac users may use Homebrew. We do not recommend using NVM. If using NVM, you may need to uninstall and use Volta instead.

To check which package manager you used to install Node, run the following command in your terminal and take note of the directory path.

```
which node
```

If installed under NVM directory, then you'll likely need reinstall using a recommended package manager.

::alert{type="info" icon="tabler:info-circle"}
If you are running into issues with dependencies not showing as available, click on Sidecar and then select **View Logs** to see if there are any helpful error messages.
::

::Resources


---

Toolsets are a collection of tools with defined parameters. You can create a toolset and add tools to it. When chatting with a model, you can select one or multiple toolsets to use with the model.

## Add New Toolset and Congiure Tools

![Add new toolsets](/images/toolsets.png)

::steps

1. Select **Add New Toolset** to add a new toolset
2. Enable the tools you want to include in the Toolset
3. Select the asterisk (**\***) icon next to the tool to define the [parameters](/toolbox/tools#set-tools-default-parameters) the tool should use with this Toolset
4. Add any **Notes** to help you remember the purpose of the toolset and any other information you may need to remember
5. Give the toolset a unique **Name**
6. Select **Add** to add the toolset to your toolbox

::

## Using a Toolset in a Conversation

You can enable a Toolset in a conversation by selecting the Toolset icon and then selecting which Toolset(s) you'd like to enable.

When applying a Toolset, you'll also want to ensure that the selected model supports the usage of the Toolsets you are planning to use.

By default, all models have **Tools** disabled as a 'purpose' and you'll want to test the model with the Toolset to ensure compatibility. If the model is compatible with the Toolsets, then in the Conversation toolbar, select the model dropdown, and then select the edit icon next to the model. A window will display where you can enable **Tools** as a 'purpose' for the model. This will then remove the warning message that you may have noticed from the Conversation toolbar when adding the Toolset.
![set models' purpose](/images/tools-model-purpose.png)

::Resources


---

Live Contexts are external data sources that you can add to your conversation in the form of calling an API. This allows you to bring in information from various sources and services to provide more context and enhance the interaction with models.

Live Contexts can either use a simple GET request to fetch data from an endpoint. Or, it can be more **dynamic** by allowing the model to determine variables and parameters to include in the API call, allowing for more flexibility and adaptability based on the conversation.

## Add New Live Context

Connect to your favorite APIs to enhance your conversations. You'll first want to identify an API you'd like to use and gather necessary information to connect to it, such as an API key.

Check out the [Live Context Examples](/how-tos/live-context-examples) for some inspiration on APIs you can connect to.

![add live context](/images/live-context.png)

::steps

1. From the **Toolbox** section, select **Live Contexts**
2. Click on the **Add New Live Context** button
3. Select an **HTTP Method** (GET or POST)
4. Enter the **URL Endpoint** for the API you want to connect to. You can include variables in curly braces, such as `{query:'keyword'}`, which the model can fill in dynamically
5. Adjust the **Prompt** if needed; you can still add prompts at the point of messaging
6. Include any **Request Headers** needed for the API call, such as an Authorization header - you can also include variables here for the model to fill in
7. Set **Live Context Mode** - by default, it is set to 'Push' which will send the Live Context data to the model automatically when included in a conversation. You can also set it to 'Pull' which will allow the model to decide when to call the Live Context during the conversation. Use the Pull mode option when using dynamic variables in the endpoint or headers that the model needs to fill in.
8. Include any **Request Body** needed for the API call, such as a JSON body - you can also include variables here for the model to fill in
9. Include any **Processing Function** needed to process the API response. The default is to return the response as a string which for most cases you can leave as-is

   `return JSON.stringify(data)`

10. Test the endpoint by selelecting **Test Connection** and you can include test variables if needed
11. Include any helpful **Notes** which is also visible to the models, which can help guide their use of the Live Context
12. Provide a unique **Name** for the Live Context
13. Select **Add** to save the Live Context

::

## Using Live Contexts

Once you have created a Live Context, you can use it in your conversations by clicking on the **Toolset** icon and then select the **Live Contexts** you'd like to include in the conversation. You can even add multiple Live Contexts to a conversation.

![live context in chat](/images/live-contexts-convo.png)

## Example endpoints

Check out the [list of example endpoints](/how-tos/live-context-examples) for example endpoints you can play with.

::Resources


---

Tools run where the Sidecar is running and each tool has its own dependencies such as `npx`, `node`, `python`, `uv`
etc.

There are so many ways to install these dependencies on your machine and it's not possible to cover all of them so we
recommend the following approach.

::alert{type="warning" icon="tabler:info-circle"}
You may find that some dependencies installed via a certain package manager, such as `nvm`, are not compatible with the
tool you are using.
::

## Recommended Approach

For `npx` and `node`, we recommend using [Volta](https://volta.sh/) to install and manage your dependencies. It's a
cross-platform
tool that works on Windows, Mac, and Linux. macOS users can use [Homebrew](https://brew.sh/) to install dependencies as
well.

For `python` and `uv` on Windows, we recommend using [WinGet](https://winget.run/) to install and manage your
dependencies.
Based on your platform, you might have to set full paths to your dependencies in Sidecar connection dialog.

For `uv` on Mac, you can install via Homebrew `brew install uv`. This will automatically include `uvx`.

## Configuring Python and uv/uvx on Windows

1. Install [WinGet](https://learn.microsoft.com/en-us/windows/package-manager/winget/) on your Windows machine.
2. Open a terminal and run the following commands to install Python and uv:
   ```bash
   winget install -e --id Python.Python.3.12 --scope machine
   winget install --id=astral-sh.uv  -e
   ```
3. Open the Sidecar connection dialog and set the full path to your Python installation. You don't need to set the full path
   to `uv` as it will be detected automatically.

![Tool Dependencies Paths Setup](/images/tool-deps-config-windows.png)

4. Once connected, you can create a new tool and use tool console to list the features of this tool. If you see the
   features, it means the tool is working correctly. You can use the following as an example tool:
   ```json
   {
     "command": "uvx",
     "args": ["mcp-request"]
   }
   ```

::alert{type="warning" icon="tabler:info-circle"}
When using a tool for the first time, it could take a few minutes for it to download and install additional dependencies. This depends on the tool you are using and is outside of Msty's control.
We recommend keeping an eye on Sidecar logs to see if there are any errors or issues with the tool.
::

![Tool Console Output](/images/tool-console-output.png)

::Resources


---

Turnstiles help you run structured workflows across multiple prompts and actions, with full control over flow, retries, and reusable templates.

![Turnstiles](/images/turnstilesv2.png)

## Open Turnstiles

::steps
### Open from the action bar
Click the **Turnstile** icon in a conversation.

### Queue from your current prompt
Write a prompt, then click **Add to Queue**. You can also **Alt+Click** the Turnstile icon to queue quickly.

### Load a saved Turnstile
Use **Load Saved Turnstile** to bring a saved workflow into the queue.
::

## Entry Types

- **Prompt**: Standard prompt step with optional model, [attachments](/add-ons/attachments), [toolsets](/toolbox/toolsets), and [Real-Time Data](/add-ons/real-time-data).
- **Persona**: Run a step using a saved persona.
- **Meta actions**:
  - Continue
  - Regenerate
  - Context Shield
  - Context Shield with Summary
- **Conditional**: Branch execution based on assistant or user output.
- **Loop Start / Loop End**: Repeat a block up to max iterations, with optional early exit condition.
- **Checkpoint**: Pause execution for review, variable input, and manual routing decisions.

## Advanced Step Controls

Each step can include advanced controls:

- **Label** and **Note** for organization
- **Delay** (seconds) between steps
- **Pause After** to force a manual checkpoint
- **Send as Assistant** (inject text without generating)

## Variables and Output Transforms

- Save step output as a variable (for example `summary`) and reuse with `{{summary}}`.
- Extract only what you need using transformers:
  - **JSON Path**
  - **Regex** (first match group)
  - **Slice** (`start:end`)
- Loop variables are available in prompts:
  - `{{loop.iteration}}`
  - `{{yourLoopId.iteration}}`

## Error Handling and Model Fallbacks

- Set a queue-level default error behavior:
  - **Stop**
  - **Retry Once**
  - **Use Fallback Model**
- Override error behavior per step when needed.
- Use default and fallback models to keep workflows portable across environments.

## Running the Queue

- Run controls include **Run**, **Pause**, **Continue**, and **Stop**.
- Use **Rounds** to repeat the entire queue multiple times.
- Reorder with drag-and-drop, skip/unskip entries, and clear queue when needed.
- Checkpoints support:
  - Continue
  - Skip next N steps
  - Jump to a labeled step
  - Abort
  - Variable review/edit before continuing

## Organizing Saved Turnstiles

- Save, clone, and update turnstiles from the Turnstiles hub.
- Organize turnstiles into folders.
- Set a default folder.
- Move one or many turnstiles between folders (including drag-and-drop).
- Import/export turnstiles as zipped bundles.

## Discover Turnstiles

Open the Turnstiles hub and select the **Discover** tab to browse reusable workflows.

- Search by name or description
- Filter by **Available**, **Installed**, or **All**
- Review a Turnstile's details before installing it
- Install one Turnstile or select multiple Turnstiles for bulk installation
- Monitor bulk-install progress or stop the remaining installation queue

Turnstiles installed from Discover are added to the **Misc** folder and can be edited like other saved Turnstiles.

## Quick Parsing Commands

When queuing directly from chat text, Turnstiles supports separator commands:

- `--m--` Prompt message split
- `--r--` Regenerate
- `--c--` Continue
- `--cs--` Context Shield
- `--css--` Context Shield with Summary

Example:

```
Draft a short update.
--m--
Rewrite it for executives.
--m--
Turn it into three bullet points.
--c2--
```

## Access :aurum-tag

Turnstiles are available with an Aurum license.

::Resources


---

Enable Real-Time Data (RTD) integration to instantly enhance your conversations with current information, weather updates, sports scores, news headlines, and more.

Real-Time Data is built into Msty Studio Desktop. However, Studio Web cannot access RTD natively but can be connected to an instance of Msty Studio Desktop by using the [Remote Connections](/settings/remote-connections) feature or by using [Msty Sidecar](/how-tos/sidecar).

## How RTD Works

RTD is not powered by the model itself, but rather by a search engine that retrieves information from the internet. When you enable RTD, Msty Studio will use the configured search engine to fetch the latest data and provide it to the model as context for your conversation.

The model will then use this context to generate responses that are informed by the most recent information available.

## How to enable Real-Time Data

Click the globe icon inside the chat input box to enable the Real-Time Data feature. When this feature is enabled, Msty Studio retrieves information from the internet and provides it to the model for enhanced context in your conversations.

::alert{type="info" icon="tabler:info-circle"}
Note that some models are better than others with looking for real-time data, including for the current date. You may need to set the date range to specify a date or be explicit in the prompt to include the exact date you are interested in.
::

## Real-Time Data Options

Right-click on the globe icon to configure advanced options, including which method to use for real-time data.

### Google
You can use and configure Google custom search options. 

This mode is available for all users. However, Google may limit, throttle, or block requests that are too frequent or too broad. Msty Studio does not have control over these limits.

### Brave

You can use and configure Brave search options.

This mode is available for all users. However, Brave may limit, throttle, or block requests that are too frequent or too broad. Msty Studio does not have control over these limits.

### Jina :aurum-tag

You can setup a [Jina](https://jina.ai/) account and grab an API key. Enter the API key in the **Use Jina** tab in Msty Studio.

#### Advantages
Jina offers specialized capabilities, making it a robust alternative for search:
*   **Semantic Search:** Excels at understanding query meaning for more relevant results.
*   **Versatile Use Cases:** Useful for web scraping and content extraction.
*   **Alternative Search Solution:** Provides a strong alternative to conventional search engines, focusing on semantic understanding.

#### Advanced Options

When integrating Jina, an advanced search option is available to fine-tune its behavior:

*   **Maximum Results:** You can adjust the maximum number of results that Jina will fetch for a given query or task. This allows for control over the volume of data retrieved.

### SearXNG :aurum-tag

[SearXNG](https://docs.searxng.org/) is a free internet metasearch engine which aggregates results from various search engines without tracking users. You can use your SearXNG instance to search the web for real-time data.

In Msty Studio, enter your instances endpoint on the **Use SearXNG** tab. For example, `https://searxng.example.com/`.

For additional guidance on setting up SearXNG, check out our Youtube video on [How to Set Up SearXNG](https://youtu.be/FFDSy3TX3YI).

### Tavily :aurum-tag

[Tavily](https://www.tavily.com/){target="_blank"} is a privacy-focused search engine that does not track users and provides unbiased search results. You can use Tavily to fetch real-time data for your conversations.

You will need to create a free account to get an API key. Then, enter the API key in the **Use Tavily** tab in Msty Studio.

#### Advanced Search Options

Tavily's advanced options provide granular control over how searches are performed, allowing users to tailor results to specific requirements. These settings are crucial for optimizing the relevance and depth of the data provided to your models.

##### Search Topic
Specify the primary subject matter of your search to narrow down results.
*   **General (Default):** Broad search results.
*   **News:** Focuses on current events and journalistic content.
*   **Finance:** Specializes in financial markets and economic news.

##### Search Depth
Determines the level of detail and content volume retrieved.
*   **Basic (Default):** Provides high-level, general information with less contextual detail, suitable for overviews.
*   **Advanced:** Narrows results, provides significantly greater content volume and deeper context for comprehensive and well-informed responses.

##### Limit Domain
Restrict the search to specific websites or domains. This ensures results are sourced only from designated or trusted sources, enhancing data relevance and reliability.

##### Custom Search Query
Manually input a specific search query. While available, it's often recommended to leave this field empty and allow the integrated model to formulate the most appropriate query based on natural language input for optimal results.

##### Time Range
For time-sensitive queries, specify a particular time frame for the search. This ensures only information published or relevant within that period is retrieved, useful for historical analysis or focusing on recent events.

#### Advantages
Tavily offers several key benefits:
*   **Enhanced Privacy:** Offers a private option for data retrieval.
*   **Advanced Customization:** Provides extensive options for fine-tuning search parameters.
*   **Richer Context for Models:** Delivers relevant and accurate contextual information for precise model responses.

### Exa :aurum-tag
[Exa](https://exa.search/) is a privacy-focused search engine that does not track users and provides unbiased search results. You can use Exa to fetch real-time data for your conversations.

You will need to create a free account to get an API key. Then, enter the API key in the **Use Exa** tab in Msty Studio.

### Ollama :aurum-tag
You can use [Ollama](https://ollama.com/){target="_blank"} to fetch real-time data for your conversations.

You will need to create an account and enter your API Key. 

::alert{type="info" icon="tabler:info-circle"}
Ollama as a Real-Time Data source is only available for Desktop at this time due to CORS restrictions on the web.
::

### Google API :aurum-tag
For more reliable results, you can use your own Google Custom Search Engine (CSE) and API key.

To set this up, follow these steps:

1. Go to the [Google Cloud Console](https://console.cloud.google.com/).
2. Create a new project or select an existing one.
3. Enable the Custom Search API for your project.
4. Create credentials (API key) for your project.
5. Set up a Custom Search Engine (CSE) and get the CSE ID.

Enter your API key and CSE ID in the **Use Google API** tab in Msty Studio.

### Brave API :aurum-tag
For more reliable results, you can use your own Brave Search API key.
To set this up, follow these steps: 
1. Go to the [Brave Search API page](https://search.brave.com/api).
2. Sign up for an API key.
3. Choose the appropriate plan based on your needs.
4. Once you have your API key, enter it in the **Use Brave API** tab in Msty Studio.

::alert{type="info" icon="tabler:info-circle"}
Brave API is available for Studio Desktop only. Studio Web cannot use Brave API due to CORS restrictions on Brave's end.
::

## Advanced Options

Many real-time data providers offer advanced settings to fine-tune search behavior and tailor results to specific requirements, optimizing the relevance and depth of the data provided to your models.

#### Maximum Results
Available for: Jina, Tavily, Exa, Google, Brave

#### Custom Search Query
Available for: Tavily, Exa, Google, Brave

#### Limit Domain
Available for: Tavily, Exa, Google, Brave

#### Time Range / Search Date Range
Available for: Tavily, Exa, Google

#### Search Operators / Filters
Available for: Google, Brave

### Allowing insecure content

Studio uses a JSON API so you will typically need to ensure your instance is being served over HTTPS.

However, some browsers have settings to allow for 'insecure' content served over http for a website. Such as Brave via `brave://settings/content/insecureContent?search=additional+content` > allow Msty Studio to load insecure content.

## Real-Time Data Troubleshooting and Tips

If you're seeing irrelevant responses, the issue may lie with one of the following: 

**Search engines not returning useful results or no results at all.**

- Check the context window size for the model by clicking the **Model Parameters** icon and try increasing it if possible.
- If no results are returned, try selecting a different search engine. Some search engines will limit, throttle, or block requests that are too frequent or too broad.
- If you have a VPN enabled, it may be affecting the search results. Try disabling the VPN and see if that resolves the issue.
- Try using Jina or SearXNG for more reliable results.
- If using Sidecar, confirm Studio is connected. 

**Model not using the real-time data effectively.**

- Increase the model's context window size if possible as the context window size determines how much information the model can consider when generating responses.
- Ensure the model is capable of understanding and utilizing real-time data. Some models may not be optimized for this purpose.
- If the model is not using the real-time data effectively, try refining your prompts to be more specific about the information you want.

### Best Practices

- Use clear, specific prompts that suggest a need for recent or factual data.
- If RTD is enabled but no sources are cited, be cautious: the model may have hallucinated.
- Consider having a system prompt note that a search will occur — it may improve result consistency.
- If zero results are returned, have the model return an error message or fallback notice rather than hallucinating a confident but false answer.

## Set a default Real-Time Data provider

You can set a default Real-Time Data provider and options in **Settings > General > Add-ons Defaults**. This will apply to all new conversations unless changed at the conversation level.

## Pull Mode

Setting a Real-Time Data provider to Pull mode allows the model to decide when to call the Real-Time Data during the conversation. Use Pull mode when you want the model to have more control over when to fetch real-time data.

::Resources


---

In Msty Studio, attachments add files, images, webpages, and YouTube links to a conversation as extra context.

For reusable context, use [Context Studio](/studios/context-studio). Context Studio is the new name for Attachment Manager and stores attachments so they can be organized, previewed, reused, and searched with Dynamic Mode.

## Add Attachments to a Chat

Use the attachment icon in the chat input, drag items into the input area, or paste supported URLs.

You can select or unselect attached items during the conversation to control which context is included.

## Documents

Drag and drop files into the input box or use the attachment icon. Documents are saved to Context Studio and can be reused later.

## Images

Drag and drop images into the input box, use the attachment icon, or capture screenshots where supported. Images are saved to Context Studio and can also be used in [Media Studio](/studios/media-studio).

## Webpages

You can attach webpage URLs to chats by dropping them directly into the input box or by pasting URLs.

Website attachments can use Studio's default website fetch when a desktop sidecar is connected. If sidecar is unavailable, enable Jina in [Context Studio](/studios/context-studio) settings and add a Jina API key.

## YouTube Links

You can attach YouTube links to chats by dropping them directly into the input box or by pasting URLs.

As with images and documents, YouTube links can be selected or unselected as needed during the chat. Msty imports video details and transcript context when available.

## Browse Existing Attachments

Use **Browse Existing Attachments** from the attachment menu to pick items already stored in Context Studio.

This is useful when you want to reuse files, images, webpages, or YouTube links without uploading or fetching them again.

## Dynamic Mode :aurum-tag

Dynamic Mode lets a tool-capable model search selected Context Studio folders or your full context library on demand.

Use Dynamic Mode when you want the model to find relevant context itself instead of sending specific attachments with every prompt.

See [Context Studio](/studios/context-studio) for setup and requirements.

::Resources


---

Workspaces in Msty Studio help keep your projects organized by allowing you to create multiple, separate work areas. Each workspace can have its own unique settings, including models, conversations, toolsets, and prompts.

## Add New Workspaces

When you start Msty Studio for the first time, a default Workspace is created for you.

You can create additional workspaces to organize your work. Each workspace can have its own set of conversations, toolsets, prompts, and other settings.

![Add new workspaces](/images/new-workspace.png)

::steps

1. Beneath the Msty logo and the default Workspace icon, select the **+** symbol to create a new **Workspace**
2. Enter a unique **Workspace Name**
3. Select any setting(s) you'd like to copy from the current Workspace you are in to the new Workspace
4. Select **Create and Switch** to create the new Workspace and automatically switch to it

::

## Export And Import Workspaces

You can export a Workspace by right clicking on the Workspace icon and select the **Export Workspace** option. This will create a Zip file that you can save to your local machine.

Likewise, you can import a Workspace by selecting the **+** symbol and then select the **Import Workspace** option. This will allow you to select a Zip file from your local machine to import into Msty Studio.

::Resources


---

Keep your Workspace nice and tidy by organizing your projects and conversations into folders.

## New Projects and Child Projects

![new projects](/images/new-project.png)

This is your classic folder and subfolder structure.

Add a new **Project** by select the menu icon next to **New Conversation** and then select **Create New Project**.

To create a new **Child Project**, select the ellipsis icon next to the Project Folder and then select **Add New Project**.

Both of these options will open a new window where you can define your project presets, such as project name, description, system prompt, and any tools and add-ons you want to enable.

## Organizing Conversations

Select the ellipsis icon to perform the following actions on a conversation:
- Edit Conversation title
- Clone Conversation
- Move Conversation
- Bookmark Conversation
- Copy/Move Conversation to a Workspace
- Convert to Forge Mode
- Delete Conversation

You can also hold down **Shift** or **Ctrl** (or **Cmd** on Mac) and select multiple conversations to perform actions on them in bulk.

Bulk actions include:
- Moving Conversations
- Deleting Conversations

![bulk organize conversations](/images/deleting-convos.png)

## Recent and Pinned Conversations
Your most recent conversations are listed under the **Recents** folder on the Projects sidebar.

Pinned conversations are also listed under the **Recents** folder. You can pin a conversation by selecting the pin icon in the ellipsis menu for that conversation.

## Projects and Conversations Sort and Display

Toggle the filter icon to display the search field and sort and display button. Click the **Sort and Display** button to show available options. 

![sort and display](/images/sort-and-display.png)

**At the project folder level, you can**: 
- Select the primary sort option - by project name or created date
- Order ascending or descending 
- For project with child projects, display nested folders first or conversations first

**At the conversation level**: 
- Sort by conversation title, created date, or latest activity date
- Order ascending or descending
- Show pinned conversations at top or bookmarked conversations at top

**Toggle visibility for**: 
- Recents folder
- Archived folder
- Empty folders
- Number of conversations within a folder

## Promote Child Project to Root Level

If you need to move a child project (and all its conversations and subfolders) to the root level of your workspace, you can do so easily.

::steps
### Select the Folder
Click on the folder you want to move.

### Open Folder Options
Click the ellipses icon (⋯) next to the folder.

### Move to Root
Select **Move folder to root** from the menu. The folder and all its children will be moved to the root level of your project structure.
::

::alert{type="info" icon="tabler:info-circle"}
This action preserves the folder's entire subtree structure when moving it to root.
::

## Archive Old Conversations

In **Settings > General > Conversations**, you can auto and manually archive conversations older than the number of days you define. 

Archived conversations are not deleted and will appear in the **Archive** folder in the main project folder tree. 

If you do not see the **Archive** folder, then enable it in the view following the instructions in the **Projects and Conversations Sort and Display** section above. 

::Resources


---

Environments are a powerful feature in Msty Studio that allow you to create and manage different settings for your different projects or use cases. By using environments, you can easily switch between different configurations without having to manually change settings each time.

## Add and Manage Environments :aurum-tag

On the left menu, select the ellipsis icon and then select **Environments** and then **Manage Environments**.

By default, there is a **Base Environment** that is created for you. This environment is used to store variables that are common across all environments.

Also, if the active environment doesn't have a variable set, it will fall back to the Base Environment and check to see if the variable is defined there.

### Add New Environment

To add a new environment, select the **Add Environment** button. Then, add an Environment **Name** and enter the **Variables** you want to set for this environment.

You can also click on the ellipsis icon next to an existing environment to **Clone Environment** and then use that as a starting point for a new environment.
![add new environment](/images/new-environment.png)

You can always come back and modify the environment variables later.

### Backup and Restore Environments

Select the down arrow icon next to the **Add Environment** button to backup or restore your environments.

### Remove Environment

To remove an environment, select the ellipsis icon next to the environment you want to remove and select **Delete Environment**.

## Set Active Environment

You can select an active Environment from the Manage Environments section by selecting the ellipsis icon and then select option to **Make Active Environment**.

You can also quickly select an Active Environment from the ellipsis icon on the main left menu and then select an icon under the **Environments** submenu.

If an Environment Variable is not in the selected Environment; however, is in the **Base Environment**, then the variable will fall back to the one listed in the Base Environment.

## Use Environment Variables

You can use Environment Variable in the following areas of Msty Studio:

1. Model provider API keys
2. System prompts
3. Conversations
4. Tools

You can copy and paste variables into these areas. Note that variable names will automatically begin with `MSTY_`, such as `MSTY_MY_VARIABLE`.

When a process runs, the variable placeholder will be replaced with the value of the variable in the active environment.

::alert{type="info" icon="tabler:info-circle"}
Use the same variable name across Environments for things like model provider API keys, this way, when you change the environment, you change the underlying API Key - making it easy to switch between model API environments.
::

### Dynamic Variables

There are a few dynamic variables that accessible from the Environment Variable picker (shift+shift+e). These variables are automatically populated with the current date and time, and can be used in your conversations to provide context or information. The following dynamic variables are available:

**These include:**

- {MSTY_LOCAL_DATE} - the current system date
- {MSTY_LOCAL_DATE_TIME} - the current system date and time
- {MSTY_LOCAL_TIMEZONE} - the current system timezone

![env dynamic variables](/images/env-dynamic-variables.png)
In the quick select modal, when you select a variable, it will be copied to your clipboard.
No newline at end of file

::Resources


---

Lock your workspace with a passphrase so sensitive settings and API keys stay hidden until you unlock. 

::alert{type="info" icon="tabler:info-circle"}
**IMPORTANT!** Locking Workspace is an experimental feature. Also, keep your passphrase in a secured location where you can access it. If you forget your passphrase, there is no way to recover it nor is there a way to recover the workspace. 
::

## Lock and Encrypt 

In **Settings > General**, locate the **Workspace Lock & Secrets Encryption** section. 

Select the ellipsis (...) icon and then select **Enable Protection**. 

This will display a modal where you'll enter and confirm a passphrase. 

**Important** store your passphrase in a secure location where you can access it again if needed. **There is no way to recover a passphrase and your Workspace cannot be recovered nor restored if you lose or forget it.**

## Workspace Lock Details

- Workspaces lock after every session
- You will not be able to use Msty Studio until you unlock your Workspace 
- Locks are per Workspace, it is not global across all Workspace; however, if you are on a locked Workspace, you cannot navigate to another Workspace until your current Workspace is unlocked
- Rotate the passphrase manually anytime
- Turn protection off if you change your mind
- Creating a new Workspace and copying settings will include Workspace locks if enabled for the current Workspace - passphrase for new Workspace will be same
- Importing a locked Workspace will require you to unlock the Workspace after import



::Resources
