Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Running AI in a Manifest V3 Extension: Putting 1024-D Vector Search Inside the Browser

Description and use

OmniPic implements client‑side image search in a Chrome MV3 extension using 1024‑dimensional vectors and local storage, achieving 0 bytes uploaded while respecting MV3 constraints.

Problem

Implement on‑device image feature extraction and vector similarity search in a Chrome MV3 extension while respecting MV3 constraints (disposable service worker, limited memory/bundle size, stricter permissions).

Outcome

OmniPic demonstrates that on‑device AI can be built within MV3 limits, providing fast, private image search without server involvement.

Workflow

  • Load image from page or user upload
  • Extract features on‑device using a lightweight model
  • Convert features to a 1024‑dimensional vector
  • Store vector and metadata in browser storage
  • For a query image, repeat extraction
  • Compute cosine similarity against stored vectors
  • Return top‑K similar results to the user

Evidence

This is an engineering write‑up, not a product launch. It documents how I run image feature extraction and vector similarity search entirely on the client side of a Chrome extension — no image ever leaves the user's device — under the constraints Manifest V3 imposes.

Source

The index lives locally. Vectors and metadata are stored in browser storage. Queries never touch the network, which is what makes a "0 bytes uploaded" claim structurally true rather than a policy promise.

Source

The service worker is disposable. Background work can be killed at any time, so long tasks and model state must be designed to be resumable and split into short units.

Source

  • Record date: 2026-10-26T02:11:35.968Z