feat: enhance CDP bridge management and fix JS falsy returns

- background.js: Add management API, auto-return for JS, refactor new tab capture
- simphtml.py: Fix falsy return value bug, flatten return structure
- agent_loop.py: Simplify UI icons
- manifest.json: Add management permission
- tools_schema: Optimize prompts for web tools
- tmwebdriver_sop.md: Update documentation
This commit is contained in:
Liang Jiaqing
2026-04-08 18:28:16 +08:00
parent 813eb29692
commit 1c561db0b9
7 changed files with 86 additions and 108 deletions

View File

@@ -824,7 +824,7 @@ def execute_js_rich(script, driver, no_monitor=False):
try:
print(f"Executing: {script[:250]} ...")
response = driver.execute_js(script)
result = response.get('data') or response.get('result')
result = response['data'] if 'data' in response else response.get('result')
if response.get('closed', 0) == 1: reloaded = True
time.sleep(1)
except Exception as e:
@@ -835,10 +835,10 @@ def execute_js_rich(script, driver, no_monitor=False):
rr = {
"status": "failed" if error_msg else "success",
"js_return": result,
"environment": {"reloaded": reloaded},
"tab_id": driver.default_session_id
}
if response.get('newTabs'): rr['environment']['newTabs'] = response['newTabs']
if reloaded: rr['reloaded'] = reloaded
if response.get('newTabs'): rr['newTabs'] = response['newTabs']
else:
after = driver.get_session_dict()
new_sids = {k: v for k, v in after.items() if k not in before_sids}