browsentic 0.4.15 → 0.5.0
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.
- package/dist/cli.js +65 -3
- package/dist/daemon-main.js +66 -3
- package/extension/chrome-mv3/background.js +23 -23
- package/extension/chrome-mv3/chunks/{globals-NNs2RHRZ.js → globals-BlPE2up2.js} +12 -12
- package/extension/chrome-mv3/chunks/{popup-eocjPmx2.js → popup-Bv3LKSQA.js} +1 -1
- package/extension/chrome-mv3/chunks/{sidepanel-CgfZof6T.js → sidepanel-BfxbkWaC.js} +1 -1
- package/extension/chrome-mv3/content-scripts/content.js +23 -23
- package/extension/chrome-mv3/manifest.json +1 -1
- package/extension/chrome-mv3/popup.html +2 -2
- package/extension/chrome-mv3/sidepanel.html +2 -2
- package/package.json +1 -1
- package/skills/browser-control.md +9 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"manifest_version":3,"name":"Browsentic","description":"Reimagine browsing as agentic — driven by the AI agent you already run, in your own logged-in browser.","version":"0.
|
|
1
|
+
{"manifest_version":3,"name":"Browsentic","description":"Reimagine browsing as agentic — driven by the AI agent you already run, in your own logged-in browser.","version":"0.5.0","icons":{"16":"icon/16.png","32":"icon/32.png","48":"icon/48.png","96":"icon/96.png","128":"icon/128.png"},"permissions":["storage","unlimitedStorage","activeTab","sidePanel","contextMenus","alarms","scripting","notifications","debugger","downloads","audioCapture"],"host_permissions":["<all_urls>"],"background":{"service_worker":"background.js"},"action":{"default_title":"Browsentic","default_popup":"popup.html"},"side_panel":{"default_path":"sidepanel.html"},"content_scripts":[{"matches":["*://*/*"],"js":["content-scripts/content.js"]}]}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<meta name="color-scheme" content="dark">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<title>Browsentic</title>
|
|
8
|
-
<script type="module" crossorigin src="/chunks/popup-
|
|
8
|
+
<script type="module" crossorigin src="/chunks/popup-Bv3LKSQA.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/chunks/rolldown-runtime-Bh1tDfsg.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/chunks/globals-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/chunks/globals-BlPE2up2.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/assets/globals-Bj_wgW8U.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
<meta name="color-scheme" content="dark">
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
7
7
|
<title>Browsentic Chat</title>
|
|
8
|
-
<script type="module" crossorigin src="/chunks/sidepanel-
|
|
8
|
+
<script type="module" crossorigin src="/chunks/sidepanel-BfxbkWaC.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/chunks/rolldown-runtime-Bh1tDfsg.js">
|
|
10
|
-
<link rel="modulepreload" crossorigin href="/chunks/globals-
|
|
10
|
+
<link rel="modulepreload" crossorigin href="/chunks/globals-BlPE2up2.js">
|
|
11
11
|
<link rel="stylesheet" crossorigin href="/assets/globals-Bj_wgW8U.css">
|
|
12
12
|
</head>
|
|
13
13
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "browsentic",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Hand your real, logged-in browser to the AI agent you already run. Installs the browser extension, runs the local daemon, and speaks MCP.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -130,6 +130,14 @@ The result also carries `downloadId`, and `page_attachFile { downloadId, target
|
|
|
130
130
|
|
|
131
131
|
Expect a confirm prompt — writing a file to someone's disk is gated the same way uploading one is. Four refusals are final and none of them is worth routing around: an executable (`DOWNLOAD_REFUSED`), anything over 100 MB (`DOWNLOAD_TOO_LARGE`), a file from a host this run was not about (`DOWNLOAD_OFF_SCOPE`), and a click that downloaded nothing (`NO_DOWNLOAD_STARTED` — it probably opened a page instead, so check where the tab landed). Say what happened and stop.
|
|
132
132
|
|
|
133
|
-
## 11.
|
|
133
|
+
## 11. Frames — when the thing is inside an iframe
|
|
134
|
+
|
|
135
|
+
`page_getPageInfo` sees one document at a time. Visible iframes come back under `frames` with a selector, and nothing inside them is in the snapshot: a form, a button or a piece of text that is plainly on screen but missing from the inventory is usually inside one.
|
|
136
|
+
|
|
137
|
+
`page_switchFrame { frame: { selector } }` steps into it. From then on every tool acts inside that frame as if it were the page — snapshot, click, fill, wait, `page_listSiteTools`, `page_callSiteTool`, `page_injectCode` and `page_runCode` — and each snapshot carries a `frame` block naming where you are. Call it again from inside to go deeper. `page_switchFrame {}` returns to the top document and `{ to: "parent" }` steps out one level; any navigation puts you back at the top on its own. `page_screenshot` and `page_navigate` always work on the whole tab, wherever you are.
|
|
138
|
+
|
|
139
|
+
`FRAME_UNREACHABLE` means the frame cannot run scripts, most often a sandbox without `allow-scripts`. Do not retry it: a screenshot still shows what is there, and `page_trustedClick` with a `point` still reaches it.
|
|
140
|
+
|
|
141
|
+
## 12. Multi-step tasks
|
|
134
142
|
|
|
135
143
|
Do the whole task, not the first step of it. If the user says "search for X and open the first result", that is a fill, a submit, a wait, a snapshot, and a click — finish all of it, then report once at the end. Stop early only when you are blocked on something the user must decide.
|