diff --git a/README.md b/README.md index d290d9d..db8be72 100644 --- a/README.md +++ b/README.md @@ -1,42 +1,22 @@ -# Car Help +# Research Workbench -Used car search tool for finding Jude a reliable hybrid (HEV) in the Woodinville, WA area. Budget: $8-10K. +AI-powered research tool: chat + live browser + artifacts. Backed by amplifierd. -## Two Modes +See [DESIGN.md](DESIGN.md) for the full architecture. -### Headless (fast, no interaction) - -Runs Chromium headless. Good for sites that don't need login. Skips Facebook Marketplace. +## Quick Start ```bash -uv sync -uv run playwright install chromium -uv run python search.py +# Build +docker build -t research-workbench . + +# Run +docker run -d --name research-workbench \ + -p 8080:8080 \ + -p 6080:6080 \ + -e ANTHROPIC_API_KEY="$ANTHROPIC_API_KEY" \ + research-workbench ``` -### Headed via noVNC (interactive, for logins/CAPTCHAs) - -Runs Chromium inside Docker with a virtual display. Open the browser view in any web browser when you need to interact (login, solve CAPTCHAs, apply filters manually). - -```bash -# Build once -docker build -t car-help . - -# Run (browser visible at http://localhost:6080/vnc.html) -docker run -d --name car-help -p 6080:6080 -v $(pwd)/results:/app/results car-help - -# Run a search (headed -- includes Facebook Marketplace) -docker exec -it car-help uv run python search.py - -# View the browser live -open http://localhost:6080/vnc.html - -# Stop -docker stop car-help && docker rm car-help -``` - -Results are saved to `results/search_.json`. - -## Sites - -See `sites.yaml` for the full list of car search sites, search parameters, and target models. +**research.ampbox.io** -- the app +**vnc.ampbox.io** -- the live browser diff --git a/search.py b/search.py index ac3868f..229352d 100644 --- a/search.py +++ b/search.py @@ -1,6 +1,6 @@ """ Car search crawler -- finds used cars based on dynamic parameters. -Always runs headed on Xvfb. View live at browser.ampbox.io. +Always runs headed on Xvfb. View live at research.ampbox.io. Usage: python search.py # runs default hardcoded search