diff --git a/ai/compute.py b/ai/compute.py index 6a2e3c5..2586423 100644 --- a/ai/compute.py +++ b/ai/compute.py @@ -86,17 +86,23 @@ def wait(duration: float) -> None: """Waits for the specified duration in seconds.""" time.sleep(duration) +def press_windows_key() -> None: + """Presses the Windows key.""" + pyautogui.hotkey('win') + def reprompt(nextsteps: str, processor) -> None: """Re-execute GPT and take a new screenshot.""" scr = screenshot_to_base64(take_screenshot()) return processor.process(nextsteps, img_data=scr) -def _execute(name, args, processor): +def _execute(name, args=[], processor=None): if name == "click_button": press_mouse(MouseInput(**args)) elif name == "type_text": press_keyboard(KeyboardInput(**args)) elif name == "wait": wait(**args) + elif name == "press_windows_key": + press_windows_key() elif name == "reprompt": reprompt(**args, processor=processor) diff --git a/objects/aic.py b/objects/aic.py index 9fcd03f..dd18d0a 100644 --- a/objects/aic.py +++ b/objects/aic.py @@ -110,7 +110,19 @@ FUNCTIONS = [ "required": ["goal"], } } - } + }, + { + "type": "function", + "function": { + "name": "windows_key", + "description": "Press the Windows key to open the Start menu.", + "parameters": { + "type": "object", + "properties": {}, + "required": [], + } + } + }, ]