# AnyFilter: Hide anything you don't want to see on any site, powered by Jev

> Source: <https://github.com/anyfilter/anyfilter>
> Published: 2026-09-19 10:59:29+00:00

Chrome extension that uses [Jev](https://typesafe.ai) to hide anything you don't want to see on any site, from ads and spam to whatever you describe in a sentence. X for now, more sites in the works.

## anyfilter-demo-1080p.mp4

1. Download `anyfilter-<version>-chrome.zip` from[Releases](https://github.com/anyfilter/anyfilter/releases) and unzip it.
2. Open `chrome://extensions` , turn on Developer mode, click "Load unpacked" and pick the unzipped folder.
3. Go to x.com and click the toolbar icon. The panel docks on the right.

To build it yourself: `pnpm install && pnpm build`, then load `.output/chrome-mv3`.

1. Open Settings in the panel and paste a Jev key from [Vercel AI Gateway](https://vercel.com/ai-gateway/models/jev) or[TypeSafe](https://console.typesafe.ai) . It never leaves your browser.
2. Tick what to hide, or type your own rule like "horoscopes" and press Add.
3. Scroll. Hidden posts show up in the panel grouped by reason; click "Put back in feed" if Jev got one wrong.

```
pnpm dev        # dev server with the extension loaded
pnpm typecheck
pnpm e2e        # offline end-to-end run against static fixtures
```

`pnpm e2e` loads the built extension into Chromium, serves fake X pages from `scripts/fixtures/` and mocks Jev. If playwright-core can't find a browser, point it at one with `ANYFILTER_CHROMIUM=/path/to/chrome`.

Layout:

```
src/domain/          types, categories, verdicts, settings, ports
src/features/        feed-filter: scan, classify, hide
src/infrastructure/  Chrome storage, Jev adapters, X DOM reading and hiding
src/ui/sidepanel/    React side panel
src/entrypoints/     content, background, sidepanel
```

To support another site, implement `domain/timeline-view.ts` for it and add its URL to the content script.

MIT
