Skip to main content

Hash - Intelligent CLI system with dual-mode functionality (LLM chat and command proxy)

Project description

Hash CLI

Hash (HAcker SHell) is an intelligent terminal assistant that combines LLM-powered conversational assistance with command-line productivity tools. Ask questions in plain English, manage your development workflow, and keep your shell flow fast without losing control or safety.

Why Hash CLI

  • Conversational AI: Natural language interface for coding help, debugging, and system administration.
  • Provider choice: OpenAI, Anthropic, and Google models supported.
  • Tool calling with guardrails: shell execution, file ops, web search, and code analysis with confirmations and policy checks.
  • Conversation history: list, inspect, and clear past sessions.
  • Shell integration: optional # prefix for a seamless inline workflow.
  • Rich output: streaming, panels, and quiet mode when needed.

Quickstart

Install Hashcli:

pipx install hashcli

or

uv tool install hashcli

You can also use pip install hashcli, but we recommend using pipx or uv tool as it makes hashcli available on all virtual environments.

Set up Shell integration:

hashcli --setup

Set up api key in your terminal:

export OPENAI_API_KEY="your-key"

If you prefer a guided setup:

hashcli --config

Usage

# show me the current disk usage in human readable format
# show last 5 git commit messages
# how to find all __pycache__ in current folder

Features (from the current code)

  • Built-in Commands: /clean, /config, /fix, /help, /history, /model, /tldr, /exit, /quit
  • LLM Tools:
    • execute_shell_command (guarded shell execution with timeouts and allow/block lists)
    • read_file, write_file, list_directory (filesystem operations with safety checks)
    • web_search (DuckDuckGo via ddgs)
    • analyze_code (AST-based Python analysis and lightweight JS/Java metrics)
  • History management: list sessions, show a session, clear old or all history
  • Streaming output: optional streaming for responses
  • Interactive config wizard: hashcli --config for provider, model, and API key setup

Configuration

Hash CLI loads configuration in this order (highest to lowest):

  1. CLI flags
  2. Environment variables (HASHCLI_ prefix)
  3. User config (~/.hashcli/config.toml)
  4. System config (/etc/hashcli/config.toml on Unix)
  5. Defaults

Provider key fallbacks:

  • OPENAI_API_KEY
  • ANTHROPIC_API_KEY
  • GOOGLE_API_KEY or GEMINI_API_KEY

Useful flags:

hashcli --model gpt-5-mini
hashcli --provider anthropic
hashcli --no-confirm
hashcli --quiet
hashcli --show-config

Safety Notes

  • Shell execution and file writes require confirmation by default.
  • LLM tool calls are checked against allow/deny lists and dangerous patterns.
  • Shell operators (| and ;) are blocked unless explicitly enabled.

Project details


Download files

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

Source Distribution

hashcli-0.4.0.tar.gz (84.5 kB view details)

Uploaded Source

Built Distribution

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

hashcli-0.4.0-py3-none-any.whl (90.6 kB view details)

Uploaded Python 3

File details

Details for the file hashcli-0.4.0.tar.gz.

File metadata

  • Download URL: hashcli-0.4.0.tar.gz
  • Upload date:
  • Size: 84.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.10.12 Linux/5.15.0-164-generic

File hashes

Hashes for hashcli-0.4.0.tar.gz
Algorithm Hash digest
SHA256 c9c52ea5b25895c7c353e5ef6d4110a7de2ff450c2529223218b4653764490c4
MD5 779b05e0103b1bad328b7fa86255b8f8
BLAKE2b-256 07be0d72d6deda6262ec9d931218242f9e3a8ef9f3e1d411bb33edb5531b7faf

See more details on using hashes here.

File details

Details for the file hashcli-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: hashcli-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 90.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.10.12 Linux/5.15.0-164-generic

File hashes

Hashes for hashcli-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd008795405c1f4201224cc9bcda7ebd13b037c64b3c468ac090451989da35a2
MD5 2030cc55e6558b259b9711e73435f007
BLAKE2b-256 e3f0b48cb94edcae6579f063ae24cf486191c886dd5a52f135ce971a7b2a70cb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page