Describe script access as this add-on, not a second piece of software.

This commit is contained in:
alexveley
2026-09-22 07:45:35 -04:00
parent 41c83dabac
commit c19e619b2f
5 changed files with 8 additions and 8 deletions
+1 -1
View File
@@ -2,7 +2,7 @@
An API add-on for Firefox to allow agentic and script-based management of user bookmarks. An API add-on for Firefox to allow agentic and script-based management of user bookmarks.
The published product is the add-on in `extension/`. Issue a secret in **Manage clients**, store it with your secrets, and keep Firefox open. A separately installed native host is what accepts those local calls. The options page does not need the host. The published product is the add-on in `extension/`. Issue a secret in **Manage clients**, store it with your secrets, and keep Firefox open so those tools can talk to this add-on.
This is not a bookmark sync engine, and it is not a Mozilla product. This is not a bookmark sync engine, and it is not a Mozilla product.
+1 -1
View File
@@ -2,7 +2,7 @@
"manifest_version": 3, "manifest_version": 3,
"name": "Bookmarks API for Scripting and AI", "name": "Bookmarks API for Scripting and AI",
"short_name": "Bookmarks API", "short_name": "Bookmarks API",
"version": "0.4.0", "version": "0.4.1",
"description": "An API add-on for Firefox to allow agentic and script-based management of user bookmarks.", "description": "An API add-on for Firefox to allow agentic and script-based management of user bookmarks.",
"browser_specific_settings": { "browser_specific_settings": {
"gecko": { "gecko": {
+1 -1
View File
@@ -12,7 +12,7 @@
<ol class="process"> <ol class="process">
<li>Issue a secret for each agent or script that should be allowed to work with your bookmarks.</li> <li>Issue a secret for each agent or script that should be allowed to work with your bookmarks.</li>
<li>Store that secret with your secrets. This add-on keeps only a hash.</li> <li>Store that secret with your secrets. This add-on keeps only a hash.</li>
<li>While Firefox is open, those tools call the local bookmarks API. A separately installed native host is what listens for those calls — this page does not need it.</li> <li>While Firefox is open, those tools talk to this add-on to manage your bookmarks. This page is only for deciding who is allowed.</li>
</ol> </ol>
<p id="status" class="muted"></p> <p id="status" class="muted"></p>
</header> </header>
+3 -3
View File
@@ -45,10 +45,10 @@ async function refresh() {
try { try {
const info = await browser.runtime.sendMessage({ type: "status" }); const info = await browser.runtime.sendMessage({ type: "status" });
statusEl.textContent = info && info.hostUp statusEl.textContent = info && info.hostUp
? "Local script access is on. Agents can call in while this browser is open." ? "This add-on is ready for agents and scripts while Firefox is open."
: "Secrets work here. Install the native host if you want scripts and agents to call in."; : "You can issue and revoke secrets here anytime.";
} catch (err) { } catch (err) {
statusEl.textContent = "Secrets work here. Local script access status is unavailable."; statusEl.textContent = "You can issue and revoke secrets here anytime.";
} }
} }
+2 -2
View File
@@ -5,9 +5,9 @@ const manage = document.getElementById("manage");
browser.runtime.sendMessage({ type: "status" }).then((info) => { browser.runtime.sendMessage({ type: "status" }).then((info) => {
if (info && info.hostUp) { if (info && info.hostUp) {
statusEl.textContent = "Local script access is on."; statusEl.textContent = "Ready for agents and scripts while Firefox is open.";
} else { } else {
statusEl.textContent = "You can still issue secrets. Local script access needs the native host."; statusEl.textContent = "You can issue and revoke secrets here.";
} }
}); });