Skip to main content

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

Project description

Hash CLI

Hashcli 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 one of the following api keys in your terminal:

export GOOGLE_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
export ANTHROPIC_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)

  • Core slash commands: /help, /history
  • Plugin slash commands: install with hashcli --add-cmd <path-to-plugin.py> (installed under ~/.hashcli/plugins)
  • 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

Plugin example:

hashcli --add-cmd plugins/model.py
hashcli /model list

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.5.0.tar.gz (76.9 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.5.0-py3-none-any.whl (78.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: hashcli-0.5.0.tar.gz
  • Upload date:
  • Size: 76.9 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.5.0.tar.gz
Algorithm Hash digest
SHA256 692f765fb6f9e0a6116717f5cda647097d909c0ae9108f75e50405df5a526a9d
MD5 fea5f011d0b49397bbafbdd7b9e16c11
BLAKE2b-256 29299ab1b01e5706d020e3a4967eed3f36055d0f986c809310b84298a8229aed

See more details on using hashes here.

File details

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

File metadata

  • Download URL: hashcli-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 78.8 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f28d68a65dd3e1d6fbbbdd9538fda5f8cbec0f4bede44190c8bd719120980b9
MD5 8bb6dae415efb09d52e39f5ba061ea39
BLAKE2b-256 02ddcc8956343e17d4d33be5cf4d535ff1b4586623133af1a48f625daf20c6f3

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