Your Universal LLM Command-Line Interface

As of July 2026, Deepshell is officially archived and no longer under active development.
When Deepshell was launched, bringing streamlined AI access directly into the terminal solved a wide-open workflow gap. In fact, Deepshell came out before native tools like Claude's CLI or gemini-cli even existed. We are incredibly proud that we anticipated this need and built a functional solution before the tech giants established it as a standard.
Now that these official frontier LLM tools have arrived and matured, the ecosystem has caught up to our original vision. Because these native tools are now the standard, maintaining a bespoke alternative is no longer necessary. We’re glad to have been ahead of the curve, but it's time to pass the torch.
DeepShell is a powerful and versatile command-line program written in C that seamlessly blends the familiar environment of your local shell with the immense knowledge and capabilities of Large Language Models (LLMs). Imagine having direct access to the world's most advanced AI models—from local Ollama instances to cloud-based services like Google's Gemini—all unified within a single, efficient native binary.
Designed for developers, researchers, and power users, DeepShell abstracts away the complexity of API integrations. It offers a streamlined pathway to query both open-source and proprietary LLMs, transforming your command prompt into a conduit for deep AI intelligence with native performance.
-i).save command.-s) guides you through all configuration tasks.~/.deepshell/deepshell.conf.-l).-j).-m).-set-key) supporting both services.-show-key).-a).-gq).-b) with password protection.-c) with confirmation prompts.-q).
-h).For Ubuntu/Debian systems:
# Download the appropriate .deb package for your system
wget https://github.com/ashes00/deepshell/releases/download/1.3.5/deepshell_1.3.5_Ubuntu_24.04_amd64.deb
# Install the package
sudo dpkg -i deepshell-1.3.5-ubuntu-24.04.deb
# Install any missing dependencies
sudo apt-get install -f
For other Linux distributions:
For RPM-based systems (RHEL, CentOS, Fedora, openSUSE):
Install the RPM package:
# Download and import the GPG key
curl -fsSL https://github.com/ashes00/deepshell/releases/download/1.3.5/deepshell-public.key | sudo rpm --import -
# Install the downloaded RPM package (replace with your actual filename)
sudo rpm -i deepshell-*.rpm
# Verify installation
deepshell --version
The first time you run DeepShell, or anytime you want to manage settings, use the -s or --setup flag:
./deepshell -s
This launches a comprehensive, interactive menu that allows you to:
http://localhost:11434) and select a default model from those available on your server.Your settings will be saved to ~/.deepshell/deepshell.conf.
Query the active LLM
./deepshell -q "What are the benefits of using a CLI for LLM interaction?"
./deepshell --query "Write a function to calculate a factorial"
Enter the main settings menu
./deepshell -s (or --setup)
Switch active service or configure services (shortcut to a settings sub-menu)
./deepshell -l (or --llm)
Quickly jump to the previously used LLM service
./deepshell -j (or --jump-llm)
Change the default model for the active service (shortcut)
./deepshell -m (or --model-change)
Interactively manage API keys for LLM services (Gemini or OpenRouter)
./deepshell -set-key (or --set-api-key)
Show the active API key for current LLM service
./deepshell -show-key (or --show-api-key)
Quick summary of active LLM, model, and API key
./deepshell -a (or --active-config)
Check Gemini API key status and get quota info
./deepshell -gq (or --gemini-quota)
Export configuration to encrypted backup file
./deepshell -b mybackup.config (or --export mybackup.config)
Import configuration from encrypted backup file
./deepshell -c mybackup.config (or --import mybackup.config)
Display the currently active configuration details
./deepshell -show-config (or --show-full-conf)
Delete the entire configuration file (use with caution!)
./deepshell -d (or --delete-config)
Show the help message
./deepshell -h (or --help)
Show the program's version
./deepshell -v (or --version)
Start an interactive chat session
./deepshell -i (or --interactive)
When using interactive mode (-i), you have access to special commands in addition to your regular queries:
Exit the interactive session:
exit
quit
Save the last response to a markdown file:
save [filename]
Open a text file as input query:
open [filepath]
Show help for all interactive commands:
help
Save with automatic filename prompt:
> What are the benefits of using a CLI for LLM interaction?
[LLM provides detailed response with markdown formatting]
> save
Enter filename (.md extension will be added automatically): research-notes
Save successful!
File saved to: /home/user/Downloads/research-notes.md
Save with direct filename:
> Explain the concept of machine learning
[LLM provides detailed response]
> save ml-explanation
Save successful!
File saved to: /home/user/Downloads/ml-explanation.md
Save with existing .md extension:
> How do neural networks work?
[LLM provides detailed response]
> save neural-networks-guide.md
Save successful!
File saved to: /home/user/Downloads/neural-networks-guide.md
.md extension if not providedOpen file with instructions:
> open /home/user/data.txt
Enter instructions for the LLM about this data: Please analyze this data and tell me if it's correct
[LLM processes the file content with your instructions]
Open file with default analysis:
> open ../documents/notes.md
Enter instructions for the LLM about this data: [Press Enter for default]
[LLM processes with "Please analyze this data"]
DeepShell stores its configuration in a JSON file located at ~/.deepshell/deepshell.conf. While you can view this file, it's recommended to manage settings through DeepShell's command-line options for safety and ease of use.
An example configuration might look like this:
{
"active_llm_service": "openrouter",
"previous_active_llm_service": "gemini",
"interactive_history_limit": 25,
"enable_streaming": false,
"show_progress_animation": true,
"ollama": {
"server_address": "http://localhost:11434",
"model": "llama3:latest",
"render_markdown": true
},
"gemini": {
"api_keys": [
{
"nickname": "personal-key",
"key": "AIza..."
}
],
"active_api_key_nickname": "personal-key",
"model": "models/gemini-1.5-flash",
"render_markdown": true
},
"openrouter": {
"api_keys": [
{
"nickname": "work-account",
"key": "sk-or-v1-..."
}
],
"active_api_key_nickname": "work-account",
"model": "openai/gpt-4o",
"site_url": "https://myproject.com",
"site_name": "My Project",
"render_markdown": true
}
}
The C version offers several advantages over interpreted languages:
gemini-1.5-pro, gemini-1.5-flash) via the Google AI Studio API.Copy deepshell to your Environment path:
Create aliases for ds & dsq for quick keyboard actions:
Save .bashrc file:
Update your .bashrc file to use commands:
Use the alias dsq to quickly query the LLM:
Use the alias ds to quickly access features with options:
Use the alias dsi to enter interactive mode:
Happy Querying!!!
dsi
ds -v
dsq What is the best LLM?
source .bashrc
Ctrl+s & Ctrl+x
nano .bashrc
alias dsq="deepshell -q"
alias ds="deepshell"
alias dsi="deepshell -i"
sudo cp deepshell /usr/local/bin/
Before building DeepShell from source, ensure you have the following dependencies installed:
Required Libraries:
gcc - C compiler and build toolslibcurl4-openssl-dev - For HTTP/HTTPS requestslibjson-c-dev - For JSON parsing and manipulationlibreadline-dev - For interactive command-line features1. Clone the Repository:
git clone https://github.com/ashes00/deepshell.git
cd deepshell
2. Install Dependencies:
For Ubuntu/Debian systems:
sudo apt-get update
sudo apt-get install -y libcurl4-openssl-dev libjson-c-dev libreadline-dev gcc make
For RHEL/CentOS/Fedora systems:
sudo yum install -y libcurl-devel json-c-devel readline-devel gcc make
# or for newer versions:
sudo dnf install -y libcurl-devel json-c-devel readline-devel gcc make
For openSUSE systems:
sudo zypper install -y libcurl-devel libjson-c-devel readline-devel gcc make
3. Build DeepShell:
make
4. Run DeepShell:
./deepshell --help
Clean build artifacts:
make clean
Build with debug information:
make debug
Build optimized release version:
make release
Install dependencies automatically (Linux only):
make install-deps-linux
The DeepShell C codebase consists of the following main components:
main.c - Entry point and command-line argument parsingsettings.c - Configuration management and settings menugemini.c - Google Gemini API integrationollama.c - Ollama server integrationopenrouter.c - OpenRouter.ai API integrationinteractive.c - Interactive chat mode implementationutils.c - Utility functions and helpersconfig.c - Configuration file I/O operationsdeepshell.h - Header file with function declarations and constantsgit checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)| Component | Purpose | Package Name (Ubuntu/Debian) |
|---|---|---|
| C Compiler | Compile source code | gcc |
| Build Tools | Make system | make |
| HTTP Library | API requests | libcurl4-openssl-dev |
| JSON Library | JSON parsing | libjson-c-dev |
| Readline Library | Interactive features | libreadline-dev |
This project is licensed under the UNLICENSE.
Happy Querying!!!
No reviews yet. Be the first to rate this tool.
Sign in to leave a review.