Skip to content

Commit b17d9f7

Browse files
chore: add get_default_tools method for agents
1 parent 153782e commit b17d9f7

3 files changed

Lines changed: 46 additions & 36 deletions

File tree

src/askui/agent_base.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -878,3 +878,7 @@ def __exit__(
878878
traceback: types.TracebackType | None,
879879
) -> None:
880880
self.close()
881+
882+
@staticmethod
883+
def get_default_tools() -> list[Tool]:
884+
return []

src/askui/android_agent.py

Lines changed: 20 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -81,23 +81,7 @@ def __init__(
8181
super().__init__(
8282
reporter=reporter,
8383
retry=retry,
84-
tools=[
85-
AndroidScreenshotTool(),
86-
AndroidTapTool(),
87-
AndroidTypeTool(),
88-
AndroidDragAndDropTool(),
89-
AndroidKeyTapEventTool(),
90-
AndroidSwipeTool(),
91-
AndroidKeyCombinationTool(),
92-
AndroidShellTool(),
93-
AndroidSelectDeviceBySerialNumberTool(),
94-
AndroidSelectDisplayByUniqueIDTool(),
95-
AndroidGetConnectedDevicesSerialNumbersTool(),
96-
AndroidGetConnectedDisplaysInfosTool(),
97-
AndroidGetCurrentConnectedDeviceInfosTool(),
98-
ExceptionTool(),
99-
]
100-
+ (act_tools or []),
84+
tools=self.get_default_tools() + (act_tools or []),
10185
agent_os=self.os,
10286
settings=settings,
10387
callbacks=callbacks,
@@ -357,6 +341,25 @@ def set_device_by_serial_number(
357341
)
358342
self.os.set_device_by_serial_number(device_sn)
359343

344+
@staticmethod
345+
def get_default_tools() -> list[Tool]:
346+
return [
347+
AndroidScreenshotTool(),
348+
AndroidTapTool(),
349+
AndroidTypeTool(),
350+
AndroidDragAndDropTool(),
351+
AndroidKeyTapEventTool(),
352+
AndroidSwipeTool(),
353+
AndroidKeyCombinationTool(),
354+
AndroidShellTool(),
355+
AndroidSelectDeviceBySerialNumberTool(),
356+
AndroidSelectDisplayByUniqueIDTool(),
357+
AndroidGetConnectedDevicesSerialNumbersTool(),
358+
AndroidGetConnectedDisplaysInfosTool(),
359+
AndroidGetCurrentConnectedDeviceInfosTool(),
360+
ExceptionTool(),
361+
]
362+
360363

361364
class AndroidVisionAgent(AndroidAgent):
362365
def __init__(self, *args, **kwargs) -> None: # type: ignore

src/askui/computer_agent.py

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -92,25 +92,7 @@ def __init__(
9292
super().__init__(
9393
reporter=reporter,
9494
retry=retry,
95-
tools=[
96-
ExceptionTool(),
97-
ComputerGetSystemInfoTool(),
98-
ComputerGetMousePositionTool(),
99-
ComputerKeyboardPressedTool(),
100-
ComputerKeyboardReleaseTool(),
101-
ComputerKeyboardTapTool(),
102-
ComputerMouseClickTool(),
103-
ComputerMouseHoldDownTool(),
104-
ComputerMouseReleaseTool(),
105-
ComputerMouseScrollTool(),
106-
ComputerMoveMouseTool(),
107-
ComputerScreenshotTool(),
108-
ComputerTypeTool(),
109-
ComputerListDisplaysTool(),
110-
ComputerRetrieveActiveDisplayTool(),
111-
ComputerSetActiveDisplayTool(),
112-
]
113-
+ (act_tools or []),
95+
tools=self.get_default_tools() + (act_tools or []),
11496
agent_os=self.tools.os,
11597
settings=settings,
11698
callbacks=callbacks,
@@ -508,6 +490,27 @@ def cli(
508490
)
509491
self.tools.os.run_command(command)
510492

493+
@staticmethod
494+
def get_default_tools() -> list[Tool]:
495+
return [
496+
ExceptionTool(),
497+
ComputerGetSystemInfoTool(),
498+
ComputerGetMousePositionTool(),
499+
ComputerKeyboardPressedTool(),
500+
ComputerKeyboardReleaseTool(),
501+
ComputerKeyboardTapTool(),
502+
ComputerMouseClickTool(),
503+
ComputerMouseHoldDownTool(),
504+
ComputerMouseReleaseTool(),
505+
ComputerMouseScrollTool(),
506+
ComputerMoveMouseTool(),
507+
ComputerScreenshotTool(),
508+
ComputerTypeTool(),
509+
ComputerListDisplaysTool(),
510+
ComputerRetrieveActiveDisplayTool(),
511+
ComputerSetActiveDisplayTool(),
512+
]
513+
511514

512515
class VisionAgent(ComputerAgent):
513516
def __init__(self, *args, **kwargs) -> None: # type: ignore

0 commit comments

Comments
 (0)