A tiny Linux command whisperer that suggests shell commands based on natural language.
Project description
A tiny Linux command whisperer (Alpha version)
WHIS is a tiny Linux command whisperer/generator based on LLM, written in Python.
The main goals are:
- minimal interruption of the workflow
- fast
- free and unlimited suggestions (with local LLM)
- privacy (with local LLM)
- minimalistic interface
Alpha version
Please note that this is an Alpha version and is not ready for production use.
So far it's only tested on Ubuntu 24.04 and Python 3.12.
Usage
Install
- Install pipx
- Follow the official guide: https://github.com/pipxproject/pipx
- Install WHIS with pipx
pipx install whis
- Configure your provider and model by either
- a) Config file:
~/.config/whis/config.toml(orXDG_CONFIG_HOME/whis/config.tomlif you use a different location)- create/edit the file with:
llm_provider = "ollama" # e.g. ollama, openai llm_model = "qwen2:7b" # e.g. qwen2:7b, gpt-4o-mini
- create/edit the file with:
- b) Environment variables (have priority over config file)
WHIS_LLM_PROVIDERWHIS_LLM_MODEL
- a) Config file:
- Run
whisinteractive session by runningwhisin terminal
Todo (business logic)
- one-shot mode:
whis "list mp3 files"without the interactive session explaincommand that sends request for a brief explanation of the command- should use a new conversation without a previous context
continue- loads old session and continues refining- API support
- Gemini
- Anthropic
- OpenAI-compatible API (LM Studio, LocalAI...)
- dangerous commands red warning (e.g.
rmstuff) whisinner history - arrow up should get the latest input even after session restart-
interactive configuration
whis config- provider, model
- action - copy+paste, copy, maybe execute?
- other modes (current "quit then paste" feels unreliable)
- copy to clipboard
- execute directly (dangerous)
- more dynamic context in system prompt (OS, pwd, git branch, etc.) - some might need user permission
- command syntax check before suggestion
- use one specific color for all responses and another for user inputs
Todo (technical)
- Python versions support (3.10+)
- tests
- consider click for CLI
- checks
- flake8
- black
- isort
- mypy
- better command pasting (now it uses xdotool and xclip with process forking) using bash functions
- there seems to be a conflict between
blackandruff
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 whis-0.1.0a5.tar.gz.
File metadata
- Download URL: whis-0.1.0a5.tar.gz
- Upload date:
- Size: 12.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c74e5f49c8c4b53e44edec9082a772b1501b39b061d8d11c7d0cb6a3a1715d9
|
|
| MD5 |
7f43da2647b00fc5b4150496ee38c42f
|
|
| BLAKE2b-256 |
49d7e908a4a94ab0dc295294d1c7dfa3f8b5595a12c68b6919cca7bc2374bc1d
|
File details
Details for the file whis-0.1.0a5-py3-none-any.whl.
File metadata
- Download URL: whis-0.1.0a5-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
153b597b124f26d341aa713b0838b107539ba9ee4e26635e51e902b66a8553b4
|
|
| MD5 |
f53a9c5c7b2edee710f515f225c1c08b
|
|
| BLAKE2b-256 |
bc1fe23d67b6ac965d906c1596d207e62dcba71e0e64779475e2923d2fdd9241
|