How to use from
llama.cpp
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf josharsh/harshell:Q8_0
# Run inference directly in the terminal:
llama cli -hf josharsh/harshell:Q8_0
Install from WinGet (Windows)
winget install llama.cpp
# Start a local OpenAI-compatible server with a web UI:
llama serve -hf josharsh/harshell:Q8_0
# Run inference directly in the terminal:
llama cli -hf josharsh/harshell:Q8_0
Use pre-built binary
# Download pre-built binary from:
# https://github.com/ggerganov/llama.cpp/releases
# Start a local OpenAI-compatible server with a web UI:
./llama-server -hf josharsh/harshell:Q8_0
# Run inference directly in the terminal:
./llama-cli -hf josharsh/harshell:Q8_0
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
cmake -B build
cmake --build build -j --target llama-server llama-cli
# Start a local OpenAI-compatible server with a web UI:
./build/bin/llama-server -hf josharsh/harshell:Q8_0
# Run inference directly in the terminal:
./build/bin/llama-cli -hf josharsh/harshell:Q8_0
Use Docker
docker model run hf.co/josharsh/harshell:Q8_0
Quick Links

Harshell - Natural Language to macOS Shell Commands

Harshell is a fine-tuned Qwen 2.5 1.5B model that converts natural language into macOS shell commands. It returns only the command โ€” no explanations, no markdown, just the shell command you need.

Model Details

Property Value
Base Model Qwen 2.5 1.5B
Fine-tuning LoRA (rank 8, 1000 iterations)
Quantization Q8_0 GGUF
File Size ~1.5 GB
License Apache 2.0

Quick Start with Ollama

  1. Download the GGUF and Modelfile from this repo
  2. Create the model:
ollama create harshell -f Modelfile
  1. Run it:
ollama run harshell "list all pdf files in my downloads folder"

Example Usage

Input Output
list all pdf files in downloads find ~/Downloads -name "*.pdf"
show disk usage of current folder du -sh .
kill the process on port 3000 lsof -ti:3000 | xargs kill
compress this folder into a zip zip -r archive.zip .
show my ip address ifconfig | grep "inet " | grep -v 127.0.0.1

System Prompt

The model uses this system prompt:

You are a macOS terminal assistant. Convert natural language into safe shell commands. Return only the command, nothing else.

Ollama Modelfile

The included Modelfile configures:

  • Temperature: 0.3 (low for deterministic command output)
  • Top-p: 0.9
  • Max tokens: 128
  • Chat template: ChatML format (<|im_start|> / <|im_end|>)

Training Details

  • Method: LoRA (Low-Rank Adaptation)
  • LoRA Rank: 8
  • Training iterations: 1000
  • Base model: Qwen/Qwen2.5-1.5B
  • Dataset: Curated natural language โ†’ macOS shell command pairs
  • Quantization: Converted to GGUF Q8_0 using llama.cpp

Files

  • harsh-shell-q8_0.gguf โ€” The quantized model (Q8_0, ~1.5GB)
  • Modelfile โ€” Ollama configuration file

Limitations

  • Optimized for macOS commands; Linux/Windows commands may be less accurate
  • Best for single-line commands; complex multi-line scripts may not generate correctly
  • Always review generated commands before running them, especially destructive operations (rm, mv, etc.)
Downloads last month
12
GGUF
Model size
2B params
Architecture
qwen2
Hardware compatibility
Log In to add your hardware

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for josharsh/harshell

Adapter
(449)
this model