Files

6.9 KiB

Installed https://github.com/santifer/career-ops

Good — since career-ops explicitly supports Ollama as a free local engine, let's wire this to what you already built. Quick check first: which AI CLI do you want to drive it — Claude Code (uses your Claude subscription/API), or OpenCode (lets you point directly at your local Ollama for $0 cost)? Given the whole point of setting up Ollama was to avoid API costs, I'll assume OpenCode + Ollama, but flag if you'd rather use Claude Code.

1. Check prerequisites

node -v      # need Node.js — if missing: brew install node
git --version

2. Install career-ops

npx @santifer/career-ops init
cd career-ops

This clones the latest release and installs dependencies for you.

3. Install the browser engine for PDF generation

npx playwright install chromium

career-ops uses Playwright (headless Chrome) to render your friend's CV/cover letter to PDF and to scan some job portals — this is a one-time download (~150-300MB).

4. Get OpenCode (if you don't already have an AI CLI)

npm i -g opencode-ai

5. Point OpenCode at your local Ollama

See integration of opencode and ollama instead

career-ops is CLI-agnostic — it just needs an AI CLI wired to a model. Configure OpenCode to talk to Ollama's OpenAI-compatible endpoint. In OpenCode's config (~/.config/opencode/opencode.json or via opencode auth login flow depending on version), set the local provider to:

base URL: http://localhost:11434/v1
model: qwen2.5-coder:14b   (or whichever you pulled)

6. Run the doctor check

npm run doctor

This validates your setup (Node, Playwright, CLI config) and tells you specifically what's missing — much better than guessing.

7. Launch and onboard

opencode

Then inside the session, just start chatting — on first launch career-ops walks you through CV/profile setup conversationally rather than making you hand-edit YAML.

One honest caveat before you commit to the local-model path: career-ops's evaluation quality (fit scoring, CV tailoring, company research) leans on the model actually being good at instruction-following and reasoning across a long agentic session. A 14B local model will be noticeably weaker at this than Claude — worth testing on one real job posting before running your friend's whole batch through it, so you're not silently getting worse evaluations to save money.

Want me to walk through step 5's exact config file syntax once you've got OpenCode installed and can share what version/config format it's using?

Integration of Opencode and Ollama

Documentation Index

Fetch the complete documentation index at: https://docs.ollama.com/llms.txt Use this file to discover all available pages before exploring further.

OpenCode

OpenCode is an open-source coding agent that runs in your terminal, reads your project, edits files, and runs commands.

Ollama configures OpenCode to use local and cloud models.

Get started

Launch OpenCode with Ollama:

ollama launch opencode

Capabilities

  <div>
    <div className="capability-list-heading">Chat</div>
    <div className="capability-list-copy">Ask questions about a repository or task</div>
  </div>
</div>

<div className="capability-list-item">
  <div className="capability-list-icon">
    <Icon icon="terminal" />
  </div>

  <div>
    <div className="capability-list-heading">Command line</div>
    <div className="capability-list-copy">Run commands from your working directory</div>
  </div>
</div>

<div className="capability-list-item">
  <div className="capability-list-icon">
    <Icon icon="code" />
  </div>

  <div>
    <div className="capability-list-heading">File edits</div>
    <div className="capability-list-copy">Read and edit files in your project</div>
  </div>
</div>

<div className="capability-list-item">
  <div className="capability-list-icon">
    <Icon icon="users" />
  </div>

  <div>
    <div className="capability-list-heading">Subagents</div>
    <div className="capability-list-copy">Split work across tasks</div>
  </div>
</div>

<div className="capability-list-item">
  <div className="capability-list-icon">
    <Icon icon="file-text" />
  </div>

  <div>
    <div className="capability-list-heading">Web fetch</div>
    <div className="capability-list-copy">Fetch and summarize web pages</div>
  </div>
</div>

<div className="capability-list-item">
  <div className="capability-list-icon">
    <Icon icon="image" />
  </div>

  <div>
    <div className="capability-list-heading">Vision</div>
    <div className="capability-list-copy">Send images and screenshots</div>
  </div>
</div>

Models

Choose a model with enough context for your repository.

Use larger models without downloading them. Choose a model and set a 64k+ context window.

OpenCode requires a context length of 64k or higher. See Context length for more information.

Manual setup

1. Install OpenCode

```shell macOS / Linux theme={"system"} curl -fsSL https://opencode.ai/install | bash ```
npm install -g opencode-ai

2. Configure Ollama as a provider

Add an Ollama provider to opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "qwen3.5": {
          "name": "qwen3.5"
        }
      }
    }
  }
}

3. Run OpenCode

opencode

To configure OpenCode with Ollama without starting an interactive session:

ollama launch opencode --config

Configuration precedence

ollama launch opencode starts OpenCode with an inline config for the selected Ollama model. It does not overwrite ~/.config/opencode/opencode.json; existing OpenCode settings still apply.

Models defined only in opencode.json do not appear in the ollama launch model picker.

See OpenCode's config precedence.