Explore Agents Tools

Prototype · Private source

CareerOS

A local command centre that runs an open-source job-search agent’s workflows safely from the browser.

Context
Personal project built on the open-source career-ops engine (MIT)
When
Oct 2026
Catalog id
careeros

The career-ops engine is driven from a terminal. CareerOS puts a web UI on top, so its modes run from buttons — with an allowlist, no shell, and no AI write access.

A local web UI and Node server for career-ops, an open-source AI job-search engine by another author. CareerOS is my addition: it lists the engine’s actions, runs them as child processes, and streams progress to the browser.

The interesting part is the safety model around running an AI coding CLI on your machine.

The problem

Running agent workflows through a CLI is powerful but easy to misuse — one wrong flag and the AI can edit or delete files.

The approach

The browser can only trigger allowlisted actions by id; the server never uses a shell; and when an AI mode runs, its write and shell tools are denied.

How it is put together

  1. Browser UIReact + Vite
  2. Local server127.0.0.1 only
  3. Action allowlistBy id, validated with Zod
  4. Child processshell: false
  5. career-ops engineScripts & AI modes
  • Loopback only
  • Allowlisted actions
  • AI write/shell tools denied
  • Dry-run before changes

Simplified.

Agent profile

Objective
Run job-search workflows (evaluations, tracking, drafts) without touching a terminal.
Input
A button in the UI sends an action id to the local server.
Reasoning
The underlying engine’s modes run through the Claude Code CLI (other CLIs are detected); CareerOS orchestrates rather than reasons.
Tools
Allowlisted engine scripts, Claude Code CLI with Write, Edit and Bash denied
Execution
Child processes run with shell disabled; output streams to the browser over Server-Sent Events and is persisted by the engine’s own scripts.
Safety
Server bound to 127.0.0.1. Allowlisted actions only. Destructive operations need confirmation, tracker tools offer a dry-run preview, and nothing is ever submitted or sent — drafts are for you to copy.
Models
Whatever the installed CLI uses (Claude by default); the engine also ships Gemini, OpenAI and Ollama evaluators.