Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
관심 밖 소셜 포스트를 부드럽게 흐리며 로컬에서 작동하는 무료 오픈소스 확장프로그램
A free, open-source browser extension that gently blurs social posts outside your interests. Private by design, with everything running on your device.
플러그인TypeScript · CSSGitHub @dephelion온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기uFeed Browser Extension
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Name the topics you want. uFeed blurs the rest of your feed.
A browser extension for X, LinkedIn and Reddit, on Chrome and Firefox. The model
runs on your device. No account, no server, no cloud AI, and no post text ever
leaves your browser.
On Chrome, the default multilingual model uses one shared offscreen engine across
feed tabs; Firefox and the optional English model keep the per-tab iframe engine.
Both paths score on-device and keep page access in the content script.
Most feed filters ask what you want to get rid of. That list never ends: there is
always one more thing to block.README 전문 보기 ↗Name the topics you want. uFeed blurs the rest of your feed.
A browser extension for X, LinkedIn and Reddit, on Chrome and Firefox. The model runs on your device. No account, no server, no cloud AI, and no post text ever leaves your browser.
On Chrome, the default multilingual model uses one shared offscreen engine across feed tabs; Firefox and the optional English model keep the per-tab iframe engine. Both paths score on-device and keep page access in the content script.
Most feed filters ask what you want to get rid of. That list never ends: there is always one more thing to block.
Choose what you want to keep, block, or both. To keep posts about subjects you care about, add topics one per line:
software engineering, programming
machine learning research
video games, game design
Posts about your topics stay as you scroll; other posts are blurred, not deleted. You can also add words or phrases to a keyword blacklist, which blurs matching posts. The blacklist works by itself or alongside topics. With only a blacklist, posts without a match stay visible. One click (or Enter) reveals a blurred post.
uFeed compares the meaning of a post with your topics. It does not reason about the post. A large model in the cloud can judge things like sarcasm or "AI news but not hype" better than a model small enough for your laptop can. uFeed gives up some of that in exchange for privacy, speed, and a filter that behaves the same way every time, so a wrong call can be explained and corrected. How it works has the reasoning.
Chrome — Chrome Web Store.
Firefox — build from source for now (below).
Then open the toolbar popup, add a topic, and visit x.com, linkedin.com or reddit.com. The model downloads once (~197 MB by default) and is cached by the browser. Nothing blurs until it has loaded. If you prefer the smaller English-only model, choose it under Model in the popup instead (a one-time ~33 MB download).
Node 22.12+ and npm. Nothing else.
npm install
npm run build # -> .output/chrome-mv3 and .output/firefox-mv3
Chrome — chrome://extensions, turn on Developer mode, Load unpacked, pick
.output/chrome-mv3.
Firefox — about:debugging#/runtime/this-firefox, Load Temporary Add-on,
pick .output/firefox-mv3/manifest.json.
Working on it? Use npm run watch instead of npm run dev, and see
docs/development.md for why.
npm run check # format, typecheck, tests, both builds
Tests never touch the network or a live feed. Site adapters run against captured fixture HTML, so a vendor DOM change fails as a red test instead of a silent no-op in production.
┌─ entrypoints/ ─────────────────────────────────────────────────────────────┐
│ wires: content · popup · background · iframe · offscreen engine │
│ ┌─ adapters/ · platform/ ──────────────────────────────────────────────┐ │
│ │ X · LinkedIn · Reddit storage · messaging · model runtime │ │
│ │ ┌─ feed/ ────────────────────────────────────────────────────────┐ │ │
│ │ │ the page: find posts, score them, blur, reveal │ │ │
│ │ │ ┌─ core/ ──────────────────────────────────────────────────┐ │ │ │
│ │ │ │ the rules: scoring · blur policy · settings │ │ │ │
│ │ │ └──────────────────────────────────────────────────────────┘ │ │ │
│ │ └────────────────────────────────────────────────────────────────┘ │ │
│ └──────────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────────┘
imports point inward only
uFeed follows the Dependency Rule from Clean Architecture: imports only point inward.
The rules in core/ know nothing of the browser, and the page logic in feed/ knows nothing of the extension, so a new site never touches the filter.
npm run check fails any import that points outward; wiki-llm/layers.md says where new code goes.
Execution stays separate from these code layers: the content script reads and updates the feed DOM; the iframe runs the per-tab engine; Chrome's offscreen page runs one shared Gemma engine. The background creates that page and connects tabs; it does not score posts. Firefox and Chrome's optional English model use the iframe path.
docs/how-it-works.md — where it runs, the model, and
every control, in plain language.docs/development.md — running, debugging and testing.docs/android.md — Firefox for Android.docs/privacy-policy.md — what it reads, stores and sends.CONTRIBUTING.md. Security or
privacy problem? SECURITY.md says how to report it privately.wiki-llm/ — the authoritative model of the code. Start at
the index. Agent rules are in AGENTS.md.Copyright © 2026 Dephelion - Julio Cesar Martin. GPL-3.0.
Use it, change it, share it. If you distribute a modified version, you must publish its source under the same license.
The models are not part of this repository and carry their own terms. Your browser downloads the one you pick from Hugging Face: e5-small-v2 is MIT-licensed, and EmbeddingGemma is under Google's Gemma Terms of Use.