45 lines
1.0 KiB
Markdown
45 lines
1.0 KiB
Markdown
# AI Job Source Agent
|
|
|
|
For recently posted LinkedIn jobs, produces records of the form:
|
|
|
|
```
|
|
company_name, career_page_url, open_position_url
|
|
```
|
|
|
|
Runs in configurable batches, on a schedule, and is incremental — re-runs process only new jobs.
|
|
|
|
## Setup
|
|
|
|
```bash
|
|
python -m venv .venv && source .venv/bin/activate
|
|
pip install -r requirements.txt
|
|
playwright install chromium # for the browser-agent tier
|
|
cp .env.example .env # fill keys as available
|
|
```
|
|
|
|
## Run
|
|
|
|
```bash
|
|
# one batch
|
|
python -m jobsource.main --batch-size 20 --search "software engineer" --location "United States"
|
|
|
|
# scheduled run (Prefect)
|
|
python -m jobsource.flow
|
|
|
|
# cron fallback (no daemon):
|
|
# */0 6 * * * cd <repo> && ./.venv/bin/python -m jobsource.main --batch-size 50
|
|
```
|
|
|
|
`--search` is repeatable. Run `python -m jobsource.main --help` for all options.
|
|
|
|
## Tests
|
|
|
|
```bash
|
|
pytest -q
|
|
```
|
|
|
|
## Output
|
|
|
|
`output/results.csv` — three columns: `company_name`, `career_page_url`, `open_position_url`.
|
|
Complete rows (status `position_found`) are sorted first.
|