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.