Start with the right mental model

Zorai works best when you treat it as a daemon-backed operating environment, not as a single chat box.

  • Keep the daemon running and reconnect from whichever client is convenient.
  • Use the desktop UI when you want broad visibility and settings control.
  • Use the TUI when you want keyboard-first control and SSH-friendly work.
  • Use the CLI and MCP server for automation and external-agent integration.
Common failure mode: Treating Zorai like a disposable prompt window. The whole point is durable state, threads, workspace tasks, and goals.

Choose strong model roles

The built-in fires are more useful when each one is configured for its actual job instead of pointing everything at the same model.

Svarog — The Smith

Use your strongest available model. Svarog handles:

  • Primary execution and long reasoning chains
  • Tool orchestration and multi-step coding
  • Synthesis across large threads
  • Goal runs with planning and recovery

Example configuration: Claude Opus, GPT-4, or strongest available.

Weles — The Guardian

Use a strong review/governance model. Weles handles:

  • Risk review and policy pressure
  • Checking risky plans before execution
  • LLM-based compaction for important threads
  • Validating assumptions when the main thread moves fast

Recommended: GLM-5.*, MiniMax M2.7, Qwen 3.6 Plus, or similar tier.

Do not starve Weles. If governance is too weak, Zorai becomes noisier and less trustworthy exactly where it should be more disciplined.

Rarog — The Concierge

Use a light, cheap, fast, tool-reliable model. Rarog handles:

  • Onboarding and setup help
  • Operator-facing summaries
  • Lightweight steering and quick checks
  • Conversational glue around heavier fires

Characteristics: Low cost, fast latency, reliable tool invocation. Reasoning off by default is fine.

Bad setup: Strong model everywhere, high reasoning everywhere, expensive compaction, no distinction between worker, reviewer, and concierge.

Better default: Svarog (strongest), Weles (strong review), Rarog (cheap/quick), match other fires to their actual jobs.

Use compaction strategically

Heuristic compaction is the default — fine as a conservative baseline and cheaper. For long-lived threads, serious coding, or governance-heavy runs, prefer LLM-based compaction.

StrategyWhen to useTrade-off
HeuristicShort threads, disposable context, cost-sensitive workCheap, may lose nuanced intent
WELESImportant threads, evolving requirements, tradeoff-heavy workMore expensive, preserves intent better

Where to change: Desktop app: Settings → Agent → Context Compaction. TUI: /settings → Advanced.

Recommendation: Use WELES compaction when requirements evolve over many turns, the thread includes important tradeoffs, or you expect the thread to survive over time.

Prefer durable threads

Zorai gets stronger when a thread represents a real line of work.

Do this

  • Keep one thread per real objective
  • Continue the thread when the mission is the same
  • Start new when the objective changes materially
  • Let context accumulate where continuity is useful
  • Restate key constraints when they change

Avoid this

  • Mixing unrelated objectives in one thread
  • Resetting after one bad model turn
  • Starting fresh "just because"
  • Throwing away history unnecessarily
  • Vague directives expecting perfect execution

Resetting too often destroys one of Zorai's biggest advantages: continuity.

Be explicit with objectives

The agent does better when you state the goal, constraints, success condition, and verification path.

Weak prompt

check this repo

Vague, no success criteria, no constraints.

Better prompt

Find why the release build is failing on Linux, 
identify the first concrete root cause, make the 
smallest safe fix, and tell me what you verified 
locally.

Specific goal, constraints, success condition, verification.

Zorai rewards operationally specific instructions.

Run goal work as goal work

If work is long-running, multi-step, or likely to survive client restarts, use goal runners or a workspace task instead of manually babysitting a chat thread.

Good goal-run candidates:

  • Release preparation with checklist execution
  • Large bug investigations spanning multiple files
  • Repository-wide audits or refactors
  • Documentation sweeps across many pages
  • Repeated operational workflows you want to capture as skills

Goals are the right layer when you want planning, execution queues, approvals, persistence, and reflection. Workspaces are the right layer when you also want assignment, board status, and review.

Example: Instead of "help me refactor this codebase" in chat, launch a goal: "Refactor the auth module to use the new service pattern, update all call sites, and verify tests pass."

Use the right interaction mode

Zorai gives you different ways to involve other fires. Use them intentionally.

ModeUse whenExample
@agent ... Visible participant, specialist input without changing owner, agent jumps in when useful @weles verify claims before answering
!agent ... Hidden internal delegation, second opinion without cluttering thread, behind-the-scenes check !weles assess the risk of this migration
Handoff Another agent should own future replies, work nature changed, specialist should lead Handoff to Weles for governance review

Handoff behavior: Changes active responder, future operator messages route to that agent, recorded as visible system event.

Use approvals to protect the edges

Zorai is strongest when autonomy and operator control are both real.

Allow to move

  • Routine read-only operations
  • Low-risk file reads and searches
  • Expected tool calls within scope
  • Previously-approved patterns

Stop and inspect

  • Destructive mutations (rm, overwrite)
  • Surprising network access
  • Environment changes
  • Widened scope from original request

The point is not to slow the agent down. The point is to make expensive mistakes rarer.

Match client to situation

Use the client that gives the right control surface for the task.

ClientBest for
Desktop appSettings, visibility, chat, broad operational control
TUIKeyboard-first work, remote/SSH, daemon inspection in terminal
CLIAutomation, scripted inspection
MCPAnother agent/toolchain driving Zorai as a system component

There is no single correct frontend. The daemon is the product; clients are views into it.

Keep governance and cost in balance

You do not need maximum quality everywhere. You do need quality where errors are expensive.

Budget strategy:

  • Spend most on Svarog (primary execution)
  • Spend enough on Weles to keep reviews meaningful
  • Save money with Rarog and lighter support roles
  • Use heuristic compaction for throwaway threads
  • Use WELES compaction for serious or durable threads

If cost is exploding, check:

  • Are too many fires configured with premium models?
  • Is compaction overpowered for the thread type?
  • Are you creating too many fresh threads and losing continuity?
  • Are tool loops or retries set too aggressively?

Suggested baseline configuration

A good starting point:

Model assignments

  • Svarog: Strongest model you can access
  • Weles: GLM-5.*, MiniMax M2.7, Qwen 3.6 Plus, or stronger
  • Rarog: Cheap fast tool-capable model, reasoning off

Operational settings

  • Compaction: WELES for important threads, Heuristic for cheap work
  • Goal runners: For anything you plan to "come back to later"
  • Participants: @weles for correctness, @rarog for guidance

That baseline is usually enough to get Zorai feeling substantially better than a generic single-model terminal chat workflow.