BrainwriteDocs
Features

Threads, groups, and collaboration

Organize agents like contacts and let them collaborate without losing control of each task.

Bots and threads

A bot is a durable agent identity. A thread is one conversation with that bot and has its own transcript, provider session, approvals, costs, and running state. It runs on the bot's model unless you pick another model in that thread. Optional folders organize related threads without duplicating the bot's memory or skills.

Use separate threads when you want fresh context or independent work without duplicating the bot. Messages sent to a busy thread are queued, and supported providers can be steered while they work. Other threads can continue independently. See Bots, folders, and threads for limits and shared-resource behavior.

Cards in a chat

In a one-to-one chat, a bot can show you a card instead of plain text: a summary with buttons, a list to pick one item from, a short form, a table, a chart, or a progress bar. Forms can hold text boxes, checkboxes, choices, and pickers for a date, a time, or days of the week (with Every day, Weekdays, and Weekends).

  • Pressing a button sends your choice, with what you filled in, as your next message. If the bot is still working, it waits in the queue like any other message; remove it from the queue and the card can be answered again.
  • A field the bot marked as required must be filled before you confirm or submit.
  • A button can also open a web page. That opens on your device and sends nothing to the bot.
  • When you confirm, cancel, or submit, the card folds to one line with your answer. Details shows the card as you answered it.
  • Until you answer, the bot can update a card it already showed, for example to show the progress of its work.

Images in a card show External image hidden for privacy until you press Load image, so showing the card does not contact the image's address. Images must use an https:// address.

Cards are not shown in group chats yet: there, the bot answers in text. The Brainwrite Mobile app shows interactive cards too: buttons, lists, forms and an Other answer where the bot allows one.

Quote part of a reply

On the desktop, select text in a bot's reply and choose Add to prompt, or press ⌘L (Ctrl+L on Windows and Linux). The quote appears as a small chip at the start of the message box and is sent with your next message. Press Backspace at the start of the box, or Esc, to remove it. A very long selection shows Shorten selection instead.

Token usage

Hover over the usage chip in a bot's chat header to see the totals and the latest message's usage. Input and output are separate:

  • Uncached input is input the provider did not report as served from its prompt cache.
  • Cached input is input the provider reported as served from its prompt cache.
  • Output is the generated token count reported by the provider.

Uncached input plus cached input equals total input. If the provider does not report a cache split, the tooltip shows total input and output instead. A missing cache count is not treated as zero.

The compact chip shows cost when the provider reports it. Otherwise, it shows uncached input when known, or total input. Generated output is listed separately in the tooltip and is not added to either input figure.

Groups

Groups bring several bots into one conversation. Each participant keeps its own provider state. Group timeouts prevent a participant from blocking the whole group indefinitely. Existing channels and their thread histories remain intact; the new label does not change turn-taking or delegation.

When a bot sends the same request to several group members, the group shows one shared message addressed to those members. Each member runs with its own model and permissions and can reply in that conversation. Different assignments remain separate.

When a bot needs you

In a group, a bot can tag you with @you, or with your profile name, to get your attention or ask you something it can't continue without. The tag is highlighted, and you get a notification that the bot mentioned you, with the line around the tag. One-to-one chats don't send this notification.

Waiting turns

When several members of a group have work queued in the open thread, the group lists each one that is waiting, for example Ada: Queued · waiting for Bo (2 of 3). The sidebar preview shows how many are queued, for example Bo is working… · 2 queued.

Fast decisions: who answers

A decision model is a fast model that makes small choices for your bots; the bots still do the work. Set it up in Settings → Decision model. Today it makes one choice, Who answers in rooms: in a group set to Auto, it picks the bot that fits each message nobody @mentioned. When it is unsure or cannot be reached, the group's lead answers.

Under Provider, choose TypeSafe Jev or OpenRouter:

  • TypeSafe Jev uses your own Jev API key. On a Brainwrite Cloud computer, decisions through Jev are included in the plan and the key field says Included with your Cloud plan; your own key, if you save one, is used instead.
  • OpenRouter uses your own OpenRouter API key, saved on this page, and the Model you choose. The model list comes from OpenRouter; if it cannot be loaded, Brainwrite shows a built-in list. Decisions through OpenRouter are never the ones included with Brainwrite Cloud: they always use your key and are billed to your OpenRouter credits.

Saving a key turns decisions on; Use Jev for fast decisions or Use OpenRouter for fast decisions turns them off and on again. Test reports how fast the provider answered. A group gives a decision 1.5 seconds; with a slower model, the group falls back to its lead, so pick a faster one.

Group token usage

After a group participant finishes a turn, the group header shows the current thread's reported cost, or input tokens when no cost is reported. Hover over the compact badge for uncached input, cached input, and output, plus the latest participant's turn. Switching threads switches these figures too; other group threads and private chats are excluded.

The figures come from the existing usage ledger and survive restarting the app. A missing cache figure is shown as an unknown split, not zero cached input. If some turns omit cost, the dollar amount sums only reported costs.

Renaming teams

Right-click a named team heading in the sidebar and choose Rename team, or use the team's menu on the Team map. Enter the new name and save. Bots (including archived bots), group chats, shared instructions, and an assigned team computer stay together. Existing management access to a populated team follows its new name; an existing team's name cannot be used to merge teams. Finish active work before renaming.

Deleting a team

To delete a team, right-click its name in the sidebar and choose Delete team, or use its Manage menu in Team map. The confirmation explains that bots (including archived bots) and group chats move to General with their conversations intact. The team's shared instructions are removed; General's instructions stay unchanged. Stop active work and unassign any team computer first. If moving the team's Chief would conflict with General's Chief, move or change one of those Chiefs before deleting the team.

Team membership

Every named team keeps an Add bots button in the sidebar. Once it has members, the button reads Add or remove bots. The dialog lists current members as checked alongside other available bots. Check a bot to move it into the team; uncheck one to move it to General, then save. Conversations stay with the bots. A move that would put two Chiefs of Staff in the same team is refused.

Choose New bot inside this dialog to open bot creation for that team. The new bot is created directly in the selected team and appears checked when you return to the membership list. Creating it does not discard your other unsaved checkbox edits.

Team memory

A team's memory holds the people, places, decisions and terms every bot in the team shares. Open it with Team memory in the team's menu on the Team map, which is shown in Advanced mode.

  • The top says how many of the accepted notes load automatically into each conversation; the others stay searchable by the bots. Each note shows Loaded or Searchable. Pin the essential ones to load them first.
  • An edited note keeps its Previous versions; Restore text puts an earlier one back.
  • If someone else changed a note while you were editing it, your change is not saved over theirs. Brainwrite says so and shows your unsaved draft; choose Reload latest and edit again.
  • Renaming a team keeps its notes.

Delegation

Bots can hand work to other bots. Delegated runs carry explicit status back into the parent conversation, including completion, failure, and cancellation.

Creating a specialist with a chosen model

A Chief of Staff can create a specialist in its own team with create_bot. Ask for a particular engine, model and reasoning effort if you want to choose them. The Chief can look up exact available choices with list_team_setup and pass modelSelection with instanceId, model, and optionally effort or a supported variant (not both).

When no model selection is supplied, the new bot uses the workspace's default model selection, including its reasoning effort; it does not copy the Chief's model. An invalid explicit choice is rejected rather than silently replaced. The new bot starts with connected apps disabled and at Full access, like any new bot, and existing bots keep their models. Combined team changes still use the reviewed team-setup flow.

Rewind and branches

Editing an earlier message creates a new conversation path. Brainwrite avoids resuming stale provider sessions after a rewind, so the next turn follows the visible branch rather than hidden abandoned state.

Memory and working folders

Bot memory is visible and editable. A bot may also have a dedicated working folder; groups can use a shared working folder. Cloud workspaces use a stable default so generated files remain discoverable across threads. A sidebar folder is only organization, not a working directory or a permission boundary.

On this page