diff --git a/afk/agents/base.py b/afk/agents/base.py index 0839caa..564ac1c 100644 --- a/afk/agents/base.py +++ b/afk/agents/base.py @@ -508,8 +508,19 @@ def respond(self, user_message: str) -> Iterator[StreamChunk]: had_post_end = False call_seen = False rollback_len = len(self.history) + start_injected = False + if not in_thought and not content: + self.history.append({"role": "assistant", "content": START_TAG}) + start_injected = True try: for c in self.stream(content): + if start_injected: + yield {"status": "start_thinking", "thinking": True} + in_thought = True + start_injected = False + if c.get("status") == "start_thinking": + in_thought = True + continue orig_thinking = c.get("thinking", orig_thinking) if c.get("status") == "start_thinking": in_thought = True