Skip to content

Chat & your main assistant

Your workspace comes with one assistant that's always there. You don't build it, connect it, or publish it — you just talk to it, and it pulls in your own agents when they fit the job.

On a computer, drag the right edge of the left navigation panel to make chat titles and agent names easier to read. Its width is remembered after a reload. You can also focus that edge and use the left and right arrow keys to resize it.

Your main assistant

The main assistant is a general-purpose agent Donkit provides for every account. Out of the box it can:

  • research a question and browse the web,
  • write and run code, and work with files in its own workspace,
  • generate images and video,
  • keep notes in its memory between chats — see what it remembers, and change it, in Profile & memory,
  • and delegate to your agents — when one of them was built for exactly what you asked (a designer for the designs, a report agent for the weekly report) or knows something the assistant doesn't, it hands the work over; everything else it does itself, and the finished result always comes back in its own reply.

It also learns the shape of your requests. When you keep asking for the same kind of job — a weekly report, a recurring digest — it offers to set up a dedicated agent for it. Agree, and the build starts right away in the background: the assistant links the new agent in its reply, the agent appears with your other agents, and you can open it to watch the build and refine the result. From then on the assistant hands that recurring job to the new agent. Decline, and it won't bring that topic up again.

Credits

Chatting with the main assistant draws on your workspace balance like any other agent, and heavier work (long research runs, browsing, image or video generation) costs more. See Plans & credits.

The model picker in built-in agents, including Designer, follows your plan's model access. A model must also be enabled for that agent; enabling it does not override your plan's restrictions.

The main assistant can also use any MCP connection in your Connections library that's marked Available in main chat, so tools you've connected for one agent are ready in your everyday conversation too.

Starting and finding chats

Start a chat from New chat on Home or from the rail — what you typed on Home carries into the conversation and sends as the first message. Chats are titled automatically — a short name is generated from your first message — and appear in the rail under Chats, newest first. The rail shows the five most recent; Show more opens the rest, and scrolling that open list loads older ones.

Inside a chat you can:

  • rename it or delete it from the title menu,
  • scroll up to read further back — older messages load in as you go,
  • edit a message you sent: hover it and click the pencil. Sending the edited text restarts the conversation from that point — the replies that followed the original message are removed and the assistant answers the new version instead,
  • and leave it and come back: a chat resumes exactly where you left it, on any device you sign in from.

Everything you'd expect from an agent conversation works here too — streaming replies, visible reasoning, tool activity, file uploads, sources. Those are described once in Using an agent.

In the iPhone, iPad and Mac apps, text, tool activity and media share one scrollable history with a consistent background across messages and empty space. Scroll up to load older messages; new replies follow at the bottom while you're already there.

Scrolling back pauses automatic following while you drag and while the scroll coasts. Return to the bottom to follow new replies again. Sending your own message also returns to the end. The chat, builder and designer use the same scrolling behavior in the Apple apps.

Your messages appear in right-aligned bubbles that fit their text. Longer messages wrap within the chat's width; images and files stay inside the bubble.

Click or tap an image in the chat to see it full screen. When a message has several images, flip through them with the arrows, or swipe sideways on a phone or tablet. An image the agent generated can be saved from there too — see Media generation.

In the mobile apps, open History to choose a saved conversation. Return to the list to reopen it or choose another; New chat starts a separate conversation. On iPhone, iPad and Mac, opening files or another screen over a chat keeps that conversation available when you go back.

On iPhone and iPad, the chat title has its own row. The model selector and answer status sit below it, so the controls stay readable. More in the title row opens the available actions with their names: files, memory and canvas. In an agent's chat, the same menu also offers its builder, interface and chat history when available.

In the macOS, iPhone and Android apps, tables fill the width of the answer and wrap text within their columns. Swipe sideways to read a table with more columns than fit on screen. Scrolling vertically over a table continues moving the chat.

In the Android, iPhone, iPad and Mac apps, tap a file link in a reply to save that file under its own name. On iPhone and iPad the app asks where to save it; on Android and Mac it goes to Downloads. The same link works in a document on the canvas, in a Markdown file opened from Files, and in the conversations with Analyst, Designer and the agent builder.

Each tool row says in plain words what the agent is doing. Its contents open only for code, sub-agents, media, sources and workflow cards.

Chats work independently of each other. If you switch to another chat while the assistant is still answering, the answer keeps generating in the background — a pulsing dot next to the chat in the sidebar reminds you it was still working when you left. Open the chat again to catch up: the full answer streams in, including everything you missed.

A dropped connection doesn't lose your message either. If the network blips, or your phone or tablet puts the browser to sleep while the assistant is answering, the chat reconnects on its own and continues from where it stopped. A message you sent just as the connection failed is delivered once it's back — and only once. If the connection can't be restored within about a minute, a notice tells you so; the answer keeps generating, so open the chat again later to read it.

A hiccup on the AI side doesn't end the answer either. If the AI service stalls partway through a step of the answer — it stops responding, the connection to it drops, or it's overloaded or returns an error — the assistant restarts that step on its own after a short wait, at most twice, and a notice in the chat says the step was restarted. You don't need to do anything, and Stop still works while it waits. Work done before that step — tool results, text already written — is kept. If the step keeps failing, the answer ends with an error message, and everything done up to then stays in the chat.

Talking while it works

You don't have to wait for the assistant to finish. Type and send at any point during an answer — the message reaches it straight away:

  • While it's writing, it stops mid-sentence and takes your message into account. The part it had already written stays in the chat, marked as cut off, and the new answer continues below it.
  • While it's doing something — searching, running code, generating an image, asking one of your agents — the work finishes untouched and your message is read the moment it's done. Nothing half-finished is thrown away.

Until it's read, your message sits in the chat in a lighter style. Hover it to cancel it, or to edit it — editing takes the text back into the message box so you can rewrite and send again.

Stop still ends the answer outright. If you press it while a message of yours is still waiting, that text comes back into the message box rather than disappearing — nothing you typed is ever lost.

Stopping while the agent has handed work to a connected agent ends that work too, but keeps it: the connected agent's own conversation holds everything it had done up to that point, and in your chat its card switches to stopped with the reply it had written so far. Your agent sees the same on its next turn, so it can pick up from there instead of starting over.

Some agents run on a setup that can't take a message mid-answer. Yours then waits its turn instead of being lost: it stays in the chat marked Will be sent when the agent finishes, and goes off on its own as soon as the answer is done.

Mid-answer messages are text only: the attach buttons come back once the answer is finished. If you send one with a file still attached, the chat says so rather than quietly dropping it.

Speaking instead of typing

On iPhone, sending a message closes the keyboard. You can also tap the keyboard icon with a down arrow above the keyboard or swipe the conversation to dismiss it without sending your draft. The same keyboard button is available in the builder and other text fields.

With the message box empty, Realtime voice opens a full-screen spoken conversation. The assistant answers out loud, you can talk over it to interrupt, and everything said is written into the chat. End the call and carry on in text from the same point. Mute the microphone or end the call using the buttons at the bottom; Esc ends it on the web.

Realtime voice is available when the agent has voice enabled and no text answer is in progress. Start typing and Send takes its place. Starting a call on Home opens it in the chat. The first call asks for microphone permission.

Dictation into the message box is temporarily unavailable on the web, iPhone, Mac and Android, including the agent builder. Realtime voice conversations remain available.

You can end a realtime voice call and start another without restarting the iPhone or Mac app. Each call opens its own microphone and audio stream. Connected services remain available during voice calls, just as in text chat.

Credits

A spoken conversation is answered by the same assistant as a typed one and draws on your balance in the same way.

Choosing a model — and your own subscription

The model picker in the composer lists the platform's models (with Auto letting Donkit choose per turn) and, on a Donkit Desktop PC where you connected your own AI subscription, a My subscriptions group as well.

On iPhone and iPad, choose a model from the menu below the chat title. Models are grouped by tier, the current choice is marked, and locked choices show why they are unavailable. Choosing a model locked by your plan opens billing.

For a model that reasons before answering — and for Auto, which routes to such models — the same menu has a Reasoning row: Off, Low, Medium, High or Max. It sets how long the model thinks before it replies: deeper is slower and costs more, and Medium is what you get if you never touch it. The picker names the current level beside the model, and the choice is remembered together with the model in this browser.

In the chat of one of your own agents, Allow choosing the model in chat controls which platform models you may choose (see The agent's chat). While it is off, platform turns use the configured model and hide the Reasoning choice. On Desktop, an eligible owner can still choose a connected personal subscription.

Personal AI subscriptions in Donkit Desktop for Windows

Open Settings → Desktop app → Manage subscriptions to connect your own OpenAI Codex or Grok plan. Connected models appear under My subscriptions in the chat model picker. The turn runs on that subscription on your PC; the provider bills its usage instead of Donkit platform credits. The agent keeps its own instructions, language and rules.

When using a local Donkit server, a temporary failure of the server check does not interrupt Builder or chat while the task's connection still works. If the task itself loses its server connection, it stops and shows an error.

The same choice is available in the Builder, your agents' use chats, the main chat, Analyst and Designer. Each chat surface keeps its own selection. A subscription chosen for a Designer brief carries into that project's conversation. Built-in agents that fix their platform model still offer your connected subscriptions; returning to the platform uses that agent's configured model.

When the main chat calls another agent, that call keeps your selected subscription and fallback setting. The called agent still applies its own access and tool permissions. With automatic fallback off, an unavailable personal connection returns an error instead of starting a platform-model turn. Stop also cancels delegated work from the current turn.

Codex lists the models offered by its current runtime for your subscription, including its recommended default. Donkit checks for the latest official Codex release when loading the catalog and starting work, at most once an hour while online. Updates use a separate Donkit copy and keep your login; your global CLI is untouched. Update runtime on the subscription card checks immediately. Offline, the installed copy remains usable. The catalog refreshes periodically and after reconnecting or updating. Leave the connection on the provider default to follow Codex's recommended model automatically, or choose a specific model. Your choice is remembered for that connection. Sending waits until the provider accepts a model change; if it fails, you see the error and the previous selection stays in place.

You can attach documents and images in Builder, agent chat, Mega Chat and built-in agents while using a personal subscription. Text files, small PDFs with a text layer, and office documents are included as extracted text. Larger files and scanned PDFs stay available to the agent's file tools; it may need to open the file to read the relevant pages. Codex receives images directly. Other subscriptions accept images when their connected runtime supports them; an unsupported image produces an error so you can choose another subscription. A message can carry up to four images, resized to fit the provider's input limits. Update Donkit Desktop if it asks for an update before sending attachments. Choosing Retry on Donkit uses platform credits.

Kimi and MiniMax require the separate Unverified providers switch on the subscriptions page. Their full connection and chat flow has not yet been verified; enable them only if you want to try them. Turning this switch off leaves Codex and Grok available. Kimi and MiniMax read instructions from a .kimi-code/AGENTS.md file in the chat folder. If that folder already contains your own file at that path, move it or choose a different folder.

Bringing your agents into the chat

Click the @ button in the message box — or just type @ at the start of a word — and choose agents. Typing filters the list as you go; the window opened by the button lets you tick several agents at once. Chosen agents show as avatars in the chat header; hover one to Unpin it or jump to the agent. The same picker is available on the Home screen when you start a new chat, so the very first message can already be addressed.

A pinned agent gets your message together with a short excerpt of the recent conversation, so a follow-up like "and what about the second option?" makes sense to it without you restating the question.

One agent — talk to it directly

Pin a single agent and it answers your messages itself: its own instructions, knowledge, and files, in the same thread, with each reply labeled by its author. Your pin choice is saved with the chat — reopen it later, on this device or another, and the same agent (or agents) stays pinned. Unpin to get back to your main assistant.

Several agents — poll them or run a council

Pin two or more agents and a switch appears in the header:

  • Poll (default) — every pinned agent answers your message independently, side by side. If you asked a question, your main assistant adds a short comparison of the answers; if you asked for something to be made (a post, a plan, a table), it picks or merges the best version and gives you the finished result in its own reply.
  • Council — the agents first answer independently, then each one reads the others' answers and critiques them. Your main assistant sums the discussion up into a joint conclusion, or, when you asked for a deliverable, into the final version that survives the critique.

You can pin up to 8 agents for a poll; a council supports up to 5. Your main assistant can also convene a poll or a council on its own — without any pins — when your question calls for several of its connected specialists at once. If an agent can no longer be reached (deleted, or access was revoked), the message is not sent: you'll see a notice, the unavailable agent is unpinned, and the rest stay pinned — just send your message again.

You can pin:

  • your own agents;
  • agents shared with you personally;
  • in an organization workspace — agents published to your organization;

Access is re-checked on every message, so an agent that stops being shared with you simply stops being available. Credits for a message answered by someone else's agent settle exactly as they would if you opened that agent and chatted with it directly.

Built-in agents

Agents marked Platform are built-in agents that come with Donkit. You can open them and edit the files they make for you; the agent itself is part of the platform, not something you configure.

Canvas

When the assistant produces something you should look at — a page, a table, a document, an image — it opens the canvas beside the chat. On a phone the conversation stays on screen instead: the Canvas toggle at the top gets a dot, and tapping it opens the canvas. See The canvas.

Files

The folder button in the chat header — next to the canvas button — opens your main assistant's Files. On iPhone and iPad, choose Files from the header's More menu instead. Both open the same view the builder shows for an agent you build, with its Uploads, generated files and workspace. You can upload, organize, download and delete files there, or add them to Knowledge, exactly as described in Agent files.

In the iPhone and Mac apps, Back from files, memory, canvas or a voice conversation returns to the chat that opened it, including the agent you were talking to. Your conversation and message draft stay in place.

When you open it from a conversation, it lands straight in that conversation's folder — the place the files you attached in this chat are kept. A chat with no attachments yet, or a new chat, opens on the Uploads root.

Chat-attachment folders are shown under the title of their conversation, with the short folder id next to it, so you can tell which chat a folder came from. The folder itself keeps its short id: that is still the path the assistant uses to open the files.