Просмотр исходного кода

fix: action.run executed twice if action is not awaitable (#1021)

Xia Zhenhua 1 год назад
Родитель
Сommit
8450b47609
1 измененных файлов с 3 добавлено и 4 удалено
  1. 3 4
      opendevin/controller/agent_controller.py

+ 3 - 4
opendevin/controller/agent_controller.py

@@ -194,10 +194,9 @@ class AgentController:
 
         if action.executable:
             try:
-                if inspect.isawaitable(action.run(self)):
-                    observation = await cast(Awaitable[Observation], action.run(self))
-                else:
-                    observation = action.run(self)
+                observation = action.run(self)
+                if inspect.isawaitable(observation):
+                    observation = await cast(Awaitable[Observation], observation)
             except Exception as e:
                 observation = AgentErrorObservation(str(e))
                 print_with_color(observation, 'ERROR')