Skip to main content

halp

halp turns a natural-language task into a shell command grounded in the selected tool's help or man page. It talks to an OpenAI-compatible LLM endpoint and does not execute suggestions unless -a is enabled and the user confirms.

Install

Install the published package with:

python -m pip install halp-cli

To install the current checkout instead:

python -m pip install .

For local development, use python -m pip install -e .. The install provides the halp command.

Usage

halp [OPTIONS] <tool> "<prompt>"

Example for a local Gemma server:

halp -l gemma4:e4b -ip 127.0.0.1:8001 nmap "Scan the top 10 TCP ports on 8.8.8.8"

By default, halp prints the suggested command and exits. It checks that the requested tool is installed, gathers -h and --help output, then tries no-argument usage and a man page. Help collection is time-limited and capped; the captured context is trimmed to fit -c with room reserved for the prompt and model response.

Options

Option Purpose
-l, --llm MODEL Model/backend name passed as the request's model (default gemma4:e4b)
-ip, --server HOST:PORT Server address or base URL (default 127.0.0.1:8001; can also use HALP_SERVER)
-api, --api-key KEY Optional Bearer token (can also use HALP_API_KEY)
-c, --context-size TOKENS Context budget (default 4000)
-extra-args ARGS Extra request fields as JSON or comma-separated key=value pairs
--request-timeout SECONDS Per-request HTTP timeout (default 120)
-p, --persist Open the interactive terminal workbench
-a, --allow-execution Enable command execution actions; each run always requires y/n confirmation
--no-color Disable terminal colors
-v, --verbose Print the exact final LLM prompt to stderr
--version Print the halp version

Extra parameter examples:

halp -extra-args 'temperature=0.2,top_p=0.9' nmap "Scan localhost"
halp -extra-args '{"temperature":0.2,"top_p":0.9}' nmap "Scan localhost"

halp manages the model, messages, prompt, max_tokens, and stream fields, so extra arguments cannot override them. The default endpoint probe tries standard /v1/chat/completions first, then common chat and completions route variants.

Interactive workbench

Start with -p. Enter a refinement directly or use an action:

  • /refine TEXT — refine the current command
  • /task TEXT — start a new task
  • /retry — request another suggestion for the same task
  • /history and /use N — review suggestions and select a prior candidate
  • /copy — copy the current command using wl-copy, xclip, xsel, or pbcopy when available
  • /run — run the current candidate (available only with -a, always asks for confirmation)
  • /clear, /help, /quit

When -a is active, halp asks whether to execute every newly generated command. In the workbench, /run can also execute the current candidate after another confirmation. Output from accepted commands streams directly to the terminal.

Metadata

Release files for halp-cli 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for halp-cli 0.2.0
File Size Uploaded Provenance Actions
halp_cli-0.2.0.tar.gz 12.3 kB Without provenance Details for halp_cli-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for halp-cli 0.2.0
File Interpreter ABI Platform Actions
halp_cli-0.2.0-py3-none-any.whl Python 3 none any Details for halp_cli-0.2.0-py3-none-any.whl

Total release size: 24.0 kB

Release files / halp_cli-0.2.0.tar.gz

Download URL halp_cli-0.2.0.tar.gz
Size 12.3 kB
Tags Source
SHA-256 checksum
How to use checksums
1508944f80d0d6752d1fae07dc533096832a23c9b8718f17a9208bd46e02e194
BLAKE2b-256 checksum
How to use checksums
652e3786fae33f79b549dfcd582d9145f83b907221c782804da7977e70e60aa7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / halp_cli-0.2.0-py3-none-any.whl

Download URL halp_cli-0.2.0-py3-none-any.whl
Size 11.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
649158c1d8213f7e97f74d270e4382f2b9cb2e51f38045cfe846bdfa5c765948
BLAKE2b-256 checksum
How to use checksums
cb00a0d2cdb5ba5cda8a3eb1edb26b7106648afb089e4952aa81db679b8ac4e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Security for halp-cli 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

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