Hosted AI assistants
Get answers in your chats from an AI assistant that DonutChat runs for you with your own OpenAI or Anthropic API key. Once it’s set up, @mention it and it replies in the thread under your message.
What you need
Section titled “What you need”- Approval. You request access in the app.
- An OpenAI or Anthropic API key. Use an API key from your provider account, not a ChatGPT or Claude subscription sign-in and not a bot token. Your provider bills you for the model usage.
Create the assistant
Section titled “Create the assistant”- Open My Bots. On iPhone and Android, go to Profile > Tools & content > My Bots. In the desktop app, go to Settings > App > My bots.
- Select + (desktop app: Add a bot).
- Select Create an AI assistant.
- Enter a Name and a Username. You’ll @mention the assistant by its username. See the name and username rules.
- Select Create and continue (Android: Continue).
- On iPhone and Android, tap Continue setup on the Bot created! screen. The desktop app opens the setup dialog for you.
Creating the assistant doesn’t start it or use your API key.
Request access
Section titled “Request access”Approval covers all your hosted assistants, so you need to request it only once.
- On the assistant’s setup screen, Set up your assistant, go to 1. Hosting access.
- In Why do you want personal AI bots?, describe how you’d use the assistant.
- Tap Request access.
To check the decision, open the assistant from My Bots, tap Continue hosted setup (or View status or continue setup), then tap Check status.
- On the assistant’s setup screen, Assistant setup, go to 1. Hosting access. You can also go to My Bots > ⋮ > Hosting approval.
- In Reason, describe how you’d use the assistant.
- Tap Request access.
To check the decision, open the assistant from My Bots, tap Model & connection > Set up or manage Hosted Hermes, then tap Refresh.
- Go to Settings > App > My bots and expand Hosting access.
- In the Personal AI bots card, describe how you’d use the assistant under Why do you want a personal AI bot?
- Click Request access.
The same card shows the decision. If the setup dialog shows Hosting approval, you can request access there instead.
- Write 1 to 1,000 characters, and don’t include passwords or keys.
- The DonutChat team reviews each request. The app doesn’t notify you of the decision, so check back.
- Approval sets how many assistants you can have. Saved drafts count toward that number; deleted setups don’t. Android (My Bots > ⋮ > Hosting approval) and the desktop app (Hosting access) show how many you’ve used.
- If your request is declined or your access is revoked, you can ask again with Request reconsideration (desktop app: Send request). Your access isn’t restored until the new request is approved.
- If your access is revoked, your assistants are paused. After you’re approved again, resume them yourself.
Set up the assistant
Section titled “Set up the assistant”After your request is approved, continue on the same setup screen. Copy your API key first, then paste it and finish setup without switching to another app. If you leave the app or the setup screen, the key is cleared and setup goes back to the provider step. The desktop app does this whenever its window loses focus.
- Under 2. Connect a provider, choose OpenAI or Anthropic in Provider.
- Paste your key into OpenAI API key or Anthropic API key.
- Tap Check connection.
- Under 3. Choose a model, choose a Model. Search models filters the list.
- In What should your assistant help with?, write its instructions, for example “Summarize discussions and highlight next steps.”
- Optionally, open Optional tools and turn on the tools you want.
- Tap Review assistant.
- Check the summary under 4. Review and start, then tap Start assistant.
- Under 2. Connect a model provider, choose the provider in Provider. It’s listed as
openaioranthropic. - Paste your key into OpenAI API key or Anthropic API key.
- Tap Check connection.
- Tap Choose a model.
- Under 3. Choose a model, choose a Model. Search models filters the list.
- In How should your assistant help?, write its instructions.
- Optionally, open Optional tools & permissions and select the tools you want.
- Tap Review setup.
- Check the summary under 4. Review and start, then tap Start assistant.
- In Step 1 of 3 · Connect provider, choose OpenAI or Anthropic (Claude) in Model provider.
- Paste your key into OpenAI API key or Anthropic API key.
- Click Check connection.
- In Step 2 of 3 · Choose model and behavior, choose a model in Model enabled in Donut. Search models filters the list.
- In What should your assistant help with?, write its instructions.
- Optionally, expand Optional tools and select the tools you want.
- Click Review setup.
- Check the summary in Step 3 of 3 · Review and start, then click Start assistant.
To reopen setup later, click Continue setup next to the assistant in My bots.
When the assistant’s status shows Ready, it can answer. If it doesn’t show Ready yet, refresh the screen (iPhone: Check status; Android: Refresh; desktop app: Refresh status).
- Check connection lists the models your key can use. It doesn’t save the key or run a model, and a successful check doesn’t guarantee that later requests will succeed.
- The model list shows only models that DonutChat offers for hosting and that your key can use. If yours is missing, try another provider or key.
- Instructions can be up to 16,000 characters and go to your provider with every request. Never put passwords or API keys in them.
- The optional tools are Task planning, Private workspace and Durable wait, and the app describes each one. You choose them when you start the assistant; to change them later, set it up again.
- If you see Hosted Hermes capacity is full. Try again after a slot becomes available., DonutChat can’t host more assistants right now. Try again later.
Add it to a conversation
Section titled “Add it to a conversation”Your assistant answers only in conversations it belongs to.
- Its own conversation: on iPhone and Android, open the assistant from My Bots and tap Open conversation. In the desktop app, click Open conversation next to the assistant in My bots. You get a conversation with just you and the assistant.
- A group you own or manage: add the assistant like any other bot. See Add a bot to a chat.
Even in its own conversation, plain messages don’t start the assistant. Ask it with a mention or Run personal bot.
Ask your assistant
Section titled “Ask your assistant”Mention it
Section titled “Mention it”In a conversation the assistant belongs to, @mention its username in a message or in a thread reply. You can pick it from the @ suggestions. Mentions work from every app, including the web app, although some setup screens still say that only Run personal bot starts the assistant.
- In a new message, the assistant answers in the thread under your message, based on that message alone.
- In a thread, it answers in the same thread. It also reads your earlier messages in that thread and its own earlier replies. If the thread is long, the oldest messages are left out.
- Write the username as a separate word, such as
@research_helper, not inside another word or an email address. - Only your mentions start your assistant. When other people mention it, nothing happens.
Use Run personal bot
Section titled “Use Run personal bot”In the iPhone, Android and desktop apps, you can also run your assistant on one of your own messages without mentioning it.
- Long-press one of your own text messages in the chat. In the desktop app, hover over the message and click More actions (⋯), or right-click it.
- Choose Run personal bot.
- Choose a ready assistant in Personal bot. On Android, tap its name instead.
- Turn on I agree to share this message with the selected bot’s AI provider.
- Select Share message and run.
The reply appears in that message’s thread. Only the message text and your instructions are shared, with no attachments or other messages. The assistant must already be in the conversation, and running the same message again doesn’t start a second request.
If you see Run not confirmed…, the assistant may not be Ready or not in this conversation, or DonutChat may be busy. Check the message’s thread before you try again.
Replies and notices
Section titled “Replies and notices”The reply appears in the thread at once, marked as in progress, and the answer replaces it when it’s ready. It’s posted under the assistant’s name with a BOT label, and everyone in the conversation can see it. See Bot status and Response activity.
If the assistant can’t answer, it posts one of these notices instead:
| Notice | What it means |
|---|---|
| I’m still working on your earlier request. Mention me again after I reply. | Your assistant is still answering an earlier request, or DonutChat is already running as many requests as it allows for you or for everyone. Wait for the reply, then mention it again. |
| Hosted assistants are paused right now. Mention me again later. | DonutChat has paused hosted assistants. Try again later. |
| I couldn’t reply to this message: the request to your AI model provider failed or timed out. Check your API key, its billing/credit balance and model access, then mention me again. | The request to your provider failed or took too long, or the answer was longer than 16,000 characters. Check your key, your provider billing and the key’s access to the model. If you asked for a long answer, ask for a shorter one. |
| I stopped before replying because this bot or conversation changed. Mention me again if you still need an answer. | The request was stopped before it finished (see below). |
| I couldn’t finish this reply. Mention me again to retry. | The request ended without an answer. |
The first two notices appear only when you mention the assistant. Run personal bot shows Run not confirmed… instead.
There’s no Stop button. A request stops before it finishes if you pause or change the assistant, switch off its bot’s Active setting, turn on an event webhook for its bot, delete the message you asked in, leave the conversation, remove the assistant from it, or lose hosting access.
Pause, change or delete
Section titled “Pause, change or delete”Open the assistant’s settings:
- iPhone: open the assistant from My Bots, then tap Model & connection > Manage hosted assistant.
- Android: open the assistant from My Bots, then tap Model & connection > Set up or manage Hosted Hermes.
- Desktop app: in My bots, open Manage bot under the assistant and click Assistant settings. Use the buttons in the dialog that opens. The Pause button under Manage bot switches off the whole bot instead, and the assistant doesn’t answer until you click Activate there.
| Task | iPhone | Android | Desktop |
|---|---|---|---|
| Pause | Manage assistant > Pause assistant | Advanced · pause, resume or remove > Pause | Pause |
| Resume | Manage assistant > Resume assistant | Advanced · pause, resume or remove > Resume | Resume current setup |
| Change the key, model, instructions or tools | Pause, then open Change model, connection or behavior | Pause, then repeat the setup steps | Change API key or model |
| Delete the setup | Danger zone > Delete hosted configuration, then Delete | Advanced · pause, resume or remove > Delete configuration, then Delete | Remove assistant > Delete configuration…, then Delete configuration |
- Pause stops new requests and any request in progress.
- Resume restarts the assistant with the same key, model and settings. Your access must still be approved.
- While its bot has an event webhook turned on, the assistant doesn’t answer, and you can’t set it up or resume it. Turn the webhook off to use the assistant again.
- Any change means running setup again with your API key, even if the key stays the same. In the desktop app, Change API key or model pauses the assistant for you.
- Deleting the setup removes the assistant’s settings and your saved API key. The bot itself stays, with its token and chats; to remove it too, delete the bot.
What your assistant can access
Section titled “What your assistant can access”- Each request sends your provider your instructions and the text described in Mention it. It runs on your API key, under your provider account.
- Other people’s messages are never sent, even the first message of a thread if someone else wrote it. Neither are attachments or anything from other conversations.
- Each request starts fresh. The assistant doesn’t remember other threads or conversations.
- Other people can’t use your assistant or your API key, because only your requests start it. They can read its replies.
- If you delete your DonutChat account, your assistants’ settings and saved API keys are removed and any request in progress stops.
Limits
Section titled “Limits”| Item | Limit |
|---|---|
| Providers | OpenAI and Anthropic API keys |
| Assistants | The number approved for you |
| Access request reason | 1–1,000 characters |
| Instructions | 16,000 characters |
| Request | 16,000 characters. A longer message doesn’t start the assistant. In a thread, older messages are left out to fit. |
| Reply | 16,000 characters |
| Requests at a time | 1 per assistant. DonutChat also limits how many run at once for each person and overall. |
| Attachments | Not sent to the assistant |