---
title: "Chat"
id: "342"
type: "page"
slug: "chat"
published_at: "2026-05-19T11:30:45+00:00"
modified_at: "2026-09-21T01:36:28+00:00"
url: "https://xedant.com/agents/agent/docs/chat"
markdown_url: "https://xedant.com/agents/agent/docs/chat.md"
excerpt: "The chat is the main way you talk to the agent. You describe a task…"
---

# Chat

[https://xedant.com/agents/agent/docs/chat.md](https://xedant.com/agents/agent/docs/chat.md)

The chat is the main way you talk to the agent. You describe a task in ordinary words, the agent replies, shows which files it read and changed, and keeps you up to date on progress — all in one window, in real time.

## The chat input area

At the bottom of the chat window is the input area — this is where you type your messages and requests.

### The text field

The field accepts long, multi-line texts and grows to a comfortable height by itself. By default a single press of **Enter** sends the message, while **Shift+Enter** adds a new line. If you would rather have Enter always insert a line break, enable the **Double Enter to Send** mode in the settings (the Chat card): the first press inserts a new line, and the second one — on an empty line — sends.

Press **Ctrl+Enter** (or **Cmd+Enter** on a Mac) to [continue in a new chat](#continue-in-new-chat)
 — that is, move the conversation to a separate chat without mixing topics. Use **Ctrl+V** or **Shift+Insert** to [paste from the clipboard](#paste-button)
 — including images and files.

### The send button

Press the send button to pass your message to the agent. You can send new messages at any moment — even while the agent is still processing the previous one: they [join the queue](#message-queuing)
 and are handled one by one. Hold **Ctrl** (or **Cmd**) while pressing the send button to [continue in a new chat](#continue-in-new-chat)
.

Next to the send button there is a separate **Continue** button (an up-arrow icon) — it also opens your message in a new chat. Both the quick Ctrl+Click and the Continue button are disabled while a message is being sent.

### Command typeahead

A skill is an instruction for the agent on how to do a particular kind of work (for example, “plan a task” or “work with the website”). The quickest way to pick a skill is to type `/` and the first letter of its name: a list of matching skills appears, and selecting one attaches the skill to the chat.

- Type `/` to see all available skills
- Keep typing — the list filters by name
- Navigate with the **arrow keys**, select with **Enter**, **Tab**, or the **right arrow**
- Press **Escape** to close the list
- You can also simply click the suggestion you need

When you select a skill, the `/skillname` slash command is removed from the text and the skill is attached to the current chat: you can write your message right away — the skill is loaded automatically, no separate command needed.

### The microphone button

The microphone button **appears only when speech recognition is enabled in the settings** ([Settings → Speech Recognition](/agents/agent/docs/settings)
). Recognition is performed by the Whisper model **running on the server**, not by the browser’s built-in feature.

Press the microphone to start recording — a red pulsing indicator ● appears. Speak clearly and press the microphone again to stop. The audio is sent to the server, and the recognized text is inserted into the input field automatically. While the audio is being processed, a spinner is visible next to the button.

*Note: before the first use, the Whisper model must be downloaded in the settings. The available sizes are tiny, base, small, medium, large, turbo — larger models recognize more accurately but run slower. You can set a specific language or use auto-detection.*

### The paste button

The paste button (a clipboard icon) appears next to the message field. Press it or use **Ctrl+V** / **Shift+Insert** to paste the contents of your clipboard.

Pasting works smartly: plain text is inserted at the cursor position, while images and files are uploaded to the server — their paths are placed into the input field automatically. By default images go to the `assets/images` folder and files to `assets/files` in your project. Files above the configured limit are rejected with a notification.

All clipboard options are configured in [Settings → Clipboard](/agents/agent/docs/settings)
:

- **Paste images** — enable or disable pasting images (enabled by default)
- **Images path** — where uploaded images go (default: `assets/images`)
- **Paste files** — enable or disable pasting files (enabled by default)
- **Files path** — where uploaded files go (default: `assets/files`)
- **File size limit (MB)** — the maximum file size in MB, range 1–1000 (default: 100 MB)

### The input control panel

Below the text field is the control panel — quick access to the chat’s settings and tools. It is divided into left and right parts:

### The left panel

- **Model** — a dropdown: which neural network processes your requests. You can switch the model right in the chat — the change applies to the next message. If the model defines the `MODEL_PEAK_HOURS` variable and you are in peak time, an orange icon appears next to it with the hint “Model peak hours from HH:MM to HH:MM, more expensive”. The indicator refreshes itself every 30 seconds. For the z.ai provider, the selector also shows a quota indicator — a thin bar of token spending over the last 5 hours; clicking it opens a detailed dialog with three limits (5-hour, weekly, and monthly for MCP tools), a countdown to reset, and a usage chart for the last 48 hours. See [Models](/agents/agent/docs/models) for details. If the model is configured to sign in with a Claude subscription, a “Sign in with Claude” hint appears at the bottom of the chat — sign in to the account and paste the code to work on the subscription plan.
- **Skill** — a dropdown of skills (instructions for the agent). All skills are always available: when you select one, the agent loads it with the next message. Additional skills can be attached as the conversation goes. See [Skills](/agents/agent/docs/skills) for details.
- **AutoFix** — a toggle for the background service: it watches the results of automatic checks and sends any errors and warnings it finds to the agent for fixing. See [AutoFix](/agents/agent/docs/autofix) for details.
- **AutoClick** — a toggle for automatically pressing the auto-clickable buttons in the agent’s replies. While it is on, such buttons fire by themselves when the countdown ends; turn it off and every button waits for a manual press. By default the toggle itself is hidden from the input panel: showing it is enabled in the settings (the Buttons card). See [Settings](/agents/agent/docs/settings) for details.

### The right panel

- **Prompts** — a queue of saved requests: prepare requests in advance, turn on AutoSend, and the agent sends them one by one into new chats. See [Prompts](/agents/agent/docs/prompts) for details.
- **Skills** — the dialog with all available skills: viewing and management, opened from the Manage skills item of the Skill dropdown. See [Skills](/agents/agent/docs/skills) for details.
- **Hooks** — the hooks configuration dialog: automatic actions that run at set moments of the chat’s work (for example, after the agent replies); the card lives in Settings → Automation.
- **MCP** — the MCP Servers dialog: external tool programs that connect to the agent and extend what it can do; the card also lives in Settings → Automation.
- **Microphone** — record a voice message (visible only when speech recognition is enabled)
- **Send / Continue** — the send button and the Continue button (see [The send button](#send-button) )

## Skills

Skills are documents with instructions, similar to the `CLAUDE.md` file, but loaded on request, only when needed. Their advantage over `CLAUDE.md`: a skill is a folder that can hold sub-documents, scripts, and examples. When a skill loads, the root `SKILL.md` file enters the agent’s context, and the agent decides for itself what else from the folder it needs.

There are two ways to select a skill: from the **Skill** dropdown on the input panel, or with a slash command [(/skillname)](#command-typeahead)
 right in the input field. The selection is attached to the chat (the “No skill” item detaches the skill), and loading happens automatically: the requirement is delivered to the harness over an out-of-band channel, so the message itself stays clean. The **Skills** button opens the full dialog with all available skills.

More about skills in the [Skills documentation](/agents/agent/docs/skills)
.

## Continue in a new chat

“Continue in a new chat” moves the current conversation to a separate chat while keeping the context: the agent remembers the whole discussion history. Convenient when a topic grows and you don’t want to mix it with other work.

There are three ways to do it:

- **Ctrl+Enter** (or **Cmd+Enter**) while typing a message
- **Ctrl+Click** (or **Cmd+Click**) on the send button
- The **Continue** button (an up-arrow icon) next to the send button

If a skill is selected or a `/skillname` command is typed, the skill prefix automatically lands in the first message of the new chat. The input field is cleared, and the new chat opens in a new browser tab.

## The model selector

The model dropdown shows which neural network processes your requests. Models differ in capabilities, speed, and price — the choice depends on the task.

### Available models

Models are created and configured on the [Models](/agents/agent/docs/models)
 page. Settings support inheritance: the `glm-5-turbo` model automatically takes variables from the `glm-5` and `glm` models — handy when you need several closely related configurations. A model can be created from a built-in provider template (Anthropic, z.ai, OpenRouter, and others) — the template fills in the API key, address, prices, and behavior flags by itself.

### Switching models

Click the dropdown and pick another model — the change applies to the next message you send. The selector shows the current model and highlights changes relative to the previous selection.

More about configuring models in the [Models documentation](/agents/agent/docs/models)
.

## Understanding AI replies

The chat shows several message types — each with its own look and meaning. Let’s go through them in order.

### User messages

Your messages appear with a green border on the right side — so your input is easy to tell apart from the agent’s replies.

### AI text replies

The agent’s ordinary replies have a blue border: explanations, recommendations, and conversation. The text supports markdown — simple formatting rules (headings, lists, code fragments, links) familiar from email and forums.

### File reads

When the agent reads a file, its content appears in a collapsible panel. Click the header to expand or collapse it: the chat stays clean, and you can look at the files whenever needed. The panel shows the file path and the line count; large files are trimmed so the chat is not overloaded.

### File edits

When the agent changes an existing file, the changes are shown as a diff — a before/after comparison: added lines in green, removed lines in red, unchanged ones as context. You can see exactly what changed. Click the file path to open the diff in an enlarged view.

### File writes and creation

When the agent creates a new file or fully rewrites an existing one, the complete content is shown in a code block with syntax highlighting and line numbers — comfortable to read. The file path is shown above the block.

### Todo lists

Todo lists appear as interactive checklists: each item has a status — pending, in progress, or completed — and updates arrive in real time. Todo lists help you follow multi-step work and understand what still remains. See [The floating task panel](#todo-panel)
 below.

### AI questions

When the agent needs a clarification, it shows clickable cards with answer options. Click a card to send that answer, or write your own in the input field. This speeds things up: less typing, easier choice between options, easier confirmation of actions.

### Permission requests

Messages that need your approval stand out with a yellow border. These are requests for potentially dangerous actions: deleting files, running commands, changing the database.

Every request includes:

- A clear description of what the agent is about to do
- The specific files or resources it concerns
- “Allow” and “Deny” buttons

Without your approval the agent will not continue. This is a safety mechanism: nothing in your system changes without your knowledge.

### Error messages

Errors and failures are shown with a red border: they explain what went wrong and often suggest how to fix it. Typical cases are a file not found, access denied, an invalid command. Such messages collapse — click to get them out of the way; in the chat history they stay collapsed.

### System messages

Service notifications (a gray border) inform you about background activity: “processing the request”, “operation completed successfully”. They don’t interrupt the conversation but keep you in the loop.

## Message actions

Hover over any agent reply — quick action buttons appear.

### Copy

The “Copy message” button copies the full text of the message to the clipboard — including code blocks and formatting. Handy for moving an explanation, a code fragment, or a command elsewhere.

### Continue

The “Continue from this message” button (a play icon) on any reply lets you continue the conversation from that exact message: the input field gets a prompt to continue from this point, “forgetting” everything said and done after it. In essence, it rewinds the conversation’s context to the chosen message.

### View JSON

The “View raw JSON” button shows the message’s raw data in JSON — a structured text format. You can see the internal structure of the reply: metadata, the actions performed, and other technical details hidden behind the polished view. Useful for understanding how the agent handled a request, or for extracting data from replies.

## The token usage indicator

At the top of the chat there is a token usage indicator — how many “portions of text” have been spent in the current session. Tokens are the units of text you pay your AI provider for.

### How to read the indicator

The indicator shows two values:

- **Used** — tokens spent in this session so far
- **Limit** — the maximum tokens for the current billing period

The colored fill shows how full it is: green means plenty of headroom, yellow means spending is growing, red means you are approaching the limit.

### Detailed breakdown

Click the indicator to see the details: spending per message, with input tokens (your messages) and output tokens (the agent’s replies) shown separately. This shows which requests cost the most and helps you spend tokens more wisely.

## The z.ai limits indicator

When you use the z.ai provider, two thin spending bars are shown under the input field: for the current 5 hours and for the week. Each shows the percentage of the limit: blue under normal spending, yellow from 70%, red at 100%. Hovering reveals the exact figure and the countdown to the reset. The data refreshes automatically every 15 minutes and when you switch browser tabs.

### The z.ai quota dialog

Clicking a bar opens a detailed dialog with three types of limits:

- **5-Hour Token Limit** — the percentage spent over the last 5 hours and the countdown to the reset
- **Weekly Limit** — the percentage spent in the current week and the countdown to the reset
- **MCP Tools (Monthly)** — how many external tool calls have been used out of the monthly limit

At the bottom of the dialog is a bar chart of token usage for the last 48 hours broken down by model, and below it a summary for each model with the total tokens and calls. The z.ai indicator works for models whose `ANTHROPIC_BASE_URL` points to `api.z.ai`, and for models carrying the z.ai provider stamp.

## The message queue

If you send several messages in a row, they are not all executed at once — they queue up above the input field and are processed one by one. This keeps the agent from being overloaded with simultaneous requests.

### Queue display

Queued messages are shown as a list above the input field: each has its text and position in the queue, and a counter shows how many messages are waiting.

### Managing the queue

There are three things you can do with queued messages:

- **Pause** — stop queue processing: the current message finishes, the rest wait until you resume
- **Edit** — adjust the queue before sending: change the text, add details, fix typos
- **Delete** — remove a message from the queue entirely, without touching the others

The queue not only protects the agent from overload — it also gives you time to adjust or cancel a request before it runs.

## The floating task panel

When the agent builds a todo list for your session, a floating panel appears at the top center of the screen — a separate view of progress that does not clutter the chat.

### Task statuses

The panel shows all tasks of the current list and their status:

- **Pending** — the task has not started yet
- **In progress** — the work is underway (highlighted)
- **Completed** — finished successfully (checked off)

Only one task is “in progress” at any moment — you always know what the agent is doing right now.

### Live updates

The panel updates itself: tasks move from “pending” to “in progress” and “completed” before your eyes. No need to ask “aren’t you done yet?” — it is all visible at a glance.

### Collapsing the panel

The collapse button (a chevron) in the header shrinks the panel to a small tab on the right edge of the screen. Click the tab to expand the panel again. Collapsing does not affect the work: the agent keeps executing tasks, and statuses update in the background.

The panel is especially useful for multi-step operations — code refactoring, test runs, complex builds — where seeing the progress matters.

## Navigation

Continue reading the documentation:

**Back:**  
[Getting Started](/agents/agent/docs/getting-started)

**Next:**  
[Files](/agents/agent/docs/files)
