Skip to content
Download for Mac

Conversations

A conversation in QARK is a message tree with its own model, tools, context strategy, system prompt, and LLM parameters. Every conversation carries independent configuration — change the model, enable different tools, override the system prompt, all without affecting anything else.

Cmd+N opens a new conversation. It inherits the default agent and model. Override either immediately in the Config tab or start typing and change later.

New conversations appear as a tab in the active pane and in the sidebar under Ungrouped, sorted by date.

Each message exposes actions on hover:

ActionWhat happens
CopyCopies content to clipboard as plain text or Markdown
Retry / RegenerateRe-sends the prompt. Creates a new sibling branch — the original response is preserved
EditModify a sent message and re-submit. Creates a new branch from that point with a fresh response
DeleteRemoves the message. Deleting an assistant message removes all subsequent messages in that branch. Children are re-parented to preserve the tree
ForkCreates an independent copy of the conversation up to this message as a new conversation

Regenerating a response or editing a message never overwrites the original. QARK creates a sibling branch — an alternate path from the same parent.

When a message has siblings, a branch navigator appears with an X/Y indicator (e.g., 2/3 — viewing the second of three branches). Arrow buttons step between branches.

Switching branches swaps every message after the branch point. All branches share messages before the divergence and only store the delta — branches are lightweight.

Conversation with branch navigator showing 2/3 indicator and left/right navigation arrows
ActionResult
Regenerate a responseNew sibling at the assistant message
Edit a user messageNew sibling at the user message with fresh response

No limit on how many branches a single message can have.

Forking creates a new, independent conversation from any message. Unlike branching (which stays within the same conversation), a fork is a separate entry in the sidebar.

Fork behavior is role-aware:

  • Fork from a user message → copies all messages before it
  • Fork from an assistant message → copies up to and including it

The fork inherits the source conversation’s config overrides and context strategy. If the source conversation isn’t in a group, QARK creates a new group and pins the original to it — keeping related conversations together.

Every conversation can override its agent defaults via the Info Panel → Config tab:

SettingWhat you can override
AgentSwitch to a different agent (auto-enables its required tools)
Model & providerAny connected model, mid-conversation
System promptAppend to or replace the agent’s prompt
Temperature, max_tokensTune generation behavior
ThinkingEnable/disable chain-of-thought reasoning
Enabled toolsToggle individual built-in, MCP, and agent-tools
Context strategyauto_compact, last_n, first_n, all, none, or token_budget — with sub-parameters
RAG settingsOverride embedding model, RAG gen model, reranker, similarity threshold
Image/video generationOverride generation model and provider
Unix working directorySet per-conversation working directory for shell commands
Agent-tool overridesPer-sub-agent: override tools, system prompt, provider, model, LLM params
Additional LLM paramstop_p, frequency_penalty, presence_penalty, reasoning_effort, seed — driven by model registry

Override dots mark every parameter that differs from the agent baseline. Changes debounce-save after 400ms.

QARK generates conversation titles using an embedded Phi-3.5 Mini model running locally — no API call, no cost. For short conversations (6 messages or fewer), it reads all messages. For longer ones, it uses the first user message plus the last 3 exchanges.

Rename manually by double-clicking the title in the sidebar. Regenerate Name in the context menu generates a fresh title.

FTS5 full-text search indexes every message across all conversations. Results are ranked: title and description matches appear first, then message content matches. Each result shows a snippet (first 200 characters) and links directly to the message.

Search excludes archived and trashed conversations. Maximum 50 results per query.

Export any conversation in three formats:

FormatDetails
Markdown.md file with message roles, timestamps, and code blocks preserved
HTMLStyled document, renders in any browser
PDFGenerated via headless browser (Chrome, Brave, Edge). Creates a {name}_assets/ folder for embedded images and generated files

Exports include all branches and regenerations at each message position — not just the active thread. You can also export an entire group (all conversations in a folder) or a single message.

Export dialog with format options for Markdown, HTML, and PDF

Two-stage soft-delete:

  • Archive — hides from the sidebar. Remains searchable. Restore anytime from the Archive view. Removed from its group.
  • Trash — soft-deletes with a timestamp. Appears in the Trash view. Restore or permanently delete. Nothing is lost until you explicitly empty the trash.

Permanently deleting a conversation also cleans up associated attachment, document, and media directories.

Select multiple conversations to act on them together:

  • Cmd+Click — toggle individual conversations
  • Shift+Click — select a contiguous range

The selection bar appears with available actions:

ActionEffect
GroupCreate a new group and move selected conversations into it
MoveMove to an existing group
ArchiveArchive all selected
TrashMove all selected to trash
RestoreRestore from trash or archive

All batch operations are reversible — archived conversations can be unarchived, trashed ones can be restored.