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 viaddgs)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 --configfor 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):
- CLI flags
- Environment variables (
HASHCLI_prefix) - User config (
~/.hashcli/config.toml) - System config (
/etc/hashcli/config.tomlon Unix) - Defaults
Provider key fallbacks:
OPENAI_API_KEYANTHROPIC_API_KEYGOOGLE_API_KEYorGEMINI_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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
692f765fb6f9e0a6116717f5cda647097d909c0ae9108f75e50405df5a526a9d
|
|
| MD5 |
fea5f011d0b49397bbafbdd7b9e16c11
|
|
| BLAKE2b-256 |
29299ab1b01e5706d020e3a4967eed3f36055d0f986c809310b84298a8229aed
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1f28d68a65dd3e1d6fbbbdd9538fda5f8cbec0f4bede44190c8bd719120980b9
|
|
| MD5 |
8bb6dae415efb09d52e39f5ba061ea39
|
|
| BLAKE2b-256 |
02ddcc8956343e17d4d33be5cf4d535ff1b4586623133af1a48f625daf20c6f3
|