diff --git a/ga.py b/ga.py index 5df48c5..e86e03d 100644 --- a/ga.py +++ b/ga.py @@ -388,7 +388,7 @@ class GenericAgentHandler(BaseHandler): blocks = extract_robust_content(response.content) if not blocks: - yield f"[Status] ❌ 失败: 未在回复中找到代码块内容\n" + yield f"[Status] ❌ 失败: 未在回复中找到代码块内容\n" return StepOutcome({"status": "error", "msg": "No content found, if you want a blank, you should use code_run"}, next_prompt="\n") try: new_content = expand_file_refs(blocks, base_dir=self.cwd) diff --git a/llmcore.py b/llmcore.py index 738f146..d6ef43e 100644 --- a/llmcore.py +++ b/llmcore.py @@ -748,7 +748,7 @@ class ToolClient: remaining_text = re.sub(think_pattern, "", remaining_text, flags=re.DOTALL) tool_calls = []; json_strs = []; errors = [] - tool_pattern = r"((?:(?!).){15,}?)" + tool_pattern = r"<(?:tool_use|tool_call)>((?:(?!<(?:tool_use|tool_call)>).){0,}?)"} tool_all = re.findall(tool_pattern, remaining_text, re.DOTALL) if tool_all: @@ -764,9 +764,9 @@ class ToolClient: json_strs.append(json_str) remaining_text = remaining_text.replace(''+weaktoolstr, "") elif '"name":' in remaining_text and '"arguments":' in remaining_text: - json_match = re.search(r"(\{.*\"name\":.*?\})", remaining_text, re.DOTALL | re.MULTILINE) + json_match = re.search(r'\{.*"name":.*\}', remaining_text, re.DOTALL) if json_match: - json_str = json_match.group(1).strip() + json_str = json_match.group(0).strip() json_strs.append(json_str) remaining_text = remaining_text.replace(json_str, "").strip()