insane-search – Claude Code, das bei 403 sonst aufgibt, zum Durchhalten gebracht
(github.com/fivetaku)Ich mochte es nicht, dass Claude Code bei einer 403 sofort aufgibt.
„Lies bitte diesen Naver-Blogbeitrag“ → 403. „Such mir bei Coupang Tastaturen unter 100.000 Won aus“ → 403. „Was steht in diesem Reddit-Thread?“ → blockiert. Am Ende musste ich immer wieder selbst im Browser öffnen und Inhalte per Copy-and-Paste einfügen. Ich wollte die Arbeit eigentlich der AI geben – warum mache dann ich die Arbeit?
Ich habe bestehende MCPs ausprobiert, aber es gab Probleme. Die meisten waren entweder an nur eine bestimmte Plattform gebunden (nur Twitter, nur YouTube), verlangten API-Key/OAuth-Registrierungen oder hatten bereits einen Bias wie „diese Website ist blockiert“ gelernt und haben es gar nicht erst versucht. Websites ändern sich täglich, und auch Methoden können gerade jetzt funktionieren. Nach einmaliger Blockierung einfach aufzugeben, ergibt keinen Sinn.
Deshalb habe ich eine Methodenauswahl-Schicht gebaut. Kein Scraper, sondern ein Skill, der öffentliche Endpunkte und Standardtechniken der Reihe nach ausprobiert, bis etwas durchkommt.
Wie es funktioniert
Wenn Claude Code auf eine URL zugreift, hilft ein adaptiver Scheduler in vier Stufen. Zur nächsten Phase geht es nur weiter, wenn die vorherige Phase fehlschlägt oder ein Blockierungssignal erkannt wird.
- Phase 0: Indexiert nur spezielle Endpunkte, die mit generischen Ketten nicht auffindbar sind (15 Gruppen) — X Syndication, Reddit
.json, HN Firebase, yt-dlp mit 1.858 Websites - Phase 1: Parallele leichte Probes — WebFetch, Jina Reader, curl mit Chrome/Mobile/Googlebot UA, URL-Varianten wie
m.{domain}/.json//rss - Phase 2: TLS-Impersonation —
curl_cffiin der Reihenfolge safari → chrome → firefox (bei fehlender Installation automatischpip install) - Phase 3: Echter Browser — Rendering mit Playwright MCP + Erkennung versteckter APIs (
network_requests) - Wenn Login/Paywall erkannt wird, endet es mit „Authentifizierung erforderlich“. Es wird nicht sinnlos weiterprobiert.
Aus allen HTML-Antworten werden außerdem OGP-Tags und strukturierte JSON-LD-Daten extrahiert. Auch wenn sich nicht der komplette Text abrufen lässt, bleiben Titel, Preis oder Profil verfügbar.
Besonders gut für koreanische Websites
- Naver Blog → in den meisten Fällen durch mobile URL-Varianten lösbar
- Coupang → Extraktion von JSON-LD ItemList mit
curl_cffi safariin Phase 2 - DC Inside/FM Korea/Clien/Karrot/yozm IT/Wishket → komplett lesbar über Jina Reader oder curl
- Naver Finance → inoffizielle JSON-API
api.finance.naver.com/siseJson.naver(ohne Authentifizierung) - 9 koreanische Medien → RSS-Index + Google-News-RSS als Fallback
Zentrales Prinzip
Keinen Bias erzeugen. Ich habe keine Liste „diese Website ist schwierig“ gebaut. Auch bei fehlenden Abhängigkeiten wird nichts übersprungen — es wird installiert und versucht. Denn sowohl Websites als auch Methoden können jetzt gerade funktionieren.
Installation
/plugin marketplace add https://github.com/fivetaku/gptaku_plugins.git
/plugin install insane-search
Nach dem Neustart ist alles erledigt. Keine API-Keys, keine Registrierung, keine Umgebungsvariablen. Wenn man wie gewohnt fragt, wird es bei blockierten URLs automatisch ausgelöst.
2 Kommentare
Der Agent-Browser von vercel-labs ist genial.
Wäre es nicht möglich,
browser-usedirekt zu verwenden?