hhcli — это неофициальный CLI-клиент для поиска работы и откликов на hh.ru, позволяющий искать вакансии, просматривать их, отмечать понравившиеся и откликаться на них в интерфейсе терминала.
У приложения есть канал в Telegram, где публикуются основные новости проекта.
- Локальная база данных SQLite, хранящая профили, историю, кэш вакансий, справочники и т.д.
- Кроссплатформенный TUI-интерфейс (Linux, Windows).
- Профили для разных аккаунтов с поддержкой нескольких резюме внутри одного аккаунта.
- Два режима поиска: автоматический по рекомендациям hh.ru и ручной с настраиваемыми фильтрами.
- Отклик на несколько выбранных вакансий с отправкой сопроводительного письма.
- Хранение истории всех откликов и переписок с работодателями.
- Переписка с работодателями и форматирование текста сообщений прямо внутри приложения.
- Фильтры и отсев дубликатов вакансий (спама по городам).
- Подсветка компаний, в которые ранее был отклик.
- Подсветка вакансий, на которые был отклик (по названию+компания или по id вакансии).
- Приложение чистит базу данных от устаревшего кэша вакансий (старше 5 дней) и логов (старше 20 дней).
- Выбор и возможность создания собственных тем оформления.
sudo apt update && sudo apt install -y \
python3 python3-pip pipx git \
python3-gi gir1.2-webkit2-4.1 gir1.2-gtk-3.0 libwebkit2gtk-4.1-0
pipx install hhcli --system-site-packages
python3 -m pipx ensurepath
# Перезапустите терминал прежде, чем запускать программуsudo pacman -Syu python python-pip pipx git
pipx install hhcli --system-site-packages
python3 -m pipx ensurepath
# Перезапустите терминал прежде, чем запускать программуsudo dnf install python3 python3-pip pipx git # либо sudo yum install ...
# Пакеты WebKit2GTK могут называться webkit2gtk4.1 / webkit2gtk3 / pywebkitgtk
sudo dnf install webkit2gtk4.1 gtk3 gobject-introspection
pipx install hhcli --system-site-packages
python3 -m pipx ensurepath
# Перезапустите терминал прежде, чем запускать программу- Установите Python ≥3.9 и
pipxиз стандартного репозитория. - Установите WebKit2GTK+ и Python GObject bindings (названия пакетов зависят от дистрибутива).
- Выполните
pipx install hhcli --system-site-packages. - Если
pipxотсутствует, можно поставить локально:pip install --user pipx && pipx ensurepath.
- Скачайте Python 3.9+ с python.org и поставьте галочку “Add Python to PATH”.
- Установите
pipx(PowerShell или CMD, права администратора не нужны):
python -m pip install --upgrade pip
python -m pip install pipx
python -m pipx ensurepathПерезапустите PowerShell (или CMD) и выполните:
pipx install hhcliПосле установки откройте новое окно PowerShell/Command Prompt, чтобы PATH подхватил
C:\Users\<имя>\.local\bin. Если командаhhcliвсё ещё не находится, убедитесь, что этот путь внесён в переменные среды (Параметры → Система → Дополнительные параметры → Переменные среды) и перезапустите терминал. Для рендеринга окна авторизации нужен WebView2 Runtime. Обычно он уже предустановлен в Windows 10/11. Если нет — скачайте с сайта Microsoft.
- Обновить:
pipx install hhcli --force - Удалить:
pipx uninstall hhcli
Используйте pipx uninstall hhcli (Windows и Linux) или, если ставили из исходников, удалите виртуальное окружение/пакет. Данные профиля лежат в:
- Linux:
~/.local/share/hhcli - Windows:
%LOCALAPPDATA%\hhcli
После установки запустите программу.
hhcliВам будет предложено создать новый профиль. Придумать короткое имя для вашего профиля (go, python, pm, analyst и т.д). В открывшемся мини-браузере загрузится страница hh.ru для аутентификации на сайте. Если в аккаунте несколько резюме, приложение предложит выбрать, какое из них использовать для поиска.
Если окно с аутентификацией на сайте не открывается или после ввода пароля ничего не происходит:
- Linux: переустановите с доступом к системным пакетам и убедитесь, что WebKit2GTK на месте:
sudo apt install python3-gi gir1.2-webkit2-4.1 gir1.2-gtk-3.0 libwebkit2gtk-4.1-0 pipx install hhcli --force --system-site-packages - Windows 10/11: установите или обновите Microsoft Edge WebView2 Runtime и перезапустите терминал.
Вся настройка (ключевые слова для поиска, шаблон сопроводительного письма, внешний вид) производится внутри приложения. Нажмите клавишу c на любом из основных экранов, чтобы перейти в меню настроек.
Основное взаимодействие с приложением происходит через TUI-интерфейс.
| Команда | Описание |
|---|---|
hhcli |
Запускает основной TUI-интерфейс. |
hhcli -v / hhcli --version |
Показывает текущую версию (из PyPI). |
hhcli -i / hhcli --info |
Выводит информацию о версии, пути к локальной базе и доступных профилях. |
| Клавиша | Действие |
|---|---|
Пробел |
Выбрать/снять выбор с текущей вакансии. |
A |
Откликнуться на все выбранные вакансии. |
H |
Открыть экран с историей откликов для текущего резюме. |
C |
Открыть экран настроек профиля. |
Q / Esc |
Вернуться на предыдущий экран или выйти из приложения. |
← / → |
Переключение между страницами в списке вакансий. |
У приложения есть своя дизайн-система для переключения тем оформления. Чтобы создать новую тему, скопируйте содержимое любого существующего файла .tcss из каталога hhcli/ui/themes в новый файл и настройте палитру. Новая тема будет доступна на экране настроек.
Переменные стилей: базовые токены отвечают за основные цвета темы (остальные значения собираются автоматически в hhcli/ui/themes/design_system.tcss):
background1— основной фон приложения.background2— фон панелей, карточек, списков.background3— фон шапок, рамок и выделений.foreground1— вторичный текст (подписи, подсказки).foreground2— основной текст.foreground3— акцентный текст/заголовки.primary— главный акцент (кнопки, ссылки, выделения).secondary— дополнительный акцент и ховеры.red,orange,yellow,green,blue,purple,magenta,cyan— цвета статусов и вспомогательных подсветок.scrim— полупрозрачная подложка для модальных окон.
Дальнейшие планы:
Переработка первых двух экранов (были унаследованы от старой bash-версии).Интерактивное добавление профилей без ввода команды.hhcli --auth <profile>- Улучшение поддержки и тестирование на других ОС (macOS,
Windows). - Расширение возможностей фильтрации и аналитики по истории откликов.
- Добавление экрана с дашбордом на основе истории откликов.
Добавление переписки с работодателями.- Нотификация и уведомление о непрочитанных сообщениях работодателей.
- Возможность изменения отправленного ранее сообщения работодателю.
- Добавление кастомизации сопроводительного письма для некоторых из выбранных вакансий.
Изначально hhcli не планировался как большой и долго поддерживаемый проект. Но текущая ситуация на рынке труда: глупые алгоритмы отбора, фейковые вакансии, некомпетентные HR'ы и в целом низкая эффективность ручного поиска и откликов через сайт мотивируют меня развивать этот инструмент дальше.
Прежняя версия hhcli делегировала практически всю работу с API утилите hh-applicant-tool, отчасти поэтому была полностью переписана в текущее исполнение. Подробнее можно ознакомиться в ветке legacy.
Legacy-версия перестала поддерживаться 26.10.2025, её дальнейшая работоспособность не гарантирована и полностью зависит от hh-applicant-tool.
Проект распространяется под лицензией MIT. Смотрите файл LICENSE для подробностей.
