cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Take Project Nova for a spin in Nightly!

AshleyT
Employee
Employee

Hi there! I'm Ashley, Senior Staff Product Manager for Firefox. After months of updates on Project Nova, it's finally in Nightly, ready for you to see for yourself. We're modernizing Firefox from the ground up to ensure it remains a fast, secure, and highly customizable companion for today’s internet.

This is still early days, so you'll notice some rough edges — a few things may look unfinished or inconsistent for now. Keep your Nightly up to date to see the latest. 

As a reminder, the Project Nova updates include:

  • Simpler navigation and a redesigned Settings experience, now live in release
  • Refreshed tabs, icons, spacing, and browser surfaces
  • More ways to make it yours, with rich new themes, wallpapers, and personalization options that let Firefox match your style.

We're grateful for all the thoughtful feedback we got on our earlier Connect post, on social media, and through user research. Based on what we heard, we've made some changes:

  • We'll be experimenting with corner roundness settings for tabs to give you more options — coming soon in Firefox Labs.
  • We brought back Compact Mode so there’s more space for web content and tabs
  • We added more neutral standard theme options.

You can learn more in our blog post.

See it first in Nightly

Nightly is where this work takes shape in the open, and we wanted you to be among the first to see where it's headed. Since much of what’s changed so far focuses on the look of the interface, keep an eye out for how these layouts feel during your day-to-day browsing. We're aiming for a clean, intuitive experience —so please look out for anything that feels off, like icons, spacing, alignment, or how things hold up across themes, window sizes, different languages, screen readers, and keyboard navigation. If something catches your eye, we'd love to hear about it.

Download the latest version of Nightly to see what's new.

Something's not right? File a bug.

If you find visual or functional issues with the Nova style changes in Nightly, please follow these steps:

  1. Click this link to file a Bugzilla issue. We're asking everyone to file bugs this way, so we can easily keep track of all issues reported.
  2. In the bug, please add steps to reproduce the issue, and if possible screenshots or screencasts. Please don't add severity and priority to the bugs — our triaging teams will handle that.
  3. You can see all Nova testing bugs filed here.

Have overall feedback? Let us know here in Connect.

Drop a comment here to let us know your thoughts and suggestions. Thanks for being part of this.

282 REPLIES 282

akayanni
Making moves

Ashley,

I'm not sure what the usage is beyond myself. We try to transfer any data we can get for logs and AI use. Hence "DomEyes". I think this is serious enough for further consideration so I've set it out and had Claude document what we are doing. 

We want to be able to fully manage the browser via the extension. It's part of application development and testing. We want to send screenshot of before, on roll over and clicks. There a plan. 🙂 Not sure it this covers everything. 

Because FF was a pain, we have 2 versions, the plugin and the built into the sites. I can tell you from using the code base we have this is a must have feature. I think there are some real wins in this for FF.

Smart Editor — a Firefox extension that bridges the page to a local AI agent, and what we'd like Mozilla to protect

**Context:**companion to the chrome-less app-window note. Same project (Smart Editor, smarteditor.io), different surface. Where that note was about running web apps as chrome-less native windows, this one is about a Firefox extension we built — "AI Dom Eyes" — that gives a local AI agent eyes on any web page and moves that data to a local daemon on the user's own machine. The mechanism works today and leans on things Firefox does better than Chromium — but it also sits in the path of two changes (MV3, Private-Network-Access) that could quietly break it. The ask is: help us keep a sanctioned, permission-gated version of this alive.


TL;DR

A Firefox Web Extension captures a live page (console, network, DOM, element inspections, the user's text selection) and POSTs it to a local service on 127.0.0.1— a small daemon (hed) running on the same machine — where a local AI coding agent reads it back. No account, no login, no cloud round-trip; the page's data never leaves the device. It uses sidebar_action(a Firefox strength Chrome lacks) and an MV2 persistent background page. Both the localhost bridge and MV2 are under pressure industry-wide. Our ask: a first-class, user-consented way for an extension to talk to a local service that the user is running — so this local-first pattern survives MV3 and Private-Network-Access instead of being collateral damage.


1. What the extension is

"AI Dom Eyes" (Manifest V2, Firefox; browser_specific_settings.geckoset). Its own description: "Gives an AI coding agent eyes: captures a live page (console, network, DOM, element inspections) into a local store the agent can read. In development, open source."

  • Sidebar UIvia sidebar_action— the panel lives in Firefox's sidebar, not a popup. This is a genuinely Firefox feature; Chromium has no sidebar_action.
  • Content scripts(document_start+ document_idle) capture console/network/DOM and an element inspector, on <all_urls>(our own origins are excluded— they're already instrumented).
  • Context menu: right-click a text selection → "send selection to agent."
  • Persistent background page("persistent": true) that owns the capture streams and the bridge.
  • Permissions: <all_urls>, tabs, activeTab, storage, downloads, clipboardWrite, contextMenus.

2. How the data actually transfers (the whole mechanism)

Two paths, both local-only:

  1. **Extension → local daemon over loopback.**The background page POSTs captured context to a small local bridge:
// background.js — pushToHed()
fetch('http://127.0.0.1:9123/atom', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify(Object.assign({ cmd: cmd, uid: 1 }, data))
})

127.0.0.1:9123is hed— a Rust daemon on the same machine where every capability is a small JSON-in/JSON-out "atom." The agent reads the page back with an atom call (debug.context {uid:1}). If no bridge is running, the fetchfails silently and the extension keeps everything in its own in-addon store. No remote endpoint is ever contacted. 2. Clipboard.navigator.clipboard.writeText(...)(the clipboard Writepermission) copies a captured selector / value / context so it can be pasted straight into a local terminal or agent tab.

That's it. The "data transfer" is browser page → user's own localhost service, plus the clipboard. Nothing leaves the device.

3. Why this is a Firefox story, not a generic one

  • **sidebar_action**is a first-class Firefox surface and the natural home for an "agent's view of the page." Chrome only recently, and differently, grew a side panel; Firefox has had this cleanly for years. The extension is better on Firefox.
  • Firefox's local-first / privacy brand is the exact fit for "the page's data goes to a daemon on your machine, not a cloud." This is the browser whose users want that.
  • MV2's persistent background page is a clean model for a long-lived capture/bridge; Firefox has been the sane, developer-respecting holdout on the MV2 timeline.

4. What's at risk (why we're raising it now, not later)

The mechanism depends on two things the whole industry is tightening:

  • **Manifest V3.**The persistent background page goes away (event pages / workers), and the host-permission and background models change. A capture-and-bridge extension that assumes a long-lived background context has to be re-architected. We'd like to do that with a known-good target, not guess.
  • **Private Network Access / Local Network Access.**A document or extension fetch-ing 127.0.0.1is exactly the pattern browsers are moving to gate (Chrome's PNA; the W3C Local Network Access work). And rightly so — a random extension with <all_urls>reaching localhost is a real malware vector. But the same brushstroke that stops the attacker also stops the legitimate, user-run local agent. If Firefox follows without a sanctioned path, this breaks.

We are not asking Firefox to keep the loose pattern. We're asking for the supervised version of it.

5. The ask

A first-class, user-consented "connect to a local service" capabilityfor Firefox extensions:

  1. **A permission-gated loopback bridge.**An explicit permission (e.g. a localnetwork/ localhost-scoped grant the user approves at install or on first use) that lets an extension talk to a declared local port/service — so the user's own agent works, while a drive-by extension still can't silently probe localhost. Survive Private-Network-Access instead of being caught by it.
  2. A clear MV3 path for a capture-and-bridge extension— guidance (or a supported primitive) for a long-lived local connection under the event/worker background model, so "give a local agent eyes on the page" remains a buildable, reviewable extension pattern after MV2 sunsets.
  3. **Keep sidebar_actionfirst-class.**It's the right home for this and a Firefox advantage; we'd hate to see it deprecated toward a Chromium-shaped side panel.

6. Why Mozilla specifically should want this

Local-first AI — an agent running on the user's machine, reading the user's browser, with nothing sent to a cloud — is a category Firefox is uniquely positioned to own. The privacy story writes itself: your pages, your agent, your device. The risk is that generic anti-malware hardening (MV3 + PNA), applied without a sanctioned local-agent lane, makes Firefox the browser where local-first AI can't work — the opposite of where its brand points. A supervised loopback permission turns a lurking break into a headline feature.


Appendix — the two halves of one picture

  • Chrome-less app windows(the other note): running web apps as native, chrome-less windows; today via tao+wry(WebKit), no Gecko option.
  • **This note:**a Firefox extension bridging any page to a local AI agent over loopback + clipboard, using sidebar_actionand an MV2 background page. Together: *local-first web apps, and a local agent wired into the browser.*Both want Firefox to be a first-class host. This one is the more time-sensitive, because MV3 + PNA have a clock on them.

This is the coded into the site version.

qwryu
Making moves

With the gap removed in Nova's latest design, it's lost its distinctiveness and now looks like every other product.