OpenWorker Coworker - Fighter90/career-ops-ui GitHub Wiki
OpenWorker coworker
career-ops-ui (and the career-ops engine underneath it) can be driven end-to-end from OpenWorker โ Andrew Ng's open-source, local-first AI coworker desktop app (openworker.com ยท roster).
The integration is a coworker (an OpenWorker persona) โ a single Markdown file that steers the OpenWorker agent to run the job-search pipeline. It ships no code: per OpenWorker's install note, "no third-party code runs, but the instructions steer the coworker."
Repo: Fighter90/career-ops-coworker ยท the coworker file
career-ops.mdยท user guide in 17 languages.
What it does
Working inside your career-ops project folder, the coworker:
| Stage | Action |
|---|---|
| Scan | runs the scanner (npm run scan, --dry-run/--company/--since) over your portals.yml. Zero API tokens. |
| Score fit | rates each posting 0โ5 against cv.md + config/profile.yml + config/two-pager.yml, with the concrete gaps. |
| Tailor | writes a role-specific CV + cover letter, grounded only in real CV facts (npm run cv:verify-facts is the truthfulness gate). |
| Track | updates data/applications.md with the canonical status. |
| Follow up / interviews | drafts follow-up emails (Gmail) and places interview slots (Google Calendar) โ approval-gated. |
| Launch the dashboard | starts career-ops-ui locally: bash web-ui/bin/start.sh โ http://127.0.0.1:4317. |
Install (summary)
One command sets up the pipeline the coworker drives โ idempotent and non-destructive, so an already-installed career-ops project or web-ui dashboard is detected and reused, never overwritten:
curl -fsSL https://raw.githubusercontent.com/Fighter90/career-ops-coworker/main/install.sh | bash
Then install OpenWorker + a model key (Anthropic / OpenAI / Google / Ollama) and add the persona from its Install a coworker panel, any of three ways:
- GitHub URL โ paste
https://github.com/Fighter90/career-ops-coworker. (OpenWorker clones the repo and installs the persona; the coworker repo keepscareer-ops.mdas its only top-level.mdso this repo-install path works.) - .zip โ download
career-ops-coworker.zipfrom the coworker repo's Releases. - Import / folder โ pick the
career-ops.mdfile (or point the folder option at a local clone).
The coworker lands disabled pending your consent; approve it, open a Job-Search Coworker session, and pick your career-ops folder (which holds cv.md, config/profile.yml, portals.yml). Full instructions, connectors, safety model, and troubleshooting live in the coworker repo's help guide.
How it relates to career-ops-ui
- It drives the parent
career-opspipeline directly (Node CLIs + your files); it does not require the web-ui SPA to run โ but it can launch the web-ui as a browser dashboard on request (port 4317, local-only). - It lives in its own repo (a coworker is a standalone, shareable bundle targeting the OpenWorker format), not inside
web-ui/. - Safety matches career-ops doctrine: truthfulness (never fabricate a CV fact), read-only by default, approval-gated sends/writes, local-first privacy.
Verified
Installable against OpenWorker's own parse_manifest / load_manifest_file loader (id slug, permission mode, catalog tool ids files/search/shell/todo, and the recommends โ connectors grant rule) and against its repo installer (install_from_git โ install_from_dir), so the GitHub-URL, folder, and .zip paths all install cleanly โ not just the single-file import. The scanner is verified to pull live vacancies and the dashboard to launch on 127.0.0.1:4317.