fix: improve JSON parsing error handling with bad_json mechanism

This commit is contained in:
Liang Jiaqing
2026-02-12 21:25:15 +08:00
parent 87e522ff8e
commit df6645adcc
11 changed files with 3000 additions and 24 deletions

View File

@@ -24,6 +24,8 @@ class BaseHandler:
ret = yield from try_call_generator(getattr(self, method_name), args, response)
_ = yield from try_call_generator(self.tool_after_callback, tool_name, args, response, ret)
return ret
elif tool_name == 'bad_json':
return StepOutcome(None, next_prompt=args.get('msg', 'bad_json'), should_exit=False)
else:
yield f"❌ 未知工具: {tool_name}\n"
return StepOutcome(None, next_prompt=f"未知工具 {tool_name}", should_exit=False)