Files
matchmaking-v2/research/poc/browser-apply/shoot.py
raulgupta 89ca9ad647 Initial commit: matchmaking-v2 on-demand multi-board job-search agent
On-demand Scout service (replaces the nightly aggregator):
- FastAPI agent-mesh service; card name "matchmaking-service" (HTTP /a2a/tasks
  + Redis-stream worker matching the sibling-service pattern)
- run_search: parallel multi-board sweep (Naukri/blackfalcondata + Foundit +
  LinkedIn), city-filtered at the board, cheapest-per-result first
- per-board adapters + normalizers -> ScoutJob with rich read-only details and
  offsite apply links; recall mode + MVQ guard
- result cache for dev replay ($0); per-board cost knobs; retry-on-5xx
- research/: engine design, board cost economics, India-actor shortlist, POC
2026-06-18 19:22:03 +05:30

23 lines
689 B
Python

"""shoot.py <url> <out.png> — headless full-page screenshot of a running UI route."""
import asyncio
import sys
from browser_use import BrowserSession
from browser_config import make_profile
async def main():
url, out = sys.argv[1], sys.argv[2]
wait = float(sys.argv[3]) if len(sys.argv) > 3 else 4.0
session = BrowserSession(browser_profile=make_profile(headless=True, persist=False))
await session.start()
await session.navigate_to(url)
await asyncio.sleep(wait) # let the Next.js client render
await session.take_screenshot(path=out, full_page=True)
await session.kill()
print("saved", out)
if __name__ == "__main__":
asyncio.run(main())