尚未偵測到更新。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.