尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A browser extension that filters unwanted sensitive topics across websites’ recommendation systems. Users define persistent content boundaries that apply regardless of their browsing history or the platform’s personalisation, giving them control over what is recommended to them.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Interacting with content is not consent to future recommendations.
You write down what you don't want to see: a topic preset (gambling, alcohol, shopping prompts, distressing news, common phobias) or your own words and phrases. As recommendations load, recreg checks every card against your rules and covers the matches before they render. One click reveals any item, and a "Why?" button tells you which of your words matched.
recreg is not on the Chrome Web Store yet. Loading it takes about a minute on Chrome, Edge, Brave or Arc.
npm install
npm run build:ext # output: extension/dist/
chrome://extensions and turn on Developer mode.extension/dist/).The toolbar badge shows how many items are hidden on the current page. The popup gives you pause, quick-add, per-page status and the YouTube auto toggle.
your words / presets ──▶ chrome.storage.local (never leaves the device)
│
▼
page loads ──▶ content script finds recommendation cards (site adapter selectors)
│ reads title / channel / aria-label text
▼
matching engine (pure function)
whole-word · phrase · substring · Unicode-aware
│
match ────────┼──────── no match
▼ ▼
cover (Show · Why?) shown as normal
or remove entirely
MutationObserver keeps up with infinite scroll and in-page navigation.The landing page demo runs the exact same engine the extension ships. Full design and threat model: ARCHITECTURE.md.
We measured the presets on 200 video titles we wrote and labelled ourselves (100 for tuning, 100 held out), using the same matching code the extension ships. The numbers below are from the tuning set, after adjusting the preset words on it, so treat them as optimistic.
| Preset | Caught | Hidden by mistake |
|---|---|---|
| Gambling | 11 / 12 | 3 / 88 |
| Alcohol | 12 / 12 | 1 / 88 |
| Shopping prompts | 8 / 12 | 4 / 88 |
| Distressing news | 11 / 12 | 1 / 88 |
| Common phobias | 9 / 12 | 4 / 88 |
| All | 51 / 60 (85%) | 13 / 440 (3%) |
What it gets wrong, on purpose shown: Spider-Man: No Way Home is covered
(matches "spider"), Casino Royale film review is covered, HUGE sp1der found in garage slips through, and titles with no keyword at all are missed.
Limitations of this measurement: titles only (no thumbnails or descriptions),
all in English and written by us, small samples (one title moves a preset by
about 8 points), human labels. The evaluation kit and raw results are in
recreg-eval/; node recreg-eval/measure.mjs --split dev
reproduces the table.
Private by architecture, not by promise.
chrome.storage.local on your device. There is nothing to leak to.storage and scripting. A CI gate fails
the build if fetch, XMLHttpRequest, innerHTML or eval appear in src/.<all_urls>, no tabs, no webRequest.npm install
npm run verify # security gate → typecheck → tests → build
npm run dev # build the site and serve it at http://localhost:4173
| Script | What it does |
|---|---|
npm run verify | security check → typecheck → tests → full build |
npm run build:ext | extension → extension/dist/ |
npm run build:frontend | landing site + extension zip → frontend/dist/ (what Vercel deploys) |
npm test | engine, preference-validation and adapter unit tests |
npm run check:security | fail if network calls, HTML sinks or dynamic code appear in src/ |
src/engine/ pure matching engine, presets, preference schema (no DOM, no I/O)
src/adapters/ per-site selector definitions — data, not code
src/extension/ MV3 extension: service worker, content script, popup, options
src/site/ landing-page scripts (reuse the engine)
frontend/ landing page HTML/CSS/assets (Vercel root is frontend/dist)
recreg-eval/ preset evaluation kit and labelled titles
tests/ unit tests
scripts/ security gate, static dev server
build.mjs esbuild bundling, icon generation, extension zip
src/adapters/index.ts carry fallbacks but need periodic
checking against the live sites.bet does not match bets. Presets
include common inflections; add your own as needed.