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:

  1. GitHub URL โ€” paste https://github.com/Fighter90/career-ops-coworker. (OpenWorker clones the repo and installs the persona; the coworker repo keeps career-ops.md as its only top-level .md so this repo-install path works.)
  2. .zip โ€” download career-ops-coworker.zip from the coworker repo's Releases.
  3. Import / folder โ€” pick the career-ops.md file (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-ops pipeline 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.