diff --git a/docutranslate/agents/agent.py b/docutranslate/agents/agent.py index 9b2ceb5..a009315 100644 --- a/docutranslate/agents/agent.py +++ b/docutranslate/agents/agent.py @@ -570,10 +570,13 @@ class Agent: if thinking_mode_result is None: return field_thinking, val_enable, val_disable = thinking_mode_result - if self.thinking == "enable": - data[field_thinking] = val_enable - elif self.thinking == "disable": - data[field_thinking] = val_disable + value = val_enable if self.thinking == "enable" else val_disable + # extra_body 是 OpenAI SDK 约定;本项目用 httpx 直接发请求, + # 必须把里面的字段提到顶层,DashScope / GLM 等才会识别。 + if field_thinking == "extra_body" and isinstance(value, dict): + data.update(value) + else: + data[field_thinking] = value def _normalize_mt_lang(self, lang: str | None) -> str | None: if lang is None: