logo
Development
Search
Conversation

Conversation

Overview

Work's conversation is driven by the Agent Loop. After the user sends a message, the Agent enters an autonomous reasoning-execution loop: analyze the requirement → call a tool → obtain the result → continue reasoning, until the task is complete or an exit condition is met. The entire process is presented on the interface in real time via streaming events.


Message Types

The conversation message flow includes the following types:

Message Type Rendering Description
User Message Right-aligned bubble Text and attachments sent by the user
Assistant Text Left-aligned Markdown rendering The Agent's text reply, with support for code highlighting, math formulas, and tables
Tool Call ToolCallGroup collapsible panel Tool name + input parameters + execution status + output result
Thinking Process Thinking collapsible block The Agent's reasoning process (native thinking models such as Claude)
Task Management TaskPanel task panel Structured task list (To Do / In Progress / Done)
Subagent Activity SubagentToolRow Subagent execution process, with special markers
Question Interaction QuestionWizard Structured questions the Agent poses to the user

Tool Call Display

When the Agent calls a tool, the interface displays the ToolCallGroup component:

Tool Call Display-CN

Display Element Description
Tool Name The identifier of the tool being called (such as Bash, Read File)
Input Parameters The parameters received by the tool (collapsible for viewing)
Execution Status loading (spinning icon) / success (green check) / error (red cross)
Output Result The content returned by the tool (long content is collapsible)

Multiple tool calls are grouped and displayed in execution order. Tools executed concurrently are shown in the same group.


Streaming Output

The Agent's replies are pushed to the interface in real time via streaming events:

Event Type Description
text_delta Text fragment, appended character by character to the message area
thinking Thinking process fragment (supports Anthropic native thinking)
tool_use_start Tool call starts, displays the tool name and parameters
tool_result Tool execution result, updates the status icon
error Error message
done This round is complete

Users can see the Agent's real-time reasoning and operations during streaming output, providing a transparent execution experience.


Session Management

Creating a New Session

Click the "New Conversation" button in the top-left corner or use the keyboard shortcut to create a new session. A new session starts from the welcome page, or you can enter a message directly to start the conversation.

Session List Operations

Operation Description
Search Filter session titles by keyword
Pin Pin important sessions to the top of the list
Folder Grouping Organize sessions into custom folders
Delete Remove a session (unrecoverable)
Rename Modify the session title

Session Snapshots and Recovery

The APP supports session snapshot persistence to prevent conversation loss caused by accidental interruptions:

Snapshot Strategy Description
every_tool_round (default) Save after each tool call
every_round Save after each round of LLM interaction
manual Save only when triggered manually

Snapshots are stored as JSON files (atomic writes, .tmp + rename to prevent corruption) and can be used to recover an interrupted session via resumeSessionId.


Local Conversations and Remote Conversations

In multi-node scenarios, conversations in the session list display different source icons:

Icon Meaning
Local Conversation Icon Computer icon Conversations initiated or executed by a local APP node
Remote Conversation Icon Server icon Conversations executed by a remote node
Channel Icon Platform icon Conversations from IM channels (Telegram, WeChat, etc.)

This helps users quickly distinguish the execution source of a conversation.


Agent Loop Complex Task Capability

The Agent Loop enables Work to handle complex tasks that require multiple steps:

Example scenario: The user requests "Analyze the project directory structure and generate architecture documentation"

Round 1: Agent calls List Directory to browse the project structure Round 2: Agent calls Glob Files to search for key configuration files Round 3: Agent calls Read File to read the content of core files Round 4: Agent calls Search Files to find module dependencies Round 5: Agent synthesizes the analysis and generates the Markdown architecture documentation Round 6: Agent calls Write File to save the document to the specified path
                      
                      Round 1: Agent calls List Directory to browse the project structure
Round 2: Agent calls Glob Files to search for key configuration files
Round 3: Agent calls Read File to read the content of core files
Round 4: Agent calls Search Files to find module dependencies
Round 5: Agent synthesizes the analysis and generates the Markdown architecture documentation
Round 6: Agent calls Write File to save the document to the specified path

                    
This code block in the floating window

Throughout the process, the Agent autonomously decides which tools to call and in what order to execute them, without the user needing to provide step-by-step guidance. The default maximum is 25 loop rounds, and a circuit breaker mechanism ensures automatic stopping in case of anomalies.

For technical details, refer to Agent Loop Engine.



Tips: How to Communicate with the Agent More Effectively

Tip Example Effect
Be clear about the goal "Help me refactor the formatDate function in utils.ts to use date-fns" The Agent accurately locates the target and approach
Request step by step "First list all .tsx files, then tell me which ones use class components" The Agent executes step by step, with more controllable results
Specify the tool "Please use Bash to run npm test" The Agent directly uses the specified tool
Ask for confirmation "Tell me your plan first, and execute only after I confirm" Prevents the Agent from modifying files directly
Provide context "This is a React + TypeScript project built with Vite" The Agent gives more relevant suggestions

How to Abort a Task in Progress

When the Agent is performing an operation you did not intend:

  1. Click the Stop button at the bottom of the message flow (or press Esc)
  2. The Agent will stop after the current tool execution is complete
  3. Operations that have already been executed (such as files already created) will not be automatically undone
  4. You can continue the conversation to instruct the Agent to undo the previous operations

Note: A Bash command in progress will be terminated (SIGTERM is sent), but the effects of commands that have already completed cannot be automatically undone.


What to Do When a Tool Call Fails

Failure Reason Solution
Insufficient permissions The Agent will explain the required permission; you can allow it in the popup, or adjust the tool's security level
File does not exist Check whether the path is correct; you can have the Agent first use Glob / List Directory to confirm the file location
Command execution error The Agent usually analyzes the error and retries automatically. If it keeps failing, manually provide more context
Network timeout Network tools such as Web Fetch may fail due to network issues; just retry later