# Chat Interface

## Assistants and Topics

### Assistants

`Assistants` It is a way to use the selected model by making some personalized settings for it, such as prompt presets and parameter presets. Through these settings, the selected model can better match the work you expect.

`System Default Assistant` A relatively general set of parameters is preset (no prompt), and you can use it directly or go to the [Agent page](/docs/en-us/cherry-studio/preview/agents.md) to find the preset you need to use.

### Topic

`Assistants` is `Topic` the superset of. Under a single assistant, multiple topics (i.e., conversations) can be created, and all `Topic` share `Assistants` the same parameter settings and preset words (prompts) and other model settings.

<figure><img src="/files/7798a590cc7df65f753d1a39b2ec430d28dde44f" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/3032be3db32e7daa76e08c8b1b0d2f53ef55a666" alt=""><figcaption></figcaption></figure>

## Buttons in the chat box

<figure><img src="/files/4b4e06cb6bb6d9178fcc9d9267a655dd075928cb" alt=""><figcaption></figcaption></figure>

![](/files/692e93281df196b69b0163276144f52764a69286) `New Topic` Create a new topic within the current assistant.

![](/files/9e215135bec3e5204819cf0f95f26f9afa8167ba) `Upload images or documents` Uploading images requires model support. Uploaded documents will be automatically parsed into text and provided to the model as context.

![](/files/5cbc4d28c683be0b29f271d7f116d10214c79f63) `Web Search` You must configure web search-related information in Settings. Search results are returned to the large model as context; see [Online mode](/docs/en-us/pre-basic/websearch.md).

![](/files/194ad9aa1b868bb6eb337f7b9198aaac5084e138) `Knowledge Base` Enable the knowledge base; see [Knowledge Base Tutorial](/docs/en-us/knowledge-base/knowledge-base.md).

![](/files/8b9b6e8da8cd2108c20c1d54ac1ea803bf732b67) `MCP Server` Enable the MCP server feature; see [MCP Usage Tutorial](/docs/en-us/advanced-basic/mcp.md).

![](/files/f2b5ae102c86635c08e5efb2799ecc9ccf631cec) `Generate Images` Only when the selected **conversation model** supports image generation will it be shown. (For non-conversational image-generation models, please go to [Drawing](/docs/en-us/cherry-studio/preview/drawing.md))

![](/files/275deed9d399e3bddde572c11a43aa9f5d88a8ec) `Select Model` For the following conversation, switch to the specified model while keeping the context.

![](/files/894f5f8603d2c1af24ccb78f45fa15e42a62de90) `Quick Phrases` You need to preset commonly used phrases in Settings first, then call them here and insert them directly; variables are supported.

![](/files/1f750da3fcce10fc5c999dc5b52c927b0489fdf9) `Clear Messages` Delete all content under this topic.

![](/files/ffb87500ce22746708515850b073388484055cc6) `Expand` Make the chat box larger so you can input long text.

![](/files/d9a18b31b003a7e208d232b9fdc57e51c8b38438) `Clear Context` Truncate the context the model can access without deleting content; in other words, the model will “forget” the previous conversation content.

![](/files/f39694e568c2798fd938d9d0d2f4bd4e1f2e3357) `Estimated Token Count` Displays the estimated token count. The four data points are `current context count` , `maximum context count` (∞ means unlimited context), `message character count in the current input box` , `Estimated Token Count` .

{% hint style="info" %}
This feature is only for estimating token count. The actual token count differs for each model; please refer to the data provided by the model vendor.
{% endhint %}

![](/files/345ba663c019305b56d76b2f71a4bd22287e0302) `Translate` Translate the content currently in the input box into English.

## Conversation Settings

<figure><img src="/files/ebd88e41f846cc17efe792d9ffdfd987d66a6c0f" alt=""><figcaption></figcaption></figure>

### Model Settings

The parameters in model settings and assistant settings are `Model Settings` synced; see [Assistant Settings](#bian-ji-zhu-shou).

{% hint style="info" %}
In conversation settings, only this model setting applies to the current assistant; other settings apply globally. For example: if the message style is set to bubble, then any topic under any assistant will use the bubble style.
{% endhint %}

### Message Settings

#### <mark style="color:blue;">**`Message Divider Line`**</mark>:

Use a divider line to separate the message body from the action bar.

{% tabs %}
{% tab title="When enabled" %}

<figure><img src="/files/a893d14670ac9e5844b471fd3047d19a2fa615f5" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="When disabled" %}

<figure><img src="/files/e4be35139f1f38d1a0208f496d3a169e4f62acd6" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

#### <mark style="color:blue;">**`Use serif font`**</mark>:

Font style switch. Now you can also change the font via [custom CSS](/docs/en-us/pre-basic/personalization-settings.md) .

#### <mark style="color:blue;">**`Show code line numbers`**</mark>:

Show line numbers for code blocks when the model outputs code snippets.

{% tabs %}
{% tab title="When disabled" %}

<figure><img src="/files/4d2946f8b15e3c4d159f3d927183990e45413b3d" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="When enabled" %}

<figure><img src="/files/75573c03e5164e92eb17187527c4ed7c37a8e021" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

#### <mark style="color:blue;">**`Code blocks collapsible`**</mark>:

When enabled, long code snippets will automatically collapse into code blocks.

#### <mark style="color:blue;">**`Code blocks wrap lines`**</mark>:

When enabled, long single-line code snippets (exceeding the window) will automatically wrap.

#### <mark style="color:blue;">**`Automatically collapse thought content`**</mark>:

When enabled, models that support thinking will automatically collapse the thinking process after it is complete.

#### <mark style="color:blue;">**`Message Style`**</mark>:

You can switch the conversation interface to bubble style or list style.

#### <mark style="color:blue;">**`Code Style`**</mark>:

You can switch the display style of code snippets.

#### <mark style="color:blue;">**`Mathematical formula engine`**</mark>:

* KaTeX renders faster because it is specifically designed for performance optimization;
* MathJax renders slower, but it is more comprehensive and supports more mathematical symbols and commands.

#### <mark style="color:blue;">**`Message font size`**</mark>:

Adjust the font size of the conversation interface.

### Input Settings

#### <mark style="color:blue;">**`Show estimated token count`**</mark>:

Show the estimated token cost of the input text in the input box (not the actual context token usage; for reference only).

#### <mark style="color:blue;">**`Paste long text as file`**</mark>:

When copying a long section of text from elsewhere and pasting it into the input box, it will automatically be displayed as a file style to reduce interference with later input.

#### <mark style="color:blue;">**`Render input messages with Markdown`**</mark>:

When turned off, only the messages replied by the model are rendered; sent messages are not rendered.

{% tabs %}
{% tab title="When disabled" %}

<figure><img src="/files/e02a7032811929c5ad2f50f0bc8523b891b9ac81" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}

{% tab title="When enabled" %}

<figure><img src="/files/b392655148f87dbd15f21e5e94e18417f175a4fa" alt="" width="563"><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

#### <mark style="color:blue;">**`Press space 3 times quickly to translate`**</mark>:

After entering a message in the conversation interface input box, pressing space three times in a row can translate the input content into English.

{% hint style="warning" %}
Note: This operation will overwrite the original text.
{% endhint %}

#### <mark style="color:blue;">**`Target language`**</mark>:

Set the target language for the input box translation button and the quick triple-space translation.

## Assistant Settings

In the assistant interface, select the<mark style="background-color:yellow;">assistant name</mark>→ in the<mark style="background-color:yellow;">right-click menu</mark>select the corresponding setting

### Edit Assistant

{% hint style="info" %}
Assistant settings apply to all topics under this assistant.
{% endhint %}

<figure><img src="/files/7c3f30abd0dadb1dbebcd3a90a1a0a5d016cbb7a" alt=""><figcaption></figcaption></figure>

#### Prompt Settings

#### <mark style="color:blue;">**`Name`**</mark>:

You can customize an assistant name that is easy to identify.

#### <mark style="color:blue;">**`Prompt`**</mark>:

That is, the prompt. You can refer to the prompt writing style on the Agent page to edit the content.

#### Model Settings

#### <mark style="color:blue;">**`Default Model`**</mark>:

You can assign a fixed default model for this assistant. When added from the Agent page or when the assistant is duplicated, the initial model will be this model. If this item is not set, the initial model will be the global initial model (i.e. [Default assistant model](/docs/en-us/pre-basic/settings/default-models.md#mo-ren-zhu-shou-mo-xing) ).

{% hint style="info" %}
There are two default models for an assistant: one is [global default chat model](/docs/en-us/pre-basic/settings/default-models.md#mo-ren-zhu-shou-mo-xing) , and the other is the assistant's default model; the assistant's default model has higher priority than the global default conversation model. When the assistant's default model is not set, the assistant's default model = the global default conversation model.
{% endhint %}

#### <mark style="color:blue;">**`Auto Reset Model`**</mark>:

When enabled - if you switch to another model during use under this topic, creating a new topic again will reset the new topic to the assistant's default model. When this option is disabled, the model of the new topic will follow the model used in the previous topic.

> For example, if the assistant's default model is gpt-3.5-turbo, I create Topic 1 under this assistant, and during the conversation in Topic 1 I switch to gpt-4o. At this point:
>
> If auto reset is enabled: when creating Topic 2, the default model selected for Topic 2 is gpt-3.5-turbo;
>
> If auto reset is not enabled: when creating Topic 2, the default model selected for Topic 2 is gpt-4o.

#### <mark style="color:blue;">**`Temperature (Temperature)`**</mark> :

The temperature parameter controls the randomness and creativity of the text generated by the model (default value is 0.7). Specifically:

* Low temperature value (0-0.3):
  * More deterministic and focused output
  * Suitable for scenarios requiring accuracy, such as code generation and data analysis
  * Tends to choose the most likely words for output
* Medium temperature value (0.4-0.7):
  * Balances creativity and coherence
  * Suitable for everyday conversations and general writing
  * Recommended for chatbot conversations (around 0.5)
* High temperature value (0.8-1.0):
  * Produces more creative and diverse output
  * Suitable for creative writing, brainstorming, and similar scenarios
  * But may reduce textual coherence

#### <mark style="color:blue;">**`Top P (nucleus sampling)`**</mark>:

The default value is 1. The smaller the value, the more monotonous the AI-generated content and the easier it is to understand; the larger the value, the broader the vocabulary range in the AI's replies, and the more diverse it is.

Nucleus sampling affects the output by controlling the probability threshold for word selection:

* Smaller values (0.1-0.3):
  * Only consider words with the highest probability
  * More conservative and controllable output
  * Suitable for code comments, technical documentation, and similar scenarios
* Medium values (0.4-0.6):
  * Balance vocabulary diversity and accuracy
  * Suitable for general conversation and writing tasks
* Larger values (0.7-1.0):
  * Consider a wider range of word choices
  * Generate richer and more diverse content
  * Suitable for creative writing and other scenarios that require diverse expression

{% hint style="info" %}

* These two parameters can be used independently or in combination
* Choose appropriate parameter values according to the specific task type
* It is recommended to find the most suitable parameter combination for a specific application scenario through experimentation
* The above content is for reference only to help understand the concepts. The given parameter ranges may not be suitable for all models; please refer to the parameter recommendations in the relevant model documentation.
  {% endhint %}

#### <mark style="color:blue;">**`Context Window (Context Window)`**</mark>

The number of messages retained in the context; the larger the value, the longer the context and the more tokens consumed:

* 5-10: Suitable for ordinary conversations
* \>10: Complex tasks that require longer memory (for example: tasks that generate long articles step by step according to an outline, where it is necessary to ensure coherent context logic in the generated content)
* > Note: The more messages, the greater the token consumption

#### <mark style="color:blue;">**`Enable message length limit (MaxToken)`**</mark>

Maximum per response [Token](https://docs.cherry-ai.com/question-contact/knowledge#shen-me-shi-tokens) count. In large language models, max token (maximum number of tokens) is a key parameter that directly affects the quality and length of the model's generated response.

> For example: in CherryStudio, when testing whether the model is connected after filling in the key, you only need to know whether the model returns a message correctly and not a specific content; in this case, setting MaxToken to 1 is enough.

The MaxToken upper limit for most models is 32k tokens. Of course, there are also 64k and even more; please check the corresponding introduction page for details.

How much to set depends on your own needs, and you can also refer to the following suggestions.

{% hint style="success" %}
Suggestions:

* General chat: 500-800
* Short article generation: 800-2000
* Code generation: 2000-3600
* Long article generation: 4000 and above (requires the model itself to support it)
  {% endhint %}

{% hint style="warning" %}
Generally, the model's generated response will be limited within the MaxToken range. Of course, it may also be truncated (for example, when writing long code) or become incomplete in expression. In special cases, you also need to flexibly adjust according to the actual situation.
{% endhint %}

#### <mark style="color:blue;">**`Streaming Output (Stream)`**</mark>

Streaming output is a data processing method that allows data to be transmitted and processed as a continuous stream rather than sending all data at once. This method allows data to be processed and output immediately after generation, greatly improving real-time performance and efficiency.

In environments such as the CherryStudio client, simply put, it is the typewriter effect.

When turned off (non-streaming): the model outputs the entire generated information at once after it is finished (imagine receiving a message in WeChat);

When turned on: output character by character; you can understand it as the large model sending each character to you immediately after generating it, until everything is sent.

{% hint style="info" %}
If some special models do not support streaming output, you need to turn this switch off, for example**at the beginning**only supports non-streaming models such as o1-mini.
{% endhint %}

#### <mark style="color:blue;">**`Custom Parameters`**</mark>

Add extra request parameters to the request body (body), such as `presence_penalty` and other fields; generally, most people do not need them.

> The above parameters such as top-p, maxtokens, stream, etc. are among these parameters.

Format: parameter name — parameter type (text, number, etc.) — value, reference documentation:[Click to go](https://openai.apifox.cn/doc-3222739)

{% hint style="info" %}
Different model providers have more or less their own unique parameters, and you need to find the usage method in the provider's documentation
{% endhint %}

{% hint style="info" %}

* Custom parameters have higher priority than built-in parameters. That is, if a custom parameter duplicates a built-in parameter, the custom parameter will override the built-in parameter.

> For example: in custom parameters, set `model` For `gpt-4o` then, no matter which model is selected in the conversation, the one used is the `gpt-4o` model.

* Use <kbd>parameter name: undefined</kbd> settings to exclude parameters.
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cherry-ai.com/docs/en-us/cherry-studio/preview/chat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
