A secure, zero-bloat CLI companion that turns natural language and error logs into executable commands.
Project description
hey-cli 🤖
A zero-bloat, privacy-first, locally-hosted CLI agent powered by Ollama.
hey isn't just an LLM wrapper. It's a context-aware system agent designed to bridge the gap between human language and POSIX shell utilities natively on your host machine.
Ask it to parse your error logs, debug Docker, clear DNS caches, or execute complex file maneuvers—all while executing safely behind a dynamic zero-trust governance matrix.
🚀 Why hey-cli over Copilot/ChatGPT?
- Total Privacy: Your code and system logs never leave your physical CPU. All context gathering and reasoning is done locally via Ollama.
- True Cross-Platform Skills: Under the hood,
hey-cli's "Skills Engine" detects if you're on macOS (BSD), Ubuntu (GNU), Windows (PowerShell), or Arch Linux, and actively refuses to generate incompatible flags likexargs -don Mac. - Agentic Execution: Ask "is docker running?" and
heywill silently executedocker infoin the background, read the stdout, analyze it, and return a plain English answer. - Security Governance: Built-in AST-level parsing. Safe commands (like
git status) auto-run. Destructive commands (rm -rf,-exec delete) require explicit typed confirmation.
📦 Installation
Prerequisite: You must have Python 3.9+ installed.
macOS & Linux
Paste this snippet into your terminal to auto-install pipx, ollama, pull the required language model, and build hey-cli natively.
curl -sL https://raw.githubusercontent.com/sinsniwal/hey-cli/main/install.sh | bash
Windows (PowerShell)
Paste this into your PowerShell terminal:
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/sinsniwal/hey-cli/main/install.ps1" -OutFile "$env:TEMP\hey_install.ps1"; & "$env:TEMP\hey_install.ps1"
🛠️ Usage
Simply type hey followed by your objective.
Context-Gathering (Zero-Trust)
hey is my docker hub running?
hey will silently run systemctl is-active docker or docker info, see that it failed to connect to the socket, and explain the situation.
Execution (Governance Protected)
hey forcefully delete all .pyc files
hey parses the generated find . -name "*.pyc" -exec rm -f {} + command, detects rm and -exec triggers, and pauses execution until you explicitly type rm to authorize.
Debugging Logs
npm run build 2>&1 | hey what is causing this webpack error?
🛡️ Governance Matrix
Safety is a first-class citizen. hey-cli maintains a local governance database (~/.hey-rules.json):
- Never List: Things like
rm -rf /andmkfsare permanently blocked at the compiler level. - Explicit Confirm: High-risk ops (
truncate,drop,rm) require typing exact keyword verification. - Y/N Confirm: Moderate risk ops requiring a quick
y. - Allowed List: Safe diagnostics like
cat,ls,grepauto-run natively.
🤝 Adding OS Skills
Is hey generating incorrect shell semantics for your niche operating system?
You can make it permanently smarter without touching code! Simply open hey_cli/skills/ and create a markdown file for your OS containing explicit English instructions (e.g. "Do not use apt on Alpine, use apk add"). The engine dynamically parses .md rulesites at runtime. Pull requests are heavily welcomed!
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 hey_cli_python-1.0.2.tar.gz.
File metadata
- Download URL: hey_cli_python-1.0.2.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6c62baa1c4abdd885c355becc13ea8170df92ff66cadd16350b2e86ebf54b56
|
|
| MD5 |
b12f18c0f0775cbc16c73250a5934180
|
|
| BLAKE2b-256 |
c1a3cf287a906e40dae62c170a6c6fa635f3c876225016bde4dd91ac0579c85d
|
File details
Details for the file hey_cli_python-1.0.2-py3-none-any.whl.
File metadata
- Download URL: hey_cli_python-1.0.2-py3-none-any.whl
- Upload date:
- Size: 14.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee61cdf3cdfa094bb86596a4a470ea3588e4840c67ab990d763ed7e1bd40f15f
|
|
| MD5 |
0cce9edc5a332600c3552dd92f8148a8
|
|
| BLAKE2b-256 |
f8cfe64a79fd2ef9457f9d8ca812f0a19676e5f9b42e50b95df8f45f8a07df21
|