惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
G
Google Developers Blog
小众软件
小众软件
V
V2EX
月光博客
月光博客
腾讯CDC
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理
B
Blog RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 【当耐特】
D
Docker
M
MIT News - Artificial intelligence
Google DeepMind News
Google DeepMind News
N
Netflix TechBlog - Medium
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
I
InfoQ
MongoDB | Blog
MongoDB | Blog
Apple Machine Learning Research
Apple Machine Learning Research
Jina AI
Jina AI

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Reading the web with half-understood words everywhere
J Now · 2026-06-19 · via DEV Community

J Now

Every long article I read has the same problem: a word or concept I half-know that would make the whole paragraph click if I just looked it up. The tab-switch kills it. I open a new tab, read a bit, come back, and I've lost the thread. So I skip it, and the read stays shallow.

I built rabbitholes to fix that for myself. Highlight any text on any page, and a shadow-DOM tooltip renders an explanation from Claude Haiku 4.5 next to your cursor. It doesn't inject anything into the host page — shadow DOM keeps the overlay isolated, so it can't break layouts or leak styles into the site you're reading.

The part I use most: every word in the explanation is itself clickable. Drag across a phrase to select it. The tooltip rebuilds around that term, with the original context still in the background. You can go four hops deep into a Wikipedia article about Byzantine tax policy without opening a single new tab. A counter tracks how many hops you've taken; the trail is shareable.

If I want more than Claude's training data, a globe icon re-answers the same query enriched with Brave Search results, with source chips I can click through. A pencil icon opens a free-form follow-up that inherits the current context so I don't have to re-explain where I am in a topic.

The architecture constraint I cared most about: zero intermediary server. Requests go directly from the browser to api.anthropic.com and api.search.brave.com. Your Anthropic API key lives in chrome.storage.sync, encrypted, never touches my infrastructure. Manifest V3.

// The full round-trip is browser → Anthropic API, nothing in between
const response = await fetch('https://api.anthropic.com/v1/messages', {
  method: 'POST',
  headers: {
    'x-api-key': apiKey,          // from chrome.storage.sync
    'anthropic-version': '2023-06-01',
    'content-type': 'application/json'
  },
  body: JSON.stringify({ model: 'claude-haiku-4-5', max_tokens: 512, messages })
});

Every answer ends with two suggested follow-on topics — the most interesting threads from the current explanation. One click and you're a hop deeper.

https://github.com/robertnowell/rabbitholes