Skip to content

Repository files navigation

JobGhost

Локальный помощник для собеседований и поиска работы. Десктопное окно видит выбранный экран, локально распознаёт микрофон и системный звук, а ответы получает через OpenRouter, OpenAI API или обычный аккаунт ChatGPT в Google Chrome. Ответ печатается в окне сразу по мере генерации.

Скачать и установить

Актуальная версия 0.6.8. Простой двухшаговый автопилот HH, рекомендации по точному резюме, безопасная подготовка писем без фоновой отправки и автоматическая проверка ответа ИИ. Также доступны материалы резюме/проектов/опыта, локальный RU/EN-поиск, память интервью, AI Coach и план подготовки по вакансии. В компактном окне длинный код не обрезается отдельной областью: ответ следует за новым текстом и прокручивается горячими клавишами. Инструкция и ограничения.

Скачайте JobGhost 0.6.8. Установщик содержит все перечисленные функции, Faster Whisper и CUDA-библиотеки. Результаты приёмки. Живые импорт, рекомендации, письмо и preflight HH проверены; финальный submit всегда требует отдельного подтверждения пользователя.

Предыдущая версия 0.5.2 и её подробный аудит сохранены для истории.

Скачайте JobGhost-Setup-0.6.8.exe на странице Releases и запустите его. Python, Node.js и отдельная модель речи не требуются: multilingual Faster Whisper large-v3-turbo и библиотеки NVIDIA CUDA уже включены в установщик. Без совместимой NVIDIA приложение автоматически использует CPU.

Первый запуск

Бесплатные ответы: «Настройки → ИИ → OpenRouter», ваш ключ, модель «Авто». JobGhost выбирает до трёх бесплатных моделей по задержке; скорость бесплатного пула не гарантируется. Для быстрых платных ответов выберите OpenAI и сохраните ключ там же. Ключи хранятся только в Windows Credential Manager. Оплата OpenAI API отдельна от подписки ChatGPT.

Режим без API через Chrome остаётся доступен:

  1. Установите JobGhost и запустите ярлык.
  2. В Google Chrome откройте chrome://extensions, включите «Режим разработчика» и нажмите «Загрузить распакованное».
  3. Выберите %LOCALAPPDATA%\Programs\JobGhost\resources\browser-extension. Эту папку также можно открыть кнопкой в настройках JobGhost.
  4. Один раз войдите в ChatGPT в этом профиле Chrome.
  5. Вернитесь в JobGhost. Расширение само создаст/найдёт служебный чат, подключится без кода и свернёт браузер.
  6. Выберите резюме, отметьте сверху «Звук собеседника» и/или «Мой микрофон», затем нажмите «Начать сессию». Выбор источников, движка речи и автоответа сохраняется между запусками; изображение всегда прикрепляется вручную.

Браузер должен оставаться запущенным в фоне только для режима «ChatGPT в Chrome». OpenAI/OpenRouter работают напрямую и расширение им не требуется. Первую установку расширения и первый вход Chrome не разрешает выполнять полностью скрыто.

Значка JobGhost в трее нет. Ctrl+Shift+Space скрывает/возвращает окно, а полный выход находится в «Настройки → Основные → Выйти из JobGhost». В диспетчере задач процесс честно называется JobGhost/JobGhost Background и не маскируется под системные программы.

Управление

В «Настройки → Основные → Роль ИИ» можно переключить контекст: резюме либо собственный промпт. В режиме своего промпта резюме не отправляется. OpenAI/OpenRouter получают выбранный контекст при каждом вопросе; браузерный ChatGPT — при старте сессии.

  • Ctrl+Enter — отправить написанный или распознанный голосом вопрос.
  • Ctrl+← / Ctrl+→ — предыдущий / следующий ответ.
  • Ctrl+↑ / Ctrl+↓ — прокрутить текущий ответ вверх / вниз в компактном окне.
  • Ctrl+Alt+S — выделить область экрана для следующего ручного вопроса.
  • Ctrl+Shift+Space — показать или скрыть JobGhost.
  • Ctrl+Alt+X — остановить захват.

Перелистывание без фокуса работает, пока компактное окно видно, в том числе при кликах насквозь. При скрытии окна сочетания освобождаются. Во время генерации ответа перелистывание приостановлено; за границы истории выйти нельзя.

Раздел подготовки включён с 0.6.0; прокрутка ответа и новая иконка приложения — с 0.6.8. Полная матрица и честные ограничения указаны в приёмке.

Быстрый старт для разработки

Copy-Item .env.example .env
./scripts/install.ps1
./scripts/dev.ps1

Откройте http://127.0.0.1:5173; OpenAPI — http://127.0.0.1:8765/docs; companion — http://127.0.0.1:8765/interview/companion. По умолчанию включён заметный безопасный DRY_RUN=true.

Docker

docker compose up --build

Запускаются PostgreSQL 17, FastAPI и собранный React UI. Для локальной разработки без Docker используется SQLite.

Разработка и проверки

cd backend
.\.venv\Scripts\python -m alembic upgrade head
.\.venv\Scripts\python -m pytest
.\.venv\Scripts\python -m ruff check .
cd ..\frontend
npm test -- --run
npm run lint
npm run build
cd ..\browser-extension
node --test tests\*.test.mjs
cd ..\desktop
node --test *.test.cjs

Linux использует те же команды из Makefile и backend/.venv/bin/python.

HH без API

Автопилот берёт вакансии из рекомендаций HH для точного резюме либо из обычного поиска. Обязательные и запрещённые слова, исключения компаний, лимит черновиков и стиль письма настраиваются отдельно. Письма создаёт выбранный OpenAI/OpenRouter/ChatGPT; это не официальный HH API. Фоновая отправка отключена: автопилот только готовит черновики, а каждый реальный отклик отправляется после проверки вакансии, резюме и письма пользователем. Существующие черновики и неопределённые отправки автоматически не повторяются.

Откройте HH в разделе HH приложения и войдите вручную. JobGhost читает доступные резюме и вакансии через управляемую локальную браузерную сессию. Предварительная проверка только читает вакансию; выбранное резюме, письмо и дополнительные вопросы проверяются в форме перед отправкой. При неопределённом результате или CAPTCHA автоматизация останавливается без слепого повтора. Живой прогон 14 сентября 2026 года подтвердил импорт точного резюме, чтение 20 рекомендаций, подготовку валидного письма и состояние HH ready; финальный submit намеренно не выполнялся без отдельного подтверждения владельца.

Возможности

  • Профиль кандидата, несколько резюме, search profiles, blacklist и зарплатные правила.
  • 20 demo-вакансий, дедупликация, локальная pre-filter система и AI scoring history.
  • Автоматическая подготовка HH-черновиков и ручная подтверждённая отправка с проверкой resume/duplicate/limit/cooldown.
  • Dashboard, vacancy cards/detail, Kanban queue, profile editor и compact interview UI.
  • Минимальный чат, защищённое полупрозрачное окно поверх других окон, клики насквозь с удержанием Shift для управления.
  • Три независимых канала: микрофон, системный звук собеседника и отдельное ручное изображение (область либо весь экран). Автоответы не получают снимки.
  • Два режима речи: локальный Faster Whisper large-v3-turbo на NVIDIA CUDA с CPU fallback и OpenAI Live (gpt-live-transcribe) с текстом во время речи. RU/EN реплика собирается до паузы и видна прямо в поле вопроса; Ctrl+Enter отправляет её вручную.
  • Скрытый чат можно перетаскивать за верхнюю панель и вручную растягивать за правый нижний угол.
  • Потоковые ответы OpenAI/OpenRouter: текст показывается сразу по мере прихода фрагментов; для браузерного режима сохранена плавная выдача готового ответа.
  • Роль выбранного ИИ по резюме при каждом старте сессии; контакты удаляются, выдумывать опыт запрещено.
  • HH API adapter, Playwright extension point, scheduler, messages, audit log и защищённая Electron-оболочка Windows.

Архитектура: docs/ARCHITECTURE.md. Карта для ИИ-агентов: docs/PROJECT_MAP.md. Правила агентам: AGENTS.md.

Безопасность и ограничения

JobGhost не обходит CAPTCHA или вход. Пользователь вручную авторизуется там, где это требуется. API-ключи находятся в Windows Credential Manager; секреты, browser state, локальная БД, резюме, аудио и снимки исключены из Git. Передача вопроса, профессионального контекста резюме или выбранного изображения в OpenAI, OpenRouter либо ChatGPT остаётся передачей данных стороннему сервису и подчиняется его правилам и лимитам.

Защита окна проверена через Windows Graphics Capture, но перед важной демонстрацией её нужно проверить именно в используемой программе записи: разные программы захватывают окна по-разному.

About

Помощник для подготовки к интервью: RU/EN речь на GPU, OpenAI/OpenRouter/ChatGPT, компактный чат и скриншоты. HH — экспериментально.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages