[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:pixelrag":3},"\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FStarTrail-org\u002Fpixelrag\u002FHEAD\u002Fdocs\u002Fassets\u002Fbanner.png\" alt=\"PixelRAG — Visual Retrieval-Augmented Generation\" width=\"100%\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  Official codebase for \u003Cb>\u003Ca href=\"https:\u002F\u002Farxiv.org\u002Fabs\u002F2606.28344\" rel=\"nofollow ugc noopener\">PIXELRAG: Web Screenshots Beat Text for\nRetrieval-Augmented Generation\u003C\u002Fa>\u003C\u002Fb>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fyichuan-w.github.io\u002F\" rel=\"nofollow ugc noopener\">Yichuan Wang\u003C\u002Fa>*,\n  \u003Ca href=\"https:\u002F\u002Fzhifei.li\u002F\" rel=\"nofollow ugc noopener\">Zhifei Li\u003C\u002Fa>*,\n  \u003Ca href=\"https:\u002F\u002Fzwcolin.github.io\u002F\" rel=\"nofollow ugc noopener\">Zirui Wang\u003C\u002Fa>,\n  \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fpaul-teiletche\u002F\" rel=\"nofollow ugc noopener\">Paul Teiletche\u003C\u002Fa>,\n  \u003Ca href=\"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Flesheng-jin-9618b0201\u002F\" rel=\"nofollow ugc noopener\">Lesheng Jin\u003C\u002Fa>\n  \u003Cbr \u002F>\n  \u003Ca href=\"https:\u002F\u002Fpeople.eecs.berkeley.edu\u002F~matei\u002F\" rel=\"nofollow ugc noopener\">Matei Zaharia\u003C\u002Fa>†,\n  \u003Ca href=\"https:\u002F\u002Fpeople.eecs.berkeley.edu\u002F~jegonzal\u002F\" rel=\"nofollow ugc noopener\">Joseph E. Gonzalez\u003C\u002Fa>†,\n  \u003Ca href=\"https:\u002F\u002Fwww.sewonmin.com\u002F\" rel=\"nofollow ugc noopener\">Sewon Min\u003C\u002Fa>†\n\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Csub>* Equal contribution   † Equal advising\u003C\u002Fsub>\u003Cbr \u002F>\u003Csub>Work done at \u003Ca href=\"https:\u002F\u002Fsky.cs.berkeley.edu\u002F\" rel=\"nofollow ugc noopener\">Berkeley SkyLab\u003C\u002Fa> &amp; \u003Ca href=\"https:\u002F\u002Fbair.berkeley.edu\u002F\" rel=\"nofollow ugc noopener\">BAIR\u003C\u002Fa> &amp; \u003Ca href=\"https:\u002F\u002Fnlp.cs.berkeley.edu\u002F\" rel=\"nofollow ugc noopener\">Berkeley NLP\u003C\u002Fa>\u003C\u002Fsub>\u003C\u002Fp>\n\u003Cp align=\"center\">Search any document by how it \u003Cem>looks\u003C\u002Fem>, not just the text it contains.\u003C\u002Fp>\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FStarTrail-org\u002FPixelRAG\u002Factions\u002Fworkflows\u002Fci.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002FStarTrail-org\u002FPixelRAG\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"CI\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fpixelrag.ai\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdemo-pixelrag.ai-7c3aed\" alt=\"Live demo\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fstatus.pixelrag.ai\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-live-22c55e\" alt=\"Status\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fjoin.slack.com\u002Ft\u002Fleann-e2u9779\u002Fshared_invite\u002Fzt-3ol2ww9ic-Eg_kB8omwe6xmYVd0epr4Q\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-join-4A154B?logo=slack&amp;logoColor=white\" alt=\"Slack\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue\" alt=\"License\" \u002F>\n\u003C\u002Fp>\u003Cp align=\"center\">\n  \u003Ca href=\"#what-it-is\" rel=\"nofollow ugc noopener\">What it is\u003C\u002Fa> ·\n  \u003Ca href=\"#give-claude-eyes\" rel=\"nofollow ugc noopener\">Give Claude eyes\u003C\u002Fa> ·\n  \u003Ca href=\"#how-it-works\" rel=\"nofollow ugc noopener\">How it works\u003C\u002Fa> ·\n  \u003Ca href=\"#pipelines\" rel=\"nofollow ugc noopener\">Pipelines\u003C\u002Fa>\n\u003C\u002Fp>\u003Chr \u002F>\n\u003Cpre>\u003Ccode class=\"language-bash\">pip install pixelrag\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The two core operations — \u003Cstrong>render\u003C\u002Fstrong> a page to screenshots, \u003Cstrong>search\u003C\u002Fstrong> a visual index:\u003C\u002Fp>\n\u003Cpre>\u003Ccode class=\"language-bash\"># Render any page or document to screenshot tiles\npixelshot https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPython --output .\u002Ftiles\n\n# Search a hosted index of 8.28M Wikipedia pages — no setup, runs against the live API\ncurl -X POST https:\u002F\u002Fapi.pixelrag.ai\u002Fsearch \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"queries\": [{\"text\": \"What is the capital of France?\"}], \"n_docs\": 5}'\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cblockquote>\n\u003Cp>\u003Cstrong>Live, hosted endpoint\u003C\u002Fstrong> — \u003Ca href=\"https:\u002F\u002Fapi.pixelrag.ai\u002Fstatus\" rel=\"nofollow ugc noopener\">\u003Ccode>https:\u002F\u002Fapi.pixelrag.ai\u003C\u002Fcode>\u003C\u002Fa> serves a\npre-built index of \u003Cstrong>8.28M Wikipedia pages\u003C\u002Fstrong>. No setup, no API key. It even takes an image as the query\n(\u003Ca href=\"https:\u002F\u002Fpixelrag.ai\u002Fdocs#search\" rel=\"nofollow ugc noopener\">visual search\u003C\u002Fa>) — see the \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fpixelrag.ai\u002Fdocs\" rel=\"nofollow ugc noopener\">API reference →\u003C\u002Fa>\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003C\u002Fblockquote>\n\u003Cp>Or try it in the browser at \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fpixelrag.ai\" rel=\"nofollow ugc noopener\">pixelrag.ai\u003C\u002Fa>\u003C\u002Fstrong>, or run the demo notebook in\nColab \u003Ca href=\"https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FStarTrail-org\u002FPixelRAG\u002Fblob\u002Fmain\u002Fdemos\u002Fquickstart.ipynb\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fcolab.research.google.com\u002Fassets\u002Fcolab-badge.svg\" alt=\"Open In Colab\" \u002F>\u003C\u002Fa> — it\nrenders a page and searches the hosted index, with the images inline.\u003C\u002Fp>\n\u003Ch2>What it is\u003C\u002Fh2>\n\u003Cp>PixelRAG renders documents — web pages, PDFs, images — as screenshots and retrieves over the\nimages directly. Visual structure that HTML parsing throws away — tables, charts, layout,\ninfographics — stays intact, so the reader model can actually answer questions about it.\nWikipedia's 8.28M articles ship as a pre-built index; the pipeline itself is general-purpose.\u003C\u002Fp>\n\u003Ch2>Give Claude eyes\u003C\u002Fh2>\n\u003Cp>The renderer also ships as a Claude Code plugin — the \u003Cstrong>pixelbrowse\u003C\u002Fstrong> skill. Instead of fetching\nraw HTML, Claude screenshots a page with \u003Ccode>pixelshot\u003C\u002Fcode> and \u003Cem>reads the image\u003C\u002Fem>, so it sees\ncharts, diagrams, tables, and layout the way a person d\u003C\u002Fp>\n",1784564568701]