insane-search - khiến Claude Code vốn bỏ cuộc khi gặp 403 phải thử đến cùng
(github.com/fivetaku)Tôi không thích việc Claude Code cứ gặp 403 là bỏ cuộc.
"Hãy đọc bài này trên blog Naver" → 403. "Hãy chọn giúp tôi các bàn phím dưới 100.000 won trên Coupang" → 403. "Thread Reddit này nói gì vậy?" → bị chặn. Cuối cùng, tôi cứ phải tự mở trình duyệt rồi copy-paste cho nó hết lần này đến lần khác. Rõ ràng là đang giao việc cho AI, mà sao cuối cùng tôi lại là người phải làm việc.
Tôi đã thử các MCP hiện có, nhưng chúng có vấn đề. Phần lớn либо bị trói vào một nền tảng cụ thể (chỉ dành cho Twitter, chỉ dành cho YouTube), hoặc yêu cầu đăng ký API key/OAuth, hoặc đã học sẵn những kiểu thiên kiến như "site này bị chặn" nên thậm chí còn không thử. Website thay đổi mỗi ngày, cách làm cũng có thể hiện tại vẫn còn hiệu quả, nên việc chỉ vì từng bị chặn một lần mà bỏ cuộc là vô lý.
Vì vậy tôi đã tạo ra một lớp chọn phương thức. Đây không phải scraper, mà là một kỹ năng thử lần lượt các endpoint công khai và kỹ thuật tiêu chuẩn cho đến khi truy cập được.
Cách nó hoạt động
Khi Claude Code truy cập URL, một scheduler thích ứng 4 giai đoạn sẽ hỗ trợ. Chỉ khi Phase trước đó thất bại hoặc phát hiện tín hiệu bị chặn thì mới chuyển sang Phase tiếp theo.
- Phase 0: chỉ index các endpoint đặc biệt mà chuỗi tổng quát không thể phát hiện (15 nhóm) — X Syndication, Reddit
.json, HN Firebase, yt-dlp 1.858 site - Phase 1: probe nhẹ chạy song song — WebFetch, Jina Reader, curl với UA Chrome/Mobile/Googlebot, biến thể URL
m.{domain}/.json//rss - Phase 2: giả lập TLS —
curl_cffitheo thứ tự safari → chrome → firefox (nếu chưa cài sẽ tự độngpip install) - Phase 3: trình duyệt thật — render bằng Playwright MCP + phát hiện API ẩn (
network_requests) - nếu phát hiện login/paywall thì kết thúc với trạng thái "cần xác thực". Không tiếp tục thử vô ích
Từ mọi phản hồi HTML, công cụ cũng trích xuất thẻ OGP + dữ liệu có cấu trúc JSON-LD. Dù không lấy được toàn bộ nội dung bài viết, vẫn có thể lấy được tiêu đề/giá/hồ sơ.
Hoạt động đặc biệt tốt với các site Hàn Quốc
- Naver Blog → đa số được xử lý bằng biến thể URL di động
- Coupang → trích xuất JSON-LD ItemList bằng
curl_cffi safariở Phase 2 - DC Inside/FM Korea/Clien/Karrot/Yozm IT/Wishket → đều đọc được bằng Jina Reader hoặc curl
- Naver Finance → API JSON không chính thức
api.finance.naver.com/siseJson.naver(không cần xác thực) - 9 cơ quan báo chí Hàn Quốc → RSS index + Google News RSS fallback
Nguyên tắc cốt lõi
Không tạo ra thiên kiến. Tôi không lập danh sách kiểu "site này khó". Cũng không bỏ qua chỉ vì thiếu dependency — cứ cài rồi thử. Vì site lẫn phương pháp đều có thể tại thời điểm này vẫn còn hiệu quả.
Cài đặt
/plugin marketplace add https://github.com/fivetaku/gptaku_plugins.git
/plugin install insane-search
Khởi động lại là xong. Không cần API key/đăng ký/biến môi trường. Chỉ cần nói như bình thường, nó sẽ tự động được kích hoạt khi gặp URL bị chặn.
2 bình luận
agent browser của vercel-labs quá đỉnh
Có thể cho dùng
browser-usengay từ đầu được không?