agentscope-ai / agentscope-ai/QwenPaw

[Question]: assistant stuck showing only “Thinking” after tool_result until later user turns (thinking-only step, no visible text)

Abierto
#4,367 3 comentarios 0 reacciones 1 asignado Reclamado por @qbc2016 Ver en GitHub
question
Lenguaje dominante
TypeScript
Estrellas
35k
Forks
3.1k
Merge medio
1 d 13 h
PR fusionados (30 d)
228

Descripción

### Summary

When chatting via the **Console** channel, several consecutive **user** messages appear to show only **Thinking** (reasoning stream) without a user-visible **answer**, until a later message finally receives a normal **text** reply.

Persisted session state shows **assistant** messages whose `content` is **`thinking` only** (no `text` block) immediately **after** a **`tool_result`** following **`memory_search`** (and similar tool chains). Earlier user turns never get a closing **`text`** answer in memory until the user sends another message or the model eventually emits **`thinking` + `text`**.

This looks like an interaction between **ReAct iteration boundaries**, **thinking/reasoning vs `content` streaming**, and **Console UX**, not `filter_thinking` on IM channels (we use `filter_thinking: false` on console).

### Environment

- **QwenPaw**: `1.1.4.post2`
- **Channel**: Console (direct HTTP/UI to pod)
- **Backend LLM**: e.g. **vLLM**, model **`qwen3.5:9b`** (thinking-capable stack)
- **OS**: Linux container (Debian-based image), supervised app on `:18789`

### Steps to reproduce

1. Start a **new** chat session on Console.
2. Send short trivial prompts (e.g. `"1"`, `"111"`, `"12345"`) or any prompt that triggers **`memory_search`** early (assistant often emits short text like “Searching memory for relevant context…” plus **`tool_use`**).
3. Observe the UI: after **`tool_result`**, the next assistant segment may show **only Thinking** with **no final visible reply text** for that user turn.
4. Inspect persisted session file under `workspaces//sessions/*.json` → `agent.memory.content`.

### Expected behavior

After every **`tool_result`**, the next assistant step should include **at least one user-visible `text`** fragment (even a one-line summary), or the Console should not treat **thinking-only** assistant chunks as the sole visible outcome for that user message.

### Actual behavior

- Session memory can contain sequences like:
- `user` → `assistant` (`text` + `tool_use`) → `system` (`tool_result`) → **`assistant` (`thinking` only, no `text`)** → next `user` …
- Logs may still show `console stream done: ... has_response=True` for those turns, while the **stored** transcript lacks a closing **`text`** answer for the first user message(s).

### Evidence (sanitized)

Image

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.