Notifications You must be signed in to change notification settings Fork 0 Star 3 BranchesTags Open more actions menu Latest commit History 7 Commits 7 Commits Folders and files NameName Last commit message Last commit date .github/workflows .github/workflows docker/selenium docker/selenium docs docs examples/synthetic-workspace examples/synthetic-workspace scripts scripts skills skills tasks tasks test test workspace-template workspace-template .gitignore .gitignore LICENSE LICENSE README.md README.md compose.yaml compose.yaml package-lock.json package-lock.json package.json package.json Repository files navigation Complete job-search pipeline for Pi Agent — search, score, salary enrichment, and assisted applications. Prerequisites Layer Requirement Stage Runtime Node.js ≥ 22, uv ≥ 0.4 Install Code npm ci in repo root Install Workspace $JOBHUNTER_HOME (default ~/.job-hunter) with jobhunter.sqlite, CV.docx, personal-info-cache.json Init Browser Chromium CDP on 127.0.0.1:9225 (Selenium container) Search, Apply Search SearXNG on 127.0.0.1:8888 Discover Vision (optional) LM Studio on 127.0.0.1:1234 with Qwen VLM CAPTCHA, Debug MCP (optional) Obscura, Apple Mail MCP servers Browse, Outreach Host tools (docker, sqlite3, python3) must be installed and on PATH — the doctor (jh-doctor) diagnoses which are missing but does not install them. Installation git clone https://github.com/Deviad/job-hunter.git && cd job-hunter npm ci node scripts/install.mjs # copies skills into ${PI_AGENT_HOME:-~/.pi/agent}/skills/ node scripts/install.mjs --dry-run # preview without writing Re-run is idempotent and never overwrites CV.docx, personal-info-cache.json, or jobhunter.sqlite. Initialization node ~/.pi/agent/skills/job-hunter/scripts/jh-init.mjs Before applying, populate ~/.job-hunter/CV.docx and the profile.firstName, profile.lastName, profile.email, and profile.phone fields in ~/.job-hunter/personal-info-cache.json. Application helpers fail closed when required identity fields are absent; the repository contains no maintainer identity defaults. Doctor Run the doctor before each search or application session. It distinguishes required failures from optional degraded capabilities. node ~/.pi/agent/skills/job-hunter/scripts/jh-doctor.mjs External Services Start Selenium and SearXNG: export SEARXNG_SECRET="$(node -e "process.stdout.write(require('node:crypto').randomBytes(32).toString('hex'))")" docker compose up -d bash scripts/rehearse-compose.sh # isolated health-check rehearsal with teardown See docs/prerequisites.md for full host-tool list and docs/security-and-privacy.md for security boundaries. Workflow Search node ~/.pi/agent/skills/job-hunter/scripts/jh-search.mjs --source linkedin --country GB --role "Software Engineer" node ~/.pi/agent/skills/job-hunter/scripts/jh-search.mjs --source indeed --country GB --query "Software Engineer" node ~/.pi/agent/skills/job-hunter/scripts/jh-discover.mjs --locations "United Kingdom" --queries "Software Engineer" Score Ask Pi to score the saved jobs. The job-match-scorer skill reads the user's CV and workspace profile rather than repository defaults. Salary node ~/.pi/agent/skills/salary-calculator/scripts/enrich-job-salary.mjs --db ~/.job-hunter/jobhunter.sqlite --all-unsalaried Apply Ask Pi to apply to a scored job. The auto-job-application skill uses the user's local CV, cache, and authenticated Chromium session; there is no repository-level submit command. Pipeline status and backup node ~/.pi/agent/skills/job-hunter/scripts/jh-status.mjs node ~/.pi/agent/skills/job-hunter/scripts/jh-backup.mjs Update git pull && npm ci && node scripts/install.mjs Uninstall node scripts/install.mjs --uninstall Removes only files recorded in the installation manifest. User data (CV.docx, DB, cache) is untouched. Troubleshooting node ~/.pi/agent/skills/job-hunter/scripts/jh-doctor.mjs # full diagnostic Common issues: CDP not reachable: ensure docker compose up -d ran and curl -s http://127.0.0.1:9225/json/version returns JSON. SearXNG 502: SearXNG needs a few seconds after container start; retry after 5s. better-sqlite3 build failure: ensure python3 and a C compiler (Xcode CLT on macOS) are installed. MCP "Not connected": run the repair skill or bash scripts/rehearse-compose.sh to verify transport. Security and Privacy All job-search data, credentials, and browser sessions stay on your machine. The installer never reads or transmits personal files. Authenticated browser sessions (LinkedIn, Indeed) belong to you — this project does not bypass MFA, or site access controls. See docs/security-and-privacy.md for the full policy. License MIT — see LICENSE. MIT license Activity Stars 3 stars Watchers 0 watching Forks 0 forks Report repository
AI Job Scout and Rate Matcher
Summary
Notifications You must be signed in to change notification settings Fork 0 Star 3 BranchesTags Open more actions menu Latest commit History 7 Commits 7 Commits Folders and files NameName Last commit message Last commit…
AI Job Scout and Rate Matcher
Report an error
The correction channel is not available yet. You can copy the article reference below for later.
Correction instructions