Commit Graph

42 Commits

Author SHA1 Message Date
magmueller
969856478a Include clicks in memory 2024-12-03 10:06:46 +01:00
magmueller
b0fcf2816e Check if state changed 2024-12-03 09:22:23 +01:00
magmueller
25196b57d1 Create hashes of state in multi act 2024-12-02 20:36:59 +01:00
magmueller
3ca8f50acb Improve function description 2024-12-02 14:50:43 +01:00
magmueller
921a23d5ef No sleep after last action 2024-12-02 11:20:37 +01:00
magmueller
34ca52ea3a Fix small actions - improve prompt for multiaction - improve logging 2024-12-01 22:34:17 +01:00
magmueller
90ef74aceb Removed num_clicks, fixed type valuation -> evaluation, and multiaction with output list 2024-12-01 21:49:57 +01:00
magmueller
c581a1b251 First draft multi-action runs 2024-12-01 21:00:22 +01:00
magmueller
fcbd9a8cd7 Remove highlights before action 2024-12-01 20:02:11 +01:00
magmueller
9dfc1f3faf Seperate class for browserhistory - fixed type errors 2024-11-28 23:59:49 +01:00
magmueller
c39bf65da1 Merge remote-tracking branch 'origin/main' into feature/reexecutable-script 2024-11-28 23:28:06 +01:00
Gregor Žunič
0d86bbb317 wait for traffic load, better browser config 2024-11-28 22:41:01 +01:00
magmueller
519881a7b3 Rerun works 2024-11-28 21:10:25 +01:00
Gregor Žunič
40e8c05c7d Merge branch 'main' into gregpr07/bu-85-make-iframes-and-shadow-elements-work-with-dom-service 2024-11-28 12:51:33 +01:00
magmueller
f73c69de29 Remove print selector map 2024-11-28 12:30:59 +01:00
magmueller
6669a436c7 Merge remote-tracking branch 'origin/gregpr07/bu-85-make-iframes-and-shadow-elements-work-with-dom-service' into feature/reexecutable-script 2024-11-28 06:55:14 +01:00
magmueller
3696a3b7ed Include xpath 2024-11-28 06:50:44 +01:00
magmueller
8c7686e3ce Include disable security in controller 2024-11-27 14:32:56 +01:00
Gregor Žunič
d64448923f option to disable chrome security, cross site iframes work 2024-11-26 18:23:27 +01:00
Gregor Žunič
829ed138fd clicking version - still missing iframe/shadow elements penetration 2024-11-25 21:45:05 +01:00
magmueller
d2e3de97d5 Save cookies 2024-11-25 16:56:15 +01:00
magmueller
21198f5904 Fix tests - now most of them are running through again 2024-11-24 22:05:17 +01:00
magmueller
8aa4321efe Merge branch 'main' into hot-fix/max-token-message-manager 2024-11-23 18:31:10 +01:00
magmueller
820d037852 Improved logging 2024-11-23 13:01:40 +01:00
magmueller
ef6311b22c Merge remote-tracking branch 'origin/main' into output-history 2024-11-22 22:41:58 +01:00
Gregor Žunič
0019105a49 fixed merge errors 2024-11-22 15:08:58 +01:00
Gregor Žunič
5941dd2752 Merge branch 'staging' into gregorzunic/bu-56-switch-from-selenium-to-playwright 2024-11-22 15:08:30 +01:00
magmueller
e5d7dc2e3f Agent history tests included 2024-11-22 13:08:37 +01:00
Gregor Žunič
0000af0a11 fixed sync pydantic param registered functions 2024-11-22 12:51:30 +01:00
Jean Weatherwax
c73eca6991 Allow headless option when initializing controller 2024-11-21 12:44:20 -07:00
Gregor Žunič
57490c06f3 fixed num clicks type error 2024-11-21 10:37:35 +01:00
Gregor Žunič
b0c390f2c0 fixed multi tab management, clicking timeouts, general bugfixes 2024-11-20 17:33:49 +01:00
magmueller
d0f215ef4d Fix max token error - cut history context or current message if its too long 2024-11-20 16:40:12 +01:00
magmueller
e4ed949141 Seperate results which stay in context and which not to avoid max token limit 2024-11-20 15:42:32 +01:00
Gregor Žunič
f7148e3542 untested version of playwright (kinda works) 2024-11-19 18:32:31 +01:00
magmueller
0bb488a01a Extent description for extract page 2024-11-18 14:28:57 +01:00
magmueller
3b047656f0 Fixed bug for empty parameters 2024-11-18 14:28:37 +01:00
magmueller
1e9dee081b Core function to scroll up and down on page 2024-11-17 16:43:54 +01:00
Gregor Žunič
4f74170685 Added anonymized posthog telemetry (#22)
* added anonymized telemetry

* collect data with posthog readme
2024-11-17 01:17:01 +01:00
Gregor Žunič
89c63fdd63 Added custom actions registry and fixed extraction layer (#20)
* Validator

* Test mind2web

* Cleaned up logger

* Pytest logger

* Cleaned up logger

* Disable flag for human input

* Multiple clicks per button

* Multiple clicks per button

* More structured system prompt

* Fields with description

* System prompt example

* One logger

* Cleaner logging

* Log step in step function

* Fix critical clicking error - wrong argument used

* Improved thought process of agent

* Improve system prompt

* Remove human input message

* Custome action registration

* Pydantic model for custom actions

* Pydantic model for custome output

* Runs through, model outputs functions, but not called yet

* Work in progress - description for custome actions

* Description works, but schema not yet

* Model can call the right action - but is not executed

* Seperate is_controller_action  and is_custom_action

* Works! Model can call custom function

* Use registry for action, but result is not feed back to model

* Include result in messages

* Works with custom function - but typing is not correct

* Renamed registry

* First test cases

* Captcha tests

* Pydantic for tests

* Improve prompts for multy step

* System prompt structure

* Handle errors like validation error

* Refactor error handling in agent

* Refactor error handling in agent

* Improved logging

* Update view

* Fix click parameter to index

* Simplify dynamic actions

* Use run instead of step

* Rename history

* Rename AgentService to Agent

* Rename ControllerService to Controller

* Pytest file

* Rename get state

* Rename BrowserService

* reversed dom extraction recursion to while

* Rename use_vision

* Rename use_vision

* reversed dom tree items and made browser less anoying

* Renaming and fixing type errors

* Renamed class names for agent

* updated requirements

* Update prompt

* Action registration works for user and controller

* Fix done call by returning ActionResult

* Fix if result is none

* Rename AgentOutput and ActionModel

* Improved prompt Passes 6/8 tests from test_agent_actions

* Calculate token cost

* Improve display

* Simplified logger

* Test function calling

* created super simple xpath extraction algo

* Tests logging

* tiny fixes to dom extraction

* Remove test

* Dont log number of clicks

* Pytest file

* merged per element js checks

* Check if driver is still open

* super fast processing

* fixed agent planning and stuff

* Fix example

* Fix example

* Improve error

* Improved error correction

* New line for step

* small type error fixes

* Test for pydantic

* Fix line

* Removed sample

* fixed readme and examples

---------

Co-authored-by: magmueller <mamagnus00@gmail.com>
2024-11-15 21:42:02 +01:00
Gregor Žunič
f11c37388d added highlighting of items 2024-11-07 19:02:02 +01:00
Gregor Žunič
68201df624 src -> browser_use 2024-11-06 18:18:00 +01:00