Skip to content

Releases: StarTrail-org/PixelRAG

v0.4.0

Choose a tag to compare

@andylizf andylizf released this 16 Jul 10:44
03369a7

Highlights

Smarter page readiness for arbitrary URLs. --wait-network-idle now uses networkidle2 semantics — it counts in-flight requests over CDP Network events (≤2 pending for 500ms, 12s cap) instead of resetting a timer on every resource completion. Analytics-heavy pages that used to ride the 12s cap settle in ~1s (measured: 15.6s → 4.0s on a 200ms-beacon page), and already-quiet pages proceed the moment load fires. The index pipeline enables it by default for the web source only; kiwix/localhost and local-file renders stay on the fast path. (#96, #119, #120)

Safe incremental re-runs. Tile directories now record which source document they were rendered from; re-running pixelrag index build after adding/removing/renaming files re-renders shifted positions instead of silently pairing one document's pixels with another's metadata. Manifest writes are atomic, and article_id is stamped into every manifest so the embed stage no longer guesses from directory names. (#83, #119)

New

  • Department-filtered search for local document indexes: department metadata from your directory layout, FAISS-native filtering, and a GET /departments endpoint (#115)
  • Local images (PNG/JPG) render into the tile pipeline — no more silent empty index from an image folder (#95, fixes #67)
  • .md/.txt files render natively (tables, fenced code, relative images resolved) (#101, #107)
  • --cdp-url to attach to an already-running browser (#76)
  • --device auto/mps accepted by pixelrag index build (#73)
  • MiniMax model configs for the eval harness, and registry endpoints now actually apply (#113, #119)
  • Progress bars for the chunk stage that stay readable under multiprocessing, with log-file progress preserved for unattended runs (#108, #119)

Fixed

  • Path-traversal hardening in the eval renderers (#80, fixes #78/#79)
  • Playwright Chromium picked by numeric revision, not lexicographic order (#74)
  • Chrome --user-data-dir isolated per worker (#65, fixes #54)
  • Transparent local images composite onto white instead of black (#119)
  • Non-numeric filename-stem IDs handled throughout the local pipeline (#66, #83)
  • Chat agent timeouts / loop prevention, back button and lightbox (#49)
  • tqdm/pyyaml/numpy moved from the heavy torch extras into core — light stages (pixelrag chunk, index --help) work on a bare pip install pixelrag (#118)

Install

pip install -U pixelrag           # light: pixelshot + umbrella CLI
pip install -U 'pixelrag[all]'    # + embed/index/serve stages

v0.3.0

Choose a tag to compare

@andylizf andylizf released this 23 Jun 03:18
5756fe7

What's new in 0.3.0

PDF & wide-page support

  • PDF pages render and embed correctly — each page is treated as one semantic chunk; wide pages are resized to fit the model's input range (#51)
  • 2D tiling for wide content — pages wider than the render width are split into columns at native resolution instead of being dropped or downscaled (#48)

Cross-platform

  • macOS / Apple Silicon (MPS) supportdevice: auto picks MPS on Mac, CUDA on Linux (#61, #51)
  • Cross-platform Chrome discovery — macOS and Windows, not just Linux (#44)

Rendering stability

  • One CDP backend — consolidated websocket.py into cdp.py with auto turbo/standard (#38)
  • Fix CDP capture hang on Chrome builds with component-extension targets (#56)
  • Cap requestAnimationFrame waits in readiness + scroll probes (#39)

Infrastructure

  • Pre-commit hook — ruff format + lint auto-fix on commit
  • Request ID middleware for API log tracing (#41)
  • Uptime monitoring moved off main to a dedicated branch (#68)
  • faiss-gpu-cu12 gated behind Linux marker so macOS resolution works

Docs

  • PDF quickstart (#58), pixelshot CLI examples (#62), Colab notebook (#31), data curation reorg (#59, #60)

Full changelog: v0.1.0...v0.3.0

Patched headless Chrome 150.0.7844.0

Choose a tag to compare

@andylizf andylizf released this 01 Jun 06:53

Patched headless_shell (adds CDP rawFilePath) used by the pixelshot CDP backend. Platform: linux-x64. Auto-downloaded by pixelrag_render.chrome.install_chrome().

v0.1.0

Choose a tag to compare

@andylizf andylizf released this 31 May 05:59

First PyPI release of PixelRAG — Visual Retrieval-Augmented Generation.

Packages: pixelrag (umbrella CLI + pixelshot), pixelrag-render, pixelrag-embed, pixelrag-index, pixelrag-serve.

pip install pixelrag            # pixelshot + pixelrag umbrella
pip install 'pixelrag[serve]'   # + search API