Spaces:
Running
Running
Download Browser_Agent/workflows/engine.py from Luca448/APP-Backend: direct link, hf CLI and curl.
- Browser
- Download file 1.46 kB
-
https://huggingface.co/spaces/Luca448/APP-Backend/resolve/main/Browser_Agent/workflows/engine.py
- Command line
-
hf download hf://spaces/Luca448/APP-Backend/Browser_Agent/workflows/engine.py
-
curl -L -o engine.py https://huggingface.co/spaces/Luca448/APP-Backend/resolve/main/Browser_Agent/workflows/engine.py
1.46 kB
| # workflows/engine.py | |
| import logging | |
| from browser.manager import BrowserManager | |
| from agent.brain import AgentBrain | |
| logger = logging.getLogger(__name__) | |
| class WorkflowEngine: | |
| def __init__(self): | |
| self.browser_manager = BrowserManager() | |
| async def start(self): | |
| await self.browser_manager.initialize() | |
| logger.info("WorkflowEngine gestartet.") | |
| async def stop(self): | |
| await self.browser_manager.close_all() | |
| logger.info("WorkflowEngine gestoppt.") | |
| async def run_task(self, task_description: str, use_persistent_session: str = None) -> str: | |
| """ | |
| Führt einen Task mithilfe des AgentBrain in einem Browser-Kontext aus. | |
| """ | |
| if use_persistent_session: | |
| context = await self.browser_manager.get_persistent_context(use_persistent_session) | |
| else: | |
| context = await self.browser_manager.get_ephemeral_context() | |
| page = await context.new_page() | |
| brain = AgentBrain() | |
| try: | |
| result = await brain.run(task_description, page) | |
| return result | |
| except Exception as e: | |
| logger.error(f"Fehler bei Ausführung von Task '{task_description[:30]}...': {e}") | |
| return f"Fehler aufgetreten: {str(e)}" | |
| finally: | |
| await page.close() | |
| if not use_persistent_session: | |
| await context.close() | |
| await brain.close() | |