Smart-Shell
Smart-Shell turns plain English into Bash or Zsh commands, checks them for risk, and runs them after you confirm. It works with any OpenAI-compatible chat API: Gemini, OpenAI, DeepSeek, OpenRouter, Groq, or a local model through Ollama or LM Studio (fully offline).
Features
- Natural language to commands for Bash and Zsh, with the shell detected automatically.
- Any OpenAI-compatible provider. Built-in presets for gemini, openai, deepseek, openrouter, groq, ollama and lmstudio, plus
customfor any base URL. - Offline mode with Ollama or LM Studio: no API key, nothing leaves your machine.
- Safety checks on every command: blocked, high, medium, info_leak and safe. Blocked commands never run; high and medium need a y/n confirmation.
- Multi-step plans run in one shell, joined with
&&, stopping at the first failure. - Dry-run mode (
--dry-run) to preview without executing. - Interactive REPL with history and
!commands (!models,!model <name>,!redo,!errors, ...). - No stored sudo password.
sudoprompts in your terminal as usual. - Self-update with
!update, a desktop entry, and Bash/Zsh tab completion from the installer.
Install
curl -sSL https://raw.githubusercontent.com/Lusan-sapkota/smart-shell/main/install.sh | bash
The script installs Smart-Shell with uv (or pipx if you don't have uv), adds tab completion and a desktop entry, and runs the setup wizard.
Already use uv? Skip the script:
uv tool install git+https://github.com/Lusan-sapkota/smart-shell
Then:
smart-shell setup # pick a provider, enter a key if needed, choose a default model
smart-shell # start the interactive shell
smart-shell run "find files over 100MB in my home folder" --dry-run
To run fully offline with a local model, see Using local models (Ollama). For a manual or development install, see Development.
Uninstall
curl -sSL https://raw.githubusercontent.com/Lusan-sapkota/smart-shell/main/install.sh | bash -s -- --uninstall
rm -rf ~/.config/smart-shell ~/.local/share/smart-shell # also delete config and history
Details in Uninstall.
Documentation
- Features
- Installation
- Usage
- Safety
- Uninstall
- Development
- API Reference
- FAQ
- Changelog
- Future Changes
- Contributing
- Author
Full documentation: smart-shell.lusansapkota.com.np.
License
Apache 2.0. See LICENSE.
Author
Created by Lusan Sapkota.
Disclaimer
Smart-Shell is an AI assistant and can generate wrong or unsafe commands. Always read a command before you confirm it, especially anything that modifies the system or touches sensitive data.
Metadata
Release files for smart-shell-cli 1.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| smart_shell_cli-1.1.0.tar.gz | 31.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smart_shell_cli-1.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 63.3 kB
Release files / smart_shell_cli-1.1.0.tar.gz
| Download URL | smart_shell_cli-1.1.0.tar.gz |
|---|---|
| Size | 31.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c943993b36046a6cd23e9e407903b70c221c85121922c9f53d7827cc4c6d12ec
|
|
BLAKE2b-256 checksum How to use checksums |
24a222a4f4575d32dcd927aa9fbad6f094e1fc9339d4a90cbd746aa8c0e1d469
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency logRelease files / smart_shell_cli-1.1.0-py3-none-any.whl
| Download URL | smart_shell_cli-1.1.0-py3-none-any.whl |
|---|---|
| Size | 31.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb46864060ab22852db162ff17c28ffc1d5dac29f73ef1a77f10bfa26568ff55
|
|
BLAKE2b-256 checksum How to use checksums |
270aa5f00d42a18700802bba510b80b54d030556d6d35b2820940350b965abc8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.
Transparency log