career-ops — open-source AI-агент поиска работы, который живёт прямо в вашем AI-CLI

· 2 мин чтения
ai-agents job-search claude-code local-first developer-tools
📂 Исходный код на GitHub

Open-source AI-агент для поиска работы, который работает локально внутри вашего AI-CLI: оценивает вакансии по вашему резюме, готовит ATS-совместимые CV и черновики откликов, сканирует порталы компаний — и оставляет финальное решение за человеком

career-ops — open-source AI-агент поиска работы, который живёт прямо в вашем AI-CLI

career-ops — AI-агент поиска работы, который живёт прямо в вашем AI-CLI

career-ops (он же careerops) — это open-source агент для поиска работы. Он запускается локально внутри вашего AI-CLI: Claude Code, Codex, OpenCode и других. Схема простая: вставляете вакансию, а агент проверяет, открыта ли она ещё, оценивает, насколько она подходит под ваше резюме, готовит tailored CV и черновики ответов. Финальное слово всегда за человеком: агент никогда не отправляет отклики сам.

Автор проекта — Сантьяго Фернандес де Вальдеррама Апарисио (santifer). Он собрал career-ops для собственного поиска работы, и система отработала: 740 разобранных вакансий, 68 откликов, 12 интервью, один оффер. Он получил роль Head of Applied AI, а через полгода ушёл из неё и занялся проектом полный день.

Идея автора хорошо ложится в текущую реальность найма: компании уже используют AI, чтобы фильтровать кандидатов. career-ops даёт AI самим кандидатам — чтобы они могли выбирать компании, а не только проходить отбор.

Как это работает

Ядро системы — конвейер, который запускается одной вставкой URL вакансии или текста описания:

Вы вставляете URL вакансии или её описание
        │
        ▼
┌──────────────────┐
│  Archetype       │  Определяет тип роли: LLMOps / Agentic / PM / SA / FDE
│  Detection       │
└────────┬─────────┘
         │
┌────────▼─────────┐
│  A–H Evaluation  │  Совпадение с CV, пробелы, вилки, STAR-истории, легитимность
│  (читает cv.md)  │
└────────┬─────────┘
         │
    ┌────┼────┐
    ▼    ▼    ▼
 Отчёт   PDF  Трекер
  .md   .pdf  заявки

Основной этап — оценка по блокам A–H. Агент резюмирует роль, сверяет её с вашим резюме (cv.md) и оценивает каждое требование. Важная деталь: для каждого требования указано, насколько оно критично, и откуда взялся этот вес — из текста вакансии, из её структуры или из оценки модели. Прикидка модели никогда не попадает в высший диапазон. Блок G проверяет легитимность вакансии: жива ли она ещё и не является ли репостом. Отдельный сигнал ловит прямые запреты на спонсорство визы.

Что умеет

  • ATS-совместимые PDF. tailored CV под каждую вакансию на основе вашего опыта. Генерация через HTML-шаблон и Playwright, шрифты Space Grotesk и DM Sans.
  • Сопроводительные письма. Автоматически черновик создаётся после каждой оценки; генерация — через /career-ops cover, тот же PDF-конвейер.
  • Больше, чем резюме. Режим deep исследует компанию: AI-стратегия, свежие новости, инженерная культура. Режим contacto находит нанимающего менеджера или рекрутёра и готовит сообщение до 300 символов, настроенное под тип контакта. Режим email готовит черновик официального письма с темой и чек-листом вложений.
  • Сканер порталов. Свыше 100 преднастроенных компаний (Anthropic, OpenAI, ElevenLabs, Retool, n8n и другие) плюс 55+ модулей к ATS-платформам: Greenhouse, Lever, Ashby, Wellfound. Флаг --verify перепроверяет вакансии через Playwright и отсеивает закрытые.
  • Анализ паттернов. Скрипты analyze-patterns.mjs и stats.mjs показывают, где вы проходите дальше всего, а detect-reposts.mjs ловит «призрачные» вакансии по репостам.
  • Подготовка к интервью. Банк STAR-историй накапливается между оценками: 5–10 базовых историй под behavioural-вопросы. Отдельные режимы ведут практику с фидбеком, разбор после интервью и даже детектор красных флагов работодателя.
  • Оффер-стейдж. Помощник по чтению контракта со списком вопросов юристу и анализатор разрыва между желаемой и предложенной зарплатой (salary-gap.mjs).
  • Трекер и дашборд. Каждая заявка попадает в трекер. Терминальный TUI-дашборд на Go и Bubble Tea позволяет смотреть воронку, фильтровать и менять статусы.
  • Batch-обработка. Параллельная оценка вакансий через headless-воркеров (claude -p, opencode run).

Полный список режимов — длинный: от переговорных скриптов до калькулятора follow-up. Список поддерживаемых джоб-бордов — в документации сканера.

Чего он принципиально не делает

Эта часть README — фактически манифест проекта, и она важнее списка фич:

  • Не отправляет отклики автоматически. Агент готовит черновик для каждого поля формы. Отправляете вы. Скрипт подготовки заявки не делает POST-запросов по определению.
  • Не отправляет письма. Только черновики. Почтового транспорта в кодовой базе нет вообще.
  • Не следит за вами. Ни телеметрии, ни бэкенда. Резюме идёт с вашей машины только к тому AI-провайдеру, которого вы выбрали.
  • Не толкает к слабым заявкам. Рекомендация ниже 4.0/5 всегда «не подавайтесь». Преодолеть её можно, но агент это зафиксирует.

Отдельная история — защита от выдумок. Агенту прямо запрещено фабриковать опыт: можно переформулировать, нельзя придумать. Генератор PDF проверяет, что цифры и факты из tailored CV реально есть в вашем cv.md и дайджесте статей. Несовпадение — и PDF заблокирован, если вы не передали флаг --skip-fact-check. Проверка пока не покрывает названия должностей, за этим следят открытые issue #2677 и #1411. Отсюда совет автора: перечитывайте каждое CV перед отправкой.

Установка

Самый быстрый путь — одна команда:

npx @santifer/career-ops init
cd career-ops
claude   # или codex / qwen / opencode / agy / grok

npx входит в Node.js. Команда клонирует свежий релиз в папку career-ops и ставит зависимости. При первом запуске агент сам спрашивает в чате всё нужное: резюме, профиль, целевые роли. Настраивать файлы руками не обязательно.

Ручной путь стандартный: git clone, npm install, npx playwright install chromium (нужно только для PDF), затем npm run doctor для проверки окружения. Полная инструкция — в SETUP.md.

После установки работа идёт через общий роутер команд. В CLI со слэш-командами это выглядит так:

/career-ops {JD}          → полный конвейер: оценка + отчёт + PDF + трекер
/career-ops pipeline      → разобрать очередь URL из inbox
/career-ops scan          → просканировать порталы и найти новые вакансии
/career-ops pdf           → только tailored CV в PDF
/career-ops tracker       → статусы всех заявок
/career-ops patterns      → анализ отказов и корректировка таргетинга

Работает с любым AI-CLI

career-ops не привязан к одному вендору. Скилл определён по открытому стандарту агентов в файле .agents/skills/career-ops/SKILL.md, а для конкретных CLI подключается обёртками. Из коробки поддерживаются Claude Code, OpenCode, Antigravity CLI, Codex, Qwen, Kimi, GitHub Copilot, Grok Build CLI и Pi. В Codex слэш-команды не гарантированы — те же режимы вызываются обычным текстом или через codex exec.

Есть и путь без CLI вообще: отдельный скрипт gemini-eval.mjs работает с бесплатным ключом Gemini API и оценивает вставленное описание вакансии.

Бесплатно и на локальных моделях

Проект сознательно не требует платной подписки. Работают бесплатные модели OpenRouter, локальные модели через Ollama и любой OpenAI-совместимый эндпоинт. Разбор дешёвых конфигураций — в RUNNING_ON_A_BUDGET.md.

Там же — полезное предупреждение про подписки. Если в окружении задана переменная ANTHROPIC_API_KEY, CLI возьмёт её вместо вашей активной подписки Claude Pro/Max и начнёт списывать за токены. Лечится удалением переменной, перезапуском терминала и /login.

Манифест и сообщество

career-ops — первая референсная реализация CareerOps Manifesto. Суть в шести строках:

Подавайтесь лучше, но меньше. Сигнал важнее объёма. Доказательства важнее ключевых слов. Решает человек. Local-first. Достоинство с обеих сторон стола.

Истории найма собираются в публичный список HIRED.md: каждая карточка — открытый issue, который можно прочитать. Код распространяется по лицензии MIT.

Отдельно занятно, как сам проект устроен внутри: автор ведёт заметки о том, как репозиторий обслуживается флотом AI-агентов, где человек утверждает каждый merge. Для сайта про AI-ассистированную разработку это почти более интересная история, чем сам поиск работы.

Источник: https://github.com/career-ops-hq/career-ops