Conversations

When you use Hefty, everything you see in the UI maps to a simple hierarchy: you chat inside a conversation, each message you send becomes an activity, and within each activity Hefty may go through one or more reasoning loops where it thinks, acts, and reflects.

Conversations

A conversation is your ongoing chat thread with Hefty. You can have multiple conversations, switch between them, and come back later - Hefty remembers the context.

  • Persistent - conversations are saved and survive restarts. When you return, Hefty picks up where you left off.
  • Context-aware - Hefty builds a rolling summary of older messages so it can reference earlier parts of the conversation even in long sessions.
  • Usage tracking - each conversation shows cumulative stats: how many tokens were used and how many actions were taken.

Activities

Every message you send creates an activity. Think of it as one request-response cycle. When you ask Hefty to do something, you'll see the activity progress through several stages in the UI:

  1. Preparing - Hefty searches its knowledge base for relevant skills, entities, and conversation history.
  2. Reasoning - Hefty streams its thinking in real-time. You'll see the response text appear as it's generated.
  3. Acting - if Hefty decides it needs to take action (read a file, run a command, etc.), you'll see each action appear with its status - what tool was used, why, and whether it succeeded.
  4. Done - Hefty delivers its final response. Behind the scenes, it also learns from the interaction for next time.

You can click on any activity to see its full details: which knowledge Hefty recalled, what it planned, and the result of every action it took.

What You See During Reasoning

For simple questions, Hefty responds directly - just like a normal chat. For tasks that require action, Hefty works in loops:

You: "Find all TODO comments in the project" Loop 1 - Hefty thinks and plans → Plan: search files for TODO patterns → Action: shell_execute (grep -r "TODO" ./src) ✓ → Hefty sees the results Loop 2 - Hefty reflects and responds → "I found 12 TODO comments across 5 files..."

In the UI, each loop shows:

  • What Hefty is thinking - the streamed reasoning text
  • What it plans to do - listed actions with the tool name and a brief rationale
  • What happened - each action's result: success or failure, output, and how long it took

If an action fails, Hefty sees the error and can try a different approach in the next loop. This continues until Hefty has a final answer (or reaches the loop limit).

Steering Hefty with Cues

While Hefty is working, you can send cues to steer its thinking. A cue is a short message that gets injected into Hefty's next reasoning loop - like tapping it on the shoulder mid-task.

Use cues when you see Hefty heading in the wrong direction:

  • "Focus on the CSS file, not the JavaScript"
  • "Try using curl instead"
  • "The file is in the /src directory"

Stopping an Activity

You can stop Hefty at any time by clicking the stop button. It will finish whatever action is currently running and then halt. Everything accomplished up to that point is preserved - nothing is lost.