mini-agent-framework 0.2.0__tar.gz → 0.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mini_agent_framework-0.2.0/src/mini_agent_framework.egg-info → mini_agent_framework-0.2.2}/PKG-INFO +14 -2
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/README.md +12 -1
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/pyproject.toml +2 -2
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/engine.py +13 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/session.py +2 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/__init__.py +7 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/browser_tools.py +31 -2
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2/src/mini_agent_framework.egg-info}/PKG-INFO +14 -2
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent_framework.egg-info/requires.txt +1 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/LICENSE +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/setup.cfg +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/cli.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/config/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/config/settings.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/agent.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/memory/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/memory/conversation.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/orchestrator.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/session_manager.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/tool_loop.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/utils/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/utils/action_tracker.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/utils/approval.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/utils/json_utils.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/llm/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/llm/base.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/prompts/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/prompts/orchestrator_prompt.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/prompts/prompt_builder.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/providers/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/providers/nvidia_provider.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/exceptions.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/logger.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/models.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tool_registry.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/base.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/check.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/click.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/close.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/dialog.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/download.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/extract.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/fill.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/javascript.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/navigate.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/observe.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/open.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/read.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/screenshot.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/scroll.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/select.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/storage.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/tabs.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/upload.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/tools/wait.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/bash_tool.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/data_tools.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/file_tools.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/math_tools.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/system_tools.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/builtin/web_tools.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/tools.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/skills/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/skills/builtin.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/skills/code-review/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/skills/code-review/code-review.md +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/skills/developer/__init__.py +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/skills/developer/developer.md +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent_framework.egg-info/SOURCES.txt +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent_framework.egg-info/dependency_links.txt +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent_framework.egg-info/entry_points.txt +0 -0
- {mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent_framework.egg-info/top_level.txt +0 -0
{mini_agent_framework-0.2.0/src/mini_agent_framework.egg-info → mini_agent_framework-0.2.2}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mini-agent-framework
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: A dynamic, need-based multi-agent AI framework with session memory, action tracking, tool approval, and browser automation
|
|
5
5
|
Author-email: ayyandurai <ayyandurai456@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -25,6 +25,7 @@ Requires-Dist: fastapi>=0.111
|
|
|
25
25
|
Requires-Dist: uvicorn>=0.24
|
|
26
26
|
Provides-Extra: browser
|
|
27
27
|
Requires-Dist: playwright>=1.38; extra == "browser"
|
|
28
|
+
Requires-Dist: playwright-stealth; extra == "browser"
|
|
28
29
|
Dynamic: license-file
|
|
29
30
|
|
|
30
31
|
# mini-agent-framework
|
|
@@ -438,12 +439,23 @@ playwright install chromium
|
|
|
438
439
|
```
|
|
439
440
|
|
|
440
441
|
```python
|
|
441
|
-
from mini_agent.registry.builtin import BROWSER_TOOLS
|
|
442
|
+
from mini_agent.registry.builtin import init_browser, BROWSER_TOOLS
|
|
443
|
+
|
|
444
|
+
# headless=True → invisible (default)
|
|
445
|
+
# headless=False → visible GUI window
|
|
446
|
+
init_browser(headless=False)
|
|
442
447
|
orch.register_tools(BROWSER_TOOLS)
|
|
443
448
|
```
|
|
444
449
|
|
|
445
450
|
Available: `browser_open`, `browser_click`, `browser_fill`, `browser_select`, `browser_scroll`, `browser_extract`, `browser_screenshot`, `browser_read`, `browser_observe`, `browser_navigate`, `browser_tabs`, `browser_download`, `browser_dialog`, `browser_wait`, `browser_check`, `browser_close`, `browser_javascript`, `browser_upload`.
|
|
446
451
|
|
|
452
|
+
To toggle between modes at runtime:
|
|
453
|
+
|
|
454
|
+
```python
|
|
455
|
+
init_browser(headless=False) # switch to visible mode
|
|
456
|
+
init_browser(headless=True) # switch back to headless
|
|
457
|
+
```
|
|
458
|
+
|
|
447
459
|
---
|
|
448
460
|
|
|
449
461
|
## Configuration
|
|
@@ -409,12 +409,23 @@ playwright install chromium
|
|
|
409
409
|
```
|
|
410
410
|
|
|
411
411
|
```python
|
|
412
|
-
from mini_agent.registry.builtin import BROWSER_TOOLS
|
|
412
|
+
from mini_agent.registry.builtin import init_browser, BROWSER_TOOLS
|
|
413
|
+
|
|
414
|
+
# headless=True → invisible (default)
|
|
415
|
+
# headless=False → visible GUI window
|
|
416
|
+
init_browser(headless=False)
|
|
413
417
|
orch.register_tools(BROWSER_TOOLS)
|
|
414
418
|
```
|
|
415
419
|
|
|
416
420
|
Available: `browser_open`, `browser_click`, `browser_fill`, `browser_select`, `browser_scroll`, `browser_extract`, `browser_screenshot`, `browser_read`, `browser_observe`, `browser_navigate`, `browser_tabs`, `browser_download`, `browser_dialog`, `browser_wait`, `browser_check`, `browser_close`, `browser_javascript`, `browser_upload`.
|
|
417
421
|
|
|
422
|
+
To toggle between modes at runtime:
|
|
423
|
+
|
|
424
|
+
```python
|
|
425
|
+
init_browser(headless=False) # switch to visible mode
|
|
426
|
+
init_browser(headless=True) # switch back to headless
|
|
427
|
+
```
|
|
428
|
+
|
|
418
429
|
---
|
|
419
430
|
|
|
420
431
|
## Configuration
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "mini-agent-framework"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.2"
|
|
8
8
|
description = "A dynamic, need-based multi-agent AI framework with session memory, action tracking, tool approval, and browser automation"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
@@ -30,7 +30,7 @@ dependencies = [
|
|
|
30
30
|
]
|
|
31
31
|
|
|
32
32
|
[project.optional-dependencies]
|
|
33
|
-
browser = ["playwright>=1.38"]
|
|
33
|
+
browser = ["playwright>=1.38", "playwright-stealth"]
|
|
34
34
|
|
|
35
35
|
[project.scripts]
|
|
36
36
|
mini-agent-install-browser = "mini_agent.cli:install_browser"
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/engine.py
RENAMED
|
@@ -22,6 +22,12 @@ from .exceptions import (
|
|
|
22
22
|
BrowserTimeoutError,
|
|
23
23
|
TabNotFoundError,
|
|
24
24
|
)
|
|
25
|
+
try:
|
|
26
|
+
from playwright_stealth import stealth_sync
|
|
27
|
+
_STEALTH_AVAILABLE = True
|
|
28
|
+
except ImportError:
|
|
29
|
+
_STEALTH_AVAILABLE = False
|
|
30
|
+
|
|
25
31
|
from .logger import get_logger
|
|
26
32
|
|
|
27
33
|
logger = get_logger(__name__)
|
|
@@ -77,8 +83,10 @@ class BrowserManager:
|
|
|
77
83
|
slow_mo_ms: int = 0,
|
|
78
84
|
extra_launch_args: Optional[List[str]] = None,
|
|
79
85
|
proxy: Optional[Dict[str, str]] = None,
|
|
86
|
+
stealth: bool = True,
|
|
80
87
|
):
|
|
81
88
|
self.headless = headless
|
|
89
|
+
self.stealth = stealth
|
|
82
90
|
self.browser_type = browser_type
|
|
83
91
|
self.downloads_dir = os.path.abspath(downloads_dir)
|
|
84
92
|
self.screenshots_dir = os.path.abspath(screenshots_dir)
|
|
@@ -167,6 +175,11 @@ class BrowserManager:
|
|
|
167
175
|
async def open_tab(self, url: Optional[str] = None) -> str:
|
|
168
176
|
self._ensure_started()
|
|
169
177
|
page = await self._context.new_page()
|
|
178
|
+
if self.stealth:
|
|
179
|
+
if _STEALTH_AVAILABLE:
|
|
180
|
+
await stealth_sync(page)
|
|
181
|
+
else:
|
|
182
|
+
logger.warning("Stealth enabled but playwright_stealth not installed. Run: pip install playwright-stealth")
|
|
170
183
|
self._tab_counter += 1
|
|
171
184
|
tab_id = f"tab-{self._tab_counter}"
|
|
172
185
|
state = TabState(page=page, tab_id=tab_id)
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/session.py
RENAMED
|
@@ -23,6 +23,7 @@ class BrowserSession:
|
|
|
23
23
|
default_timeout_ms: int = 30_000,
|
|
24
24
|
slow_mo_ms: int = 0,
|
|
25
25
|
proxy: Optional[Dict[str, str]] = None,
|
|
26
|
+
stealth: bool = True,
|
|
26
27
|
):
|
|
27
28
|
self._manager = BrowserManager(
|
|
28
29
|
headless=headless,
|
|
@@ -34,6 +35,7 @@ class BrowserSession:
|
|
|
34
35
|
default_timeout_ms=default_timeout_ms,
|
|
35
36
|
slow_mo_ms=slow_mo_ms,
|
|
36
37
|
proxy=proxy,
|
|
38
|
+
stealth=stealth,
|
|
37
39
|
)
|
|
38
40
|
self._registry = ToolRegistry(self._manager)
|
|
39
41
|
self._started = False
|
|
@@ -32,6 +32,10 @@ def _get_browser_tools():
|
|
|
32
32
|
from .browser_tools import BROWSER_TOOLS
|
|
33
33
|
return BROWSER_TOOLS
|
|
34
34
|
|
|
35
|
+
def _get_init_browser():
|
|
36
|
+
from .browser_tools import init_browser
|
|
37
|
+
return init_browser
|
|
38
|
+
|
|
35
39
|
BUILTIN_TOOLS = FILE_TOOLS + WEB_TOOLS + DATA_TOOLS + MATH_TOOLS + SYSTEM_TOOLS + BASH_TOOL
|
|
36
40
|
|
|
37
41
|
|
|
@@ -40,6 +44,8 @@ def __getattr__(name):
|
|
|
40
44
|
return BUILTIN_TOOLS + _get_browser_tools()
|
|
41
45
|
if name == "BROWSER_TOOLS":
|
|
42
46
|
return _get_browser_tools()
|
|
47
|
+
if name == "init_browser":
|
|
48
|
+
return _get_init_browser()
|
|
43
49
|
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|
|
44
50
|
|
|
45
51
|
__all__ = [
|
|
@@ -52,4 +58,5 @@ __all__ = [
|
|
|
52
58
|
"SYSTEM_TOOLS",
|
|
53
59
|
"BASH_TOOL",
|
|
54
60
|
"BROWSER_TOOLS",
|
|
61
|
+
"init_browser",
|
|
55
62
|
]
|
|
@@ -28,6 +28,35 @@ _lock = threading.Lock()
|
|
|
28
28
|
_agent = None
|
|
29
29
|
_loop = None
|
|
30
30
|
_IMPORT_ERROR = None
|
|
31
|
+
_headless_mode = True
|
|
32
|
+
_stealth_mode = True
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def init_browser(headless: bool = True, stealth: bool = True):
|
|
36
|
+
"""Configure browser mode before registering BROWSER_TOOLS.
|
|
37
|
+
|
|
38
|
+
Call BEFORE register_tools(BROWSER_TOOLS), or to restart with a
|
|
39
|
+
different setting at any point.
|
|
40
|
+
|
|
41
|
+
Parameters
|
|
42
|
+
----------
|
|
43
|
+
headless : bool
|
|
44
|
+
True → invisible browser (default)
|
|
45
|
+
False → visible GUI window
|
|
46
|
+
stealth : bool
|
|
47
|
+
True → enable Playwright stealth (avoids bot detection, default)
|
|
48
|
+
False → disable stealth (debugging)
|
|
49
|
+
"""
|
|
50
|
+
global _headless_mode, _stealth_mode, _agent, _loop
|
|
51
|
+
if _agent is not None:
|
|
52
|
+
try:
|
|
53
|
+
_loop.run_until_complete(_agent._manager.shutdown())
|
|
54
|
+
except Exception:
|
|
55
|
+
pass
|
|
56
|
+
_agent = None
|
|
57
|
+
_loop = None
|
|
58
|
+
_headless_mode = headless
|
|
59
|
+
_stealth_mode = stealth
|
|
31
60
|
|
|
32
61
|
|
|
33
62
|
def _auto_install_chromium():
|
|
@@ -66,7 +95,7 @@ def _ensure_browser():
|
|
|
66
95
|
try:
|
|
67
96
|
_loop = asyncio.new_event_loop()
|
|
68
97
|
asyncio.set_event_loop(_loop)
|
|
69
|
-
_agent = BrowserSession(headless=
|
|
98
|
+
_agent = BrowserSession(headless=_headless_mode, stealth=_stealth_mode)
|
|
70
99
|
_loop.run_until_complete(_agent.start())
|
|
71
100
|
except Exception as e:
|
|
72
101
|
error_msg = str(e).lower()
|
|
@@ -75,7 +104,7 @@ def _ensure_browser():
|
|
|
75
104
|
_auto_install_chromium()
|
|
76
105
|
_loop = asyncio.new_event_loop()
|
|
77
106
|
asyncio.set_event_loop(_loop)
|
|
78
|
-
_agent = BrowserSession(headless=
|
|
107
|
+
_agent = BrowserSession(headless=_headless_mode, stealth=_stealth_mode)
|
|
79
108
|
_loop.run_until_complete(_agent.start())
|
|
80
109
|
return
|
|
81
110
|
except Exception as retry_err:
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2/src/mini_agent_framework.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mini-agent-framework
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.2
|
|
4
4
|
Summary: A dynamic, need-based multi-agent AI framework with session memory, action tracking, tool approval, and browser automation
|
|
5
5
|
Author-email: ayyandurai <ayyandurai456@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -25,6 +25,7 @@ Requires-Dist: fastapi>=0.111
|
|
|
25
25
|
Requires-Dist: uvicorn>=0.24
|
|
26
26
|
Provides-Extra: browser
|
|
27
27
|
Requires-Dist: playwright>=1.38; extra == "browser"
|
|
28
|
+
Requires-Dist: playwright-stealth; extra == "browser"
|
|
28
29
|
Dynamic: license-file
|
|
29
30
|
|
|
30
31
|
# mini-agent-framework
|
|
@@ -438,12 +439,23 @@ playwright install chromium
|
|
|
438
439
|
```
|
|
439
440
|
|
|
440
441
|
```python
|
|
441
|
-
from mini_agent.registry.builtin import BROWSER_TOOLS
|
|
442
|
+
from mini_agent.registry.builtin import init_browser, BROWSER_TOOLS
|
|
443
|
+
|
|
444
|
+
# headless=True → invisible (default)
|
|
445
|
+
# headless=False → visible GUI window
|
|
446
|
+
init_browser(headless=False)
|
|
442
447
|
orch.register_tools(BROWSER_TOOLS)
|
|
443
448
|
```
|
|
444
449
|
|
|
445
450
|
Available: `browser_open`, `browser_click`, `browser_fill`, `browser_select`, `browser_scroll`, `browser_extract`, `browser_screenshot`, `browser_read`, `browser_observe`, `browser_navigate`, `browser_tabs`, `browser_download`, `browser_dialog`, `browser_wait`, `browser_check`, `browser_close`, `browser_javascript`, `browser_upload`.
|
|
446
451
|
|
|
452
|
+
To toggle between modes at runtime:
|
|
453
|
+
|
|
454
|
+
```python
|
|
455
|
+
init_browser(headless=False) # switch to visible mode
|
|
456
|
+
init_browser(headless=True) # switch back to headless
|
|
457
|
+
```
|
|
458
|
+
|
|
447
459
|
---
|
|
448
460
|
|
|
449
461
|
## Configuration
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/memory/__init__.py
RENAMED
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/memory/conversation.py
RENAMED
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/orchestrator.py
RENAMED
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/session_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/utils/approval.py
RENAMED
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/core/utils/json_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/prompts/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/prompts/prompt_builder.py
RENAMED
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/providers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/logger.py
RENAMED
|
File without changes
|
{mini_agent_framework-0.2.0 → mini_agent_framework-0.2.2}/src/mini_agent/registry/browser/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|