Skip to main content

HiAir CLI

Fill job applications in your Chrome, then store them in the HiAir tracker.

Install

You need Python 3.11+ and pipx. Google Chrome must be installed for applies.

pipx install hiair-cli
# or: uv tool install hiair-cli

hiair login

hiair login offers to install the login worker for you (or run hiair service install yourself later). If something misbehaves, run hiair doctor.

After that, the worker starts at login. Queue jobs from the website or copilot; when one arrives, this Mac opens a disposable Chrome, fills the application, and writes the result back. Everyday Chrome can stay open. Logins in the HiAir window do not persist.

Closing a tab stops that application; closing the HiAir Chrome window stops all of them. Stopped applications show as stopped in the app and their credits come back, and the worker waits 30 seconds before opening Chrome for the next queued job. Ctrl-C in a foreground hiair apply stops the in-flight applications the same way.

hiair service is macOS only. To watch a run in the foreground (any OS), use hiair apply.

Several applications at once

hiair apply fills up to four queued applications at the same time, each in its own tab of the one HiAir Chrome window, so a batch queued from the site finishes in a fraction of the time. hiair apply --parallel 6 raises the limit (max 8), --parallel 1 goes back to one at a time, and HIAIR_APPLY_PARALLEL sets the default for the login service. The server still hands out one application per company career site at a time, so the parallelism is across companies. When one tab needs you, it comes to the front and the terminal prompt is for that tab only; the others keep working.

When the agent needs you

If the form asks something your profile cannot answer, shows a captcha, sends you a code, or wants you to sign in, the apply pauses with the page still open in the HiAir Chrome window. You get a desktop notification, the field is highlighted, and hiair apply prints what is needed. Then either:

  • fix it in the browser and press Enter in the terminal,
  • press a and type the answers in the terminal (the agent types them into the form), or
  • press s if you clicked Submit yourself.

You can also answer from the HiAir website; the daemon notices and carries on. If nothing happens for about 45 minutes the run falls back to "Needs you" on the website and the page closes. The login service (no terminal) still pauses and waits for the website.

The device console

hiair wakeup opens a small native window showing everything at a glance: pairing and backend connection, the login worker, the applications this Mac is filling right now (with pauses that need you), health checks, and the worker log. Pairing, unpairing, installing the login worker, and stopping a running apply all work from the window too. It needs the gui extra:

pipx install 'hiair-cli[gui]'
# already installed? add it with: pipx inject hiair-cli pywebview

hiair wakeup

Updating

The login worker keeps itself on the latest release: it checks PyPI a few times a day and, only when no application is in flight, upgrades its pipx or uv install and restarts on the new version. Turn this off in the console's settings ("Automatic updates"). To update by hand:

hiair update          # check PyPI and install the latest release
hiair update --check  # just check

The console window also shows when an update is available (the version chip lights up) and can install it from the settings sheet.

hiair --version
hiair status
hiair service status
hiair service uninstall

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hiair_cli-0.3.2.tar.gz (110.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hiair_cli-0.3.2-py3-none-any.whl (86.6 kB view details)

Uploaded Python 3

File details

Details for the file hiair_cli-0.3.2.tar.gz.

File metadata

  • Download URL: hiair_cli-0.3.2.tar.gz
  • Upload date:
  • Size: 110.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hiair_cli-0.3.2.tar.gz
Algorithm Hash digest
SHA256 6966179a1d33b402570343abd7ce29359ba0eb0d73ba20903b69108c8a5f5cb1
MD5 bb5b90dd42b28f4d1f58d572bc03b619
BLAKE2b-256 f9ab75f5f9ca7021fc9d8c68320b168acd5f30563fc6725f8a7ddcc1ead5fb13

See more details on using hashes here.

Provenance

The following attestation bundles were made for hiair_cli-0.3.2.tar.gz:

Publisher: publish.yml on hiair-ai/hiair-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hiair_cli-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: hiair_cli-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 86.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hiair_cli-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f173dfd61a0d4e8dc2676b4fa3ad840dcb6038f6e5a47a7204edf519feedcad7
MD5 08560a78abc2cb80cc26e01792ce250d
BLAKE2b-256 c9e6606bf243b50e91dfc550932b3331a721674504f27181653b6c7dac251db8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hiair_cli-0.3.2-py3-none-any.whl:

Publisher: publish.yml on hiair-ai/hiair-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.3.2 This release

2 files

0.3.1

2 files

0.3.0

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.5

2 files

0.1.4

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page