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

Commit 99ef69d

Browse files
committed
Initial Code Dump
1 parent 309fcc4 commit 99ef69d

4 files changed

Lines changed: 1578 additions & 2 deletions

File tree

README.md

Lines changed: 192 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,192 @@
1-
# deepshell
2-
Your Universal LLM Command-Line Interface
1+
# DeepShell: Your Universal LLM Command-Line Interface
2+
3+
[![Python Version](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/)
4+
5+
<!-- Add other badges as appropriate, e.g., license, build status -->
6+
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.
14+
15+
## ✨ Features
16+
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.
49+
50+
## 🛠️ Installation
51+
52+
1. **Prerequisites:**
53+
54+
* Python 3.7 or higher.
55+
* `pip` (Python package installer).
56+
57+
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+
```
82+
83+
## 🏁 Getting Started: Initial Setup
84+
85+
The first time you run DeepShell, or if you want to reconfigure, use the `-s` flag:
86+
87+
```bash
88+
./deepshell -s (or --setup)
89+
```
90+
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.
96+
97+
Your settings will be saved to `~/.deepshell/deepshell.conf`.
98+
99+
## 💻 Usage & Command-Line Options
100+
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+
```
144+
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+
```
168+
169+
## ⚙️ Configuration File
170+
171+
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.
172+
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`.
179+
180+
## 🤖 Supported LLMs
181+
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!)*
186+
187+
---
188+
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.
191+
192+
Happy Hacking!

dist/deepshell

10.3 MB
Binary file not shown.

0 commit comments

Comments
 (0)