Merge pull request #174 from Bartok9/fix-think-block-leakage

fix: strip <think> blocks from final response to users
This commit is contained in:
Teknium
2026-02-28 16:43:47 -08:00
committed by GitHub

View File

@@ -2569,7 +2569,8 @@ class AIAgent:
tool_names.append(fn.get("name", "unknown"))
msg["content"] = f"Calling the {', '.join(tool_names)} tool{'s' if len(tool_names) > 1 else ''}..."
break
final_response = fallback
# Strip <think> blocks from fallback content for user display
final_response = self._strip_think_blocks(fallback).strip()
break
# No fallback -- append the empty message as-is
@@ -2598,6 +2599,9 @@ class AIAgent:
if hasattr(self, '_empty_content_retries'):
self._empty_content_retries = 0
# Strip <think> blocks from user-facing response (keep raw in messages for trajectory)
final_response = self._strip_think_blocks(final_response).strip()
final_msg = self._build_assistant_message(assistant_message, finish_reason)
messages.append(final_msg)