Skip to content
This repository was archived by the owner on Jul 13, 2026. It is now read-only.

Commit 795a7fe

Browse files
committed
updated README.md for Version 1.0.3 new features
1 parent 952390b commit 795a7fe

1 file changed

Lines changed: 187 additions & 154 deletions

File tree

README.md

Lines changed: 187 additions & 154 deletions
Original file line numberDiff line numberDiff line change
@@ -1,192 +1,225 @@
1-
# DeepShell: Your Universal LLM Command-Line Interface
1+
<div align="center">
2+
<h1>DeepShell</h1>
3+
<p><strong>Your Universal LLM Command-Line Interface</strong></p>
4+
</div>
25

36
[![Python Version](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/)
7+
<!-- Add other badges as appropriate, e.g., license, build status, etc. -->
48

5-
<!-- Add other badges as appropriate, e.g., license, build status -->
9+
**DeepShell** is a powerful and versatile command-line program 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 terminal interface.
610

7-
**DeepShell**: Your Universal LLM Command-Line Interface
8-
9-
**DeepShell** is a powerful and versatile command-line program that seamlessly blends the familiar environment of your local shell with the immense knowledge and capabilities of Large Language Models (LLMs). Imagine having direct, remote access to the world's most advanced AI models—from local Ollama instances to cloud-based services like Google's Gemini—all unified within your terminal.
10-
11-
Designed for developers, researchers, and power users who demand precision, flexibility, and efficiency, DeepShell cuts through 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. Whether you're generating code snippets, summarizing extensive documents, brainstorming complex ideas, or crafting creative text, DeepShell makes it effortless.
12-
13-
Say goodbye to juggling multiple tools! With DeepShell, your command line isn't just for local commands anymore; it's your portal to a new dimension of intelligent interaction, empowering you with efficient, configurable LLM access.
11+
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.
1412

1513
## ✨ Features
1614

17-
* **Multi-LLM Support:**
18-
* Seamlessly connect to **Ollama** servers (local or remote).
19-
* Integrate with **Google Gemini API**.
20-
* Easily switch between configured LLM services.
21-
* **Interactive Setup & Configuration:**
22-
* User-friendly setup wizard (`-s`) to guide you through initial configuration.
23-
* Manages LLM service details, including server addresses (Ollama) and API keys (Gemini).
24-
* Stores configuration securely in `~/.deepshell/deepshell.conf`.
25-
* **Flexible Model Management:**
26-
* List available models from your connected LLM service.
27-
* Set and change default models per service (`-model`).
28-
* **Gemini API Key Management:**
29-
* Store and manage multiple Gemini API keys with user-defined nicknames.
30-
* Easily switch between active Gemini API keys (`-set-key`).
31-
* Display the currently active Gemini API key (`-show-key`).
32-
* Quick link to check your Gemini API usage (`-gq`).
33-
* **Intuitive Querying:**
34-
* Send queries directly from your command line (`-q` or `--query`).
35-
* Engaging progress animation while waiting for LLM responses.
36-
* **User-Friendly Interface:**
37-
* Clear, colored console output for enhanced readability.
38-
* Well-formatted and alphabetized help messages (`-h`).
39-
* View active configuration details (`-show-config`).
40-
* Option to delete your configuration (`-d`).
41-
42-
## 🚀 Why DeepShell?
43-
44-
* **Unified Experience:** Access different LLMs without context switching.
45-
* **Efficiency:** Quickly query models and manage configurations from your terminal.
46-
* **Customizable:** Tailor DeepShell to your preferred models and services.
47-
* **Developer-Friendly:** Built with Python, making it easy to understand and extend.
48-
* **Local First, Cloud Ready:** Perfect for local development with Ollama and scalable with cloud LLMs like Gemini.
15+
* **Multi-LLM Support:**
16+
* Seamlessly connect to **Ollama** servers (local or remote).
17+
* Integrate with the **Google Gemini API**.
18+
* **Unified & Interactive Configuration:**
19+
* A central, user-friendly settings menu (`-s`) guides you through all configuration tasks.
20+
* Manages LLM service details, including server addresses (Ollama) and API keys (Gemini).
21+
* Stores configuration securely in `~/.deepshell/deepshell.conf`.
22+
* **Flexible Service & Model Management:**
23+
* Easily switch between configured LLM services (`-l`).
24+
* Quickly jump back to the previously used LLM service (`-j`).
25+
* List available models from your connected LLM service and change the default model per service (`-m`).
26+
* **Advanced Gemini API Key Management:**
27+
* Store and manage multiple Gemini API keys with user-defined nicknames.
28+
* Easily add new keys or set an active key from your stored list (`-set-key`).
29+
* Display the currently active Gemini API key's nickname and value (`-show-key`).
30+
* Quickly check your Gemini API key status and get a link to your usage dashboard (`-gq`).
31+
* **Intuitive User Experience:**
32+
* Send queries directly from your command line (`-q`).
33+
* Beautiful Markdown rendering for LLM responses in the terminal, powered by `rich`.
34+
* Engaging progress animation while waiting for the LLM.
35+
* Clear, colored console output for enhanced readability.
36+
* Well-formatted and alphabetized help messages (`-h`).
4937

5038
## 🛠️ Installation
5139

5240
1. **Prerequisites:**
53-
54-
* Python 3.7 or higher.
55-
* `pip` (Python package installer).
41+
* Python 3.7 or higher.
42+
* `pip` (Python package installer).
5643

5744
2. **Clone the Repository:**
58-
59-
```bash
60-
git clone <your-repository-url> # Replace with your actual repo URL
61-
cd deepshell
62-
```
63-
64-
3. **Install Dependencies (If running the python file):**
65-
DeepShell uses the `requests` library for API communication, but all required modules will be listed in `modules.txt`.
66-
67-
```bash
68-
pip install requests chardet
69-
```
70-
71-
4. **Run Python version:**
72-
73-
```bash
74-
python3 main.py
75-
```
76-
77-
5. **Run Executable Binary Release :**
78-
79-
```bash
80-
./deepshell
81-
```
45+
```bash
46+
git clone https://github.com/ashes00/deepshell.git
47+
cd deepshell
48+
```
49+
50+
3. **Install Dependencies:**
51+
The required Python modules are listed in `modules.txt`. You can install them manually or use the provided development setup script.
52+
```bash
53+
pip install -r <(grep -vE "^\s*#|^\s*$" modules.txt)
54+
```
55+
56+
4. **Run DeepShell:**
57+
* **From source:**
58+
```bash
59+
python3 main.py [OPTIONS]
60+
```
61+
* **As an executable** (if you've built one):
62+
```bash
63+
./deepshell [OPTIONS]
64+
```
8265
8366
## 🏁 Getting Started: Initial Setup
8467
85-
The first time you run DeepShell, or if you want to reconfigure, use the `-s` flag:
68+
The first time you run DeepShell, or anytime you want to manage settings, use the `-s` or `--setup` flag:
8669
8770
```bash
88-
./deepshell -s (or --setup)
71+
./deepshell -s
8972
```
9073
91-
This will launch an interactive wizard that helps you:
92-
93-
1. Choose an LLM service to configure (Ollama or Gemini).
94-
2. **For Ollama:** Enter your Ollama server address and select a default model.
95-
3. **For Gemini:** Manage your API keys (add, set active) and select a default model.
74+
This launches a comprehensive, interactive menu that allows you to:
75+
1. **Add or Reconfigure LLM Services:**
76+
* **For Ollama:** Enter your server address (e.g., `http://localhost:11434`) and select a default model from those available on your server.
77+
* **For Gemini:** Manage your API keys (add, remove, set active) and select a default model from the Gemini API.
78+
2. **Switch** the active LLM service.
79+
3. **Change** the default model for the currently active service.
80+
4. **Manage** Gemini API keys specifically.
81+
5. **View** your current configuration or **delete** it entirely.
9682
9783
Your settings will be saved to `~/.deepshell/deepshell.conf`.
9884
9985
## 💻 Usage & Command-Line Options
10086
101-
Here are some common ways to use DeepShell:
102-
103-
* **Querying the Active LLM:**
104-
105-
```bash
106-
./deepshell -q (or --query) "What are the benefits of using a CLI for LLM interaction?"
107-
```
108-
109-
* **Changing the Default Model for the Active Service:**
110-
111-
```bash
112-
./deepshell -model (or --model-change)
113-
```
114-
115-
(This will list available models and prompt you to choose a new default.)
116-
117-
* **Switching or Configuring LLM Services:**
118-
119-
```bash
120-
./deepshell -l (or --llm)
121-
```
122-
123-
(This allows you to switch between already configured services like Ollama and Gemini, or add/reconfigure one.)
124-
125-
* **Managing Gemini API Keys:**
126-
127-
* Add a new key or set an existing one as active:
128-
129-
```bash
130-
./deepshell -set-key (or --set-api-key)
131-
```
132-
133-
* Show the currently active Gemini API key nickname and value:
134-
135-
```bash
136-
./deepshell -show-key (or --show-api-key)
137-
```
138-
139-
* Get information on checking your Gemini API quota:
140-
141-
```bash
142-
./deepshell -gq (or --gemini-quota)
143-
```
87+
### Primary Usage
14488
145-
* **Viewing Active Configuration:**
146-
147-
```bash
148-
./deepshell -show-config (or --show-full-config)
149-
```
150-
151-
* **Getting Help:**
152-
153-
```bash
154-
./deepshell -h (or --help)
155-
```
156-
157-
* **Checking Version:**
158-
159-
```bash
160-
./deepshell -v (or --version)
161-
```
162-
163-
* **Deleting Configuration:** (Use with caution!)
164-
165-
```bash
166-
./deepshell -d (or --delete-config)
167-
```
89+
**Query the active LLM**
90+
```bash
91+
./deepshell -q "What are the benefits of using a CLI for LLM interaction?"
92+
./deepshell --query "Write a python function to calculate a factorial"
93+
```
94+
95+
### LLM & Model Management
96+
97+
**Enter the main settings menu**
98+
```bash
99+
./deepshell -s (or --setup)
100+
```
101+
102+
**Switch active service or configure services** (shortcut to a settings sub-menu)
103+
```bash
104+
./deepshell -l (or --llm)
105+
```
106+
107+
**Quickly jump to the previously used LLM service**
108+
```bash
109+
./deepshell -j (or --jump-llm)
110+
```
111+
112+
**Change the default model for the active service** (shortcut)
113+
```bash
114+
./deepshell -m (or --model-change)
115+
```
116+
117+
### Gemini-Specific Commands
118+
119+
**Interactively manage Gemini API keys** (add, remove, set active)
120+
```bash
121+
./deepshell -set-key (or --set-api-key)
122+
```
123+
124+
**Show the active Gemini API key nickname and value**
125+
```bash
126+
./deepshell -show-key (or --show-api-key)
127+
```
128+
129+
**Check Gemini API key status and get quota info**
130+
```bash
131+
./deepshell -gq (or --gemini-quota)
132+
```
133+
134+
### Configuration & Info
135+
136+
**Display the currently active configuration details**
137+
```bash
138+
./deepshell -show-config (or --show-full-conf)
139+
```
140+
141+
**Delete the entire configuration file** (use with caution!)
142+
```bash
143+
./deepshell -d (or --delete-config)
144+
```
145+
146+
**Show the help message**
147+
```bash
148+
./deepshell -h (or --help)
149+
```
150+
151+
**Show the program's version**
152+
```bash
153+
./deepshell -v (or --version)
154+
```
168155

169156
## ⚙️ Configuration File
170157

171158
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.
172159

173-
The configuration includes:
174-
175-
* `active_llm_service`: The currently selected LLM service (e.g., "ollama" or "gemini").
176-
* `llm_services`: A dictionary containing specific configurations for each service:
177-
* **Ollama:** `server_address` and default `model`.
178-
* **Gemini:** A list of `api_keys` (each with a `nickname` and `key` value), the `active_api_key_nickname`, and the default `model`.
160+
An example configuration might look like this:
161+
```json
162+
{
163+
"active_llm_service": "gemini",
164+
"previous_active_llm_service": "ollama",
165+
"llm_services": {
166+
"ollama": {
167+
"server_address": "http://localhost:11434",
168+
"model": "llama3:latest",
169+
"render_markdown": true
170+
},
171+
"gemini": {
172+
"api_keys": [
173+
{
174+
"nickname": "personal-key",
175+
"key": "BIsa8y..."
176+
}
177+
],
178+
"active_api_key_nickname": "personal-key",
179+
"model": "models/gemini-1.5-flash",
180+
"render_markdown": true
181+
}
182+
}
183+
}
184+
```
179185

180186
## 🤖 Supported LLMs
181187

182-
* **Ollama:** Connect to any Ollama instance serving models like Llama, Mistral, etc.
183-
* **Google Gemini:** Access Gemini models (e.g., `gemini-pro`) via the Google AI Studio API.
184-
185-
*(Support for more LLM providers can be added in the future!)*
188+
----
189+
* **Ollama:** Connect to any Ollama instance serving models like Llama, Mistral, etc.
190+
* **Google Gemini:** Access Gemini models (e.g., `gemini-1.5-pro`, `gemini-1.5-flash`) via the Google AI Studio API.
186191

187192
---
188193

189-
We hope DeepShell enhances your productivity and makes interacting with LLMs a breeze!
190-
If you have suggestions or encounter issues, please feel free to open an issue on the project repository.
194+
## ⚙️ Pro Tip
195+
196+
1. Copy deepshell to your Environment path:
197+
```bash
198+
nano .bashrc
199+
export PATH=$PATH:/home/user/APPS-DIR
200+
```
201+
2. Create an aliases for ds & dsq for quick keyboard actions.
202+
```bash
203+
nano .bashrc
204+
alias ds="deepshell"
205+
alias dsq="deepshell -q"
206+
```
207+
3. Save .bashrc file.
208+
```bash
209+
Ctrl+s & Ctrl+x
210+
```
211+
4. Update your .bashrc file to use commands
212+
```bash
213+
source .bashrc
214+
```
215+
5. Us the alias to quickly query the LLM
216+
```bash
217+
dsq What is the best LLM?
218+
```
219+
6. Use the alias to quickly access features
220+
```bash
221+
ds -v
222+
```
223+
224+
Happy Querying!
191225

192-
Happy Hacking!

0 commit comments

Comments
 (0)