diff --git a/pipeline_service/agent_loop.py b/pipeline_service/agent_loop.py
index b38663f..82d3456 100644
--- a/pipeline_service/agent_loop.py
+++ b/pipeline_service/agent_loop.py
@@ -467,13 +467,13 @@ def _parse_agent_action(raw):
if raw.startswith("```"):
raw = raw.split("\n", 1)[1].rsplit("```", 1)[0].strip()
- # deepseek 原生 function calling 输出 XML:...
- m = re.search(r'(.*?)', raw, re.DOTALL)
+ # deepseek 原生 function calling 输出 XML:...
+ m = re.search(r']*>(.*?)', raw, re.DOTALL)
if m:
tool = m.group(1).strip()
body = m.group(2)
params = {}
- for pm in re.finditer(r'(.*?)', body, re.DOTALL):
+ for pm in re.finditer(r']*>(.*?)', body, re.DOTALL):
val = pm.group(2).strip()
try:
val = json.loads(val)