ngpt 3.4.5__tar.gz → 3.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ngpt-3.4.5 → ngpt-3.5.1}/CONTRIBUTING.md +2 -2
- {ngpt-3.4.5 → ngpt-3.5.1}/PKG-INFO +94 -125
- ngpt-3.5.1/PKGBUILD +26 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/README.md +92 -122
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/CONTRIBUTING.md +2 -2
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/configuration.md +74 -58
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/index.md +8 -2
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/installation.md +21 -3
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/overview.md +9 -2
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/usage/cli_usage.md +117 -58
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/usage/gitcommsg.md +6 -9
- ngpt-3.5.1/docs/usage/web_search.md +116 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/usage.md +2 -1
- ngpt-3.5.1/ngpt/utils/web_search.py +630 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/pyproject.toml +2 -3
- ngpt-3.5.1/uv.lock +277 -0
- ngpt-3.4.5/PKGBUILD +0 -66
- ngpt-3.4.5/ngpt/utils/web_search.py +0 -310
- ngpt-3.4.5/uv.lock +0 -796
- {ngpt-3.4.5 → ngpt-3.5.1}/.github/workflows/aur-publish.yml +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/.github/workflows/python-publish.yml +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/.gitignore +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/.python-version +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/COMMIT_GUIDELINES.md +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/LICENSE +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/LICENSE.md +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/_config.yml +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/_sass/custom/custom.scss +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/examples/advanced.md +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/examples/basic.md +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/examples.md +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/docs/usage/cli_config.md +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/__init__.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/__main__.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/__init__.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/args.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/config_manager.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/formatters.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/main.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/__init__.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/chat.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/code.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/gitcommsg.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/interactive.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/rewrite.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/shell.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/modes/text.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/renderers.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/cli/ui.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/client.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/utils/__init__.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/utils/cli_config.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/utils/config.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/ngpt/utils/log.py +0 -0
- {ngpt-3.4.5 → ngpt-3.5.1}/wiki.md +0 -0
@@ -28,15 +28,15 @@ Thank you for your interest in contributing to NGPT! This document provides guid
|
|
28
28
|
- `args.py` - Argument parsing setup
|
29
29
|
- `config_manager.py` - CLI configuration handling
|
30
30
|
- `formatters.py` - Output formatting logic
|
31
|
-
- `interactive.py` - Interactive mode implementation
|
32
31
|
- `modes/` - Different operational modes
|
33
32
|
- `__init__.py` - Modes initialization
|
34
33
|
- `chat.py` - Chat mode functionality
|
35
34
|
- `code.py` - Code generation mode
|
36
35
|
- `gitcommsg.py` - Git commit message generation
|
36
|
+
- `interactive.py` - Interactive mode implementation
|
37
|
+
- `rewrite.py` - Text rewriting mode
|
37
38
|
- `shell.py` - Shell command generation
|
38
39
|
- `text.py` - Text generation mode
|
39
|
-
- `rewrite.py` - Text rewriting mode
|
40
40
|
- `renderers.py` - Output rendering logic (e.g., markdown)
|
41
41
|
- `ui.py` - User interface elements (e.g., prompts, spinners)
|
42
42
|
- `utils/` - Utility modules
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: ngpt
|
3
|
-
Version: 3.
|
3
|
+
Version: 3.5.1
|
4
4
|
Summary: Swiss army knife for LLMs: powerful CLI and interactive chatbot in one package. Seamlessly work with OpenAI, Ollama, Groq, Claude, Gemini, or any OpenAI-compatible API to generate code, craft git commits, rewrite text, and execute shell commands.
|
5
5
|
Project-URL: Homepage, https://github.com/nazdridoy/ngpt
|
6
6
|
Project-URL: Repository, https://github.com/nazdridoy/ngpt
|
@@ -28,12 +28,11 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
28
28
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
29
29
|
Classifier: Topic :: Utilities
|
30
30
|
Requires-Python: >=3.8
|
31
|
-
Requires-Dist:
|
31
|
+
Requires-Dist: beautifulsoup4>=4.12.0
|
32
32
|
Requires-Dist: prompt-toolkit>=3.0.0
|
33
33
|
Requires-Dist: pyperclip>=1.8.0
|
34
34
|
Requires-Dist: requests>=2.31.0
|
35
35
|
Requires-Dist: rich>=10.0.0
|
36
|
-
Requires-Dist: trafilatura>=1.6.0
|
37
36
|
Description-Content-Type: text/markdown
|
38
37
|
|
39
38
|
# nGPT
|
@@ -62,10 +61,10 @@ Description-Content-Type: text/markdown
|
|
62
61
|
|
63
62
|
- ✅ **Versatile**: Powerful and easy-to-use CLI tool for various AI tasks
|
64
63
|
- 🪶 **Lightweight**: Minimal dependencies with everything you need included
|
65
|
-
- 🔄 **API Flexibility**: Works with OpenAI, Ollama, Groq, Claude, Gemini, and any compatible endpoint
|
64
|
+
- 🔄 **API Flexibility**: Works with OpenAI, Ollama, Groq, Claude, Gemini, and any OpenAI-compatible endpoint
|
66
65
|
- 💬 **Interactive Chat**: Continuous conversation with memory in modern UI
|
67
66
|
- 📊 **Streaming Responses**: Real-time output for better user experience
|
68
|
-
- 🔍 **Web Search**: Enhance any model with contextual information from the web
|
67
|
+
- 🔍 **Web Search**: Enhance any model with contextual information from the web, using advanced content extraction to identify the most relevant information from web pages
|
69
68
|
- 📥 **Stdin Processing**: Process piped content by using `{}` placeholder in prompts
|
70
69
|
- 🎨 **Markdown Rendering**: Beautiful formatting of markdown and code with syntax highlighting
|
71
70
|
- ⚡ **Real-time Markdown**: Stream responses with live updating syntax highlighting and formatting
|
@@ -85,37 +84,47 @@ See the [Feature Overview](https://nazdridoy.github.io/ngpt/overview/) for more
|
|
85
84
|
|
86
85
|
|
87
86
|
## Table of Contents
|
88
|
-
- [Quick Start](#quick-start)
|
89
87
|
- [Features](#features)
|
90
|
-
- [Documentation](#documentation)
|
91
88
|
- [Installation](#installation)
|
89
|
+
- [Quick Start](#quick-start)
|
92
90
|
- [Usage](#usage)
|
91
|
+
- [Command Line Options](#command-line-options)
|
93
92
|
- [Documentation](https://nazdridoy.github.io/ngpt/)
|
94
|
-
|
93
|
+
- [Documentation](#documentation)
|
95
94
|
- [Configuration](#configuration)
|
96
|
-
- [
|
95
|
+
- [API Key Setup](#api-key-setup)
|
96
|
+
- [OpenAI API Key](#openai-api-key)
|
97
|
+
- [Google Gemini API Key](#google-gemini-api-key)
|
97
98
|
- [CLI Configuration](#cli-configuration)
|
98
99
|
- [Interactive Configuration](#interactive-configuration)
|
99
100
|
- [Configuration File](#configuration-file)
|
100
101
|
- [Configuration Priority](#configuration-priority)
|
101
|
-
- [API Key Setup](#api-key-setup)
|
102
|
-
- [OpenAI API Key](#openai-api-key)
|
103
|
-
- [Google Gemini API Key](#google-gemini-api-key)
|
104
102
|
- [Contributing](#contributing)
|
105
103
|
- [License](#license)
|
106
104
|
|
107
|
-
##
|
105
|
+
## Installation
|
108
106
|
|
109
107
|
```bash
|
110
|
-
#
|
108
|
+
# Installation with pip
|
111
109
|
pip install ngpt
|
112
110
|
|
113
|
-
# Or install with uv (faster)
|
111
|
+
# Or install with uv (faster installation)
|
114
112
|
uv pip install ngpt
|
115
113
|
|
116
|
-
# Or install globally as a CLI tool (recommended)
|
114
|
+
# Or install globally as a CLI tool (recommended for command-line usage)
|
117
115
|
uv tool install ngpt
|
118
116
|
|
117
|
+
# Arch Linux: install from AUR
|
118
|
+
paru -S ngpt
|
119
|
+
```
|
120
|
+
|
121
|
+
Requires Python 3.8 or newer.
|
122
|
+
|
123
|
+
For detailed installation instructions, see the [Installation Guide](https://nazdridoy.github.io/ngpt/installation/).
|
124
|
+
|
125
|
+
## Quick Start
|
126
|
+
|
127
|
+
```bash
|
119
128
|
# Chat with default settings
|
120
129
|
ngpt "Tell me about quantum computing"
|
121
130
|
|
@@ -200,58 +209,6 @@ ngpt --provider Groq "Explain quantum computing"
|
|
200
209
|
# Compare outputs from different providers
|
201
210
|
ngpt --provider OpenAI "Explain quantum physics" > openai_response.txt
|
202
211
|
ngpt --provider Ollama "Explain quantum physics" > ollama_response.txt
|
203
|
-
```
|
204
|
-
|
205
|
-
For more examples and detailed usage, visit the [CLI Usage Guide](https://nazdridoy.github.io/ngpt/usage/cli_usage/).
|
206
|
-
|
207
|
-
## Documentation
|
208
|
-
|
209
|
-
Comprehensive documentation, including usage guides and examples, is available at:
|
210
|
-
|
211
|
-
**[https://nazdridoy.github.io/ngpt/](https://nazdridoy.github.io/ngpt/)**
|
212
|
-
|
213
|
-
Key documentation sections:
|
214
|
-
- [Installation Guide](https://nazdridoy.github.io/ngpt/installation/)
|
215
|
-
- [CLI Usage Guide](https://nazdridoy.github.io/ngpt/usage/cli_usage/)
|
216
|
-
- [Configuration Guide](https://nazdridoy.github.io/ngpt/configuration/)
|
217
|
-
- [Examples & Tutorials](https://nazdridoy.github.io/ngpt/examples/basic/)
|
218
|
-
|
219
|
-
## Installation
|
220
|
-
|
221
|
-
```bash
|
222
|
-
# Installation with pip
|
223
|
-
pip install ngpt
|
224
|
-
|
225
|
-
# Or install with uv (faster installation)
|
226
|
-
uv pip install ngpt
|
227
|
-
|
228
|
-
# Or install globally as a CLI tool (recommended for command-line usage)
|
229
|
-
uv tool install ngpt
|
230
|
-
|
231
|
-
# Arch Linux: install from AUR
|
232
|
-
paru -S ngpt
|
233
|
-
```
|
234
|
-
|
235
|
-
Requires Python 3.8 or newer.
|
236
|
-
|
237
|
-
For detailed installation instructions, see the [Installation Guide](https://nazdridoy.github.io/ngpt/installation/).
|
238
|
-
|
239
|
-
## Usage
|
240
|
-
|
241
|
-
### As a CLI Tool
|
242
|
-
|
243
|
-
```bash
|
244
|
-
# Basic chat (default mode)
|
245
|
-
ngpt "Hello, how are you?"
|
246
|
-
|
247
|
-
# Interactive chat session with conversation history
|
248
|
-
ngpt -i
|
249
|
-
|
250
|
-
# Log conversation to a file
|
251
|
-
ngpt --interactive --log conversation.log
|
252
|
-
|
253
|
-
# Use custom system prompt to guide AI behavior
|
254
|
-
ngpt --preprompt "You are a Python programming tutor" "Explain decorators"
|
255
212
|
|
256
213
|
# Show all API configurations
|
257
214
|
ngpt --show-config --all
|
@@ -277,47 +234,16 @@ ngpt -s "list all files in current directory"
|
|
277
234
|
# On Windows generates: dir
|
278
235
|
# On Linux/macOS generates: ls -la
|
279
236
|
|
280
|
-
# Generate
|
281
|
-
# Returns only code without markdown formatting or explanations
|
237
|
+
# Generate code (using -c or --code flag)
|
282
238
|
ngpt -c "create a python function that calculates fibonacci numbers"
|
283
239
|
|
284
240
|
# Use multiline text editor for complex prompts (using -t or --text flag)
|
285
|
-
# Opens an interactive editor with syntax highlighting and intuitive controls
|
286
241
|
ngpt -t
|
287
242
|
```
|
288
243
|
|
289
|
-
For more
|
290
|
-
|
291
|
-
## Configuration
|
292
|
-
|
293
|
-
### API Key Setup
|
294
|
-
|
295
|
-
#### OpenAI API Key
|
296
|
-
1. Create an account at [OpenAI](https://platform.openai.com/)
|
297
|
-
2. Navigate to API keys: https://platform.openai.com/api-keys
|
298
|
-
3. Click "Create new secret key" and copy your API key
|
299
|
-
4. Configure nGPT with your key:
|
300
|
-
```bash
|
301
|
-
ngpt --config
|
302
|
-
# Enter provider: OpenAI
|
303
|
-
# Enter API key: your-openai-api-key
|
304
|
-
# Enter base URL: https://api.openai.com/v1/
|
305
|
-
# Enter model: gpt-3.5-turbo (or other model)
|
306
|
-
```
|
244
|
+
For more examples and detailed usage, visit the [CLI Usage Guide](https://nazdridoy.github.io/ngpt/usage/cli_usage/).
|
307
245
|
|
308
|
-
|
309
|
-
1. Create or use an existing Google account
|
310
|
-
2. Go to [Google AI Studio](https://aistudio.google.com/)
|
311
|
-
3. Navigate to API keys in the left sidebar (or visit https://aistudio.google.com/app/apikey)
|
312
|
-
4. Create an API key and copy it
|
313
|
-
5. Configure nGPT with your key:
|
314
|
-
```bash
|
315
|
-
ngpt --config
|
316
|
-
# Enter provider: Gemini
|
317
|
-
# Enter API key: your-gemini-api-key
|
318
|
-
# Enter base URL: https://generativelanguage.googleapis.com/v1beta/openai
|
319
|
-
# Enter model: gemini-2.0-flash
|
320
|
-
```
|
246
|
+
## Usage
|
321
247
|
|
322
248
|
### Command Line Options
|
323
249
|
|
@@ -326,8 +252,8 @@ For more CLI examples and detailed usage information, see the [CLI Usage Guide](
|
|
326
252
|
usage: ngpt [-h] [-v] [--language LANGUAGE] [--config [CONFIG]] [--config-index CONFIG_INDEX] [--provider PROVIDER]
|
327
253
|
[--remove] [--show-config] [--all] [--list-models] [--list-renderers] [--cli-config [COMMAND ...]]
|
328
254
|
[--api-key API_KEY] [--base-url BASE_URL] [--model MODEL] [--web-search] [--temperature TEMPERATURE]
|
329
|
-
[--top_p TOP_P] [--max_tokens MAX_TOKENS] [--log [FILE]] [--preprompt PREPROMPT] [--no-stream
|
330
|
-
|
255
|
+
[--top_p TOP_P] [--max_tokens MAX_TOKENS] [--log [FILE]] [--preprompt PREPROMPT] [--no-stream | --prettify |
|
256
|
+
--stream-prettify] [--renderer {auto,rich,glow}] [--rec-chunk] [--diff [FILE]] [--chunk-size CHUNK_SIZE]
|
331
257
|
[--analyses-chunk-size ANALYSES_CHUNK_SIZE] [--max-msg-lines MAX_MSG_LINES]
|
332
258
|
[--max-recursion-depth MAX_RECURSION_DEPTH] [-i | -s | -c | -t | -p | -r | -g]
|
333
259
|
[prompt]
|
@@ -346,12 +272,10 @@ options::
|
|
346
272
|
|
347
273
|
Configuration Options::
|
348
274
|
|
349
|
-
--config [CONFIG] Path to a custom config file or, if no value provided, enter interactive
|
350
|
-
configuration mode to create a new config
|
275
|
+
--config [CONFIG] Path to a custom config file or, if no value provided, enter interactive configuration mode to create a new config
|
351
276
|
--config-index CONFIG_INDEX Index of the configuration to use or edit (default: 0)
|
352
277
|
--provider PROVIDER Provider name to identify the configuration to use
|
353
|
-
--remove Remove the configuration at the specified index (requires --config and
|
354
|
-
--config-index or --provider)
|
278
|
+
--remove Remove the configuration at the specified index (requires --config and --config-index or --provider)
|
355
279
|
--show-config Show the current configuration(s) and exit
|
356
280
|
--all Show details for all configurations (requires --show-config)
|
357
281
|
--list-models List all available models for the current configuration and exit
|
@@ -363,30 +287,28 @@ Global Options::
|
|
363
287
|
--api-key API_KEY API key for the service
|
364
288
|
--base-url BASE_URL Base URL for the API
|
365
289
|
--model MODEL Model to use
|
366
|
-
--web-search Enable web search capability
|
367
|
-
feature)
|
290
|
+
--web-search Enable web search capability using DuckDuckGo to enhance prompts with relevant information
|
368
291
|
--temperature TEMPERATURE Set temperature (controls randomness, default: 0.7)
|
369
292
|
--top_p TOP_P Set top_p (controls diversity, default: 1.0)
|
370
293
|
--max_tokens MAX_TOKENS Set max response length in tokens
|
371
|
-
--log [FILE] Set filepath to log conversation to, or create a temporary log file if no path
|
372
|
-
provided
|
294
|
+
--log [FILE] Set filepath to log conversation to, or create a temporary log file if no path provided
|
373
295
|
--preprompt PREPROMPT Set custom system prompt to control AI behavior
|
374
|
-
--
|
375
|
-
|
376
|
-
|
377
|
-
|
296
|
+
--renderer {auto,rich,glow} Select which markdown renderer to use with --prettify or --stream-prettify (auto, rich, or glow)
|
297
|
+
|
298
|
+
Output Display Options (mutually exclusive)::
|
299
|
+
|
300
|
+
--no-stream Return the whole response without streaming or formatting
|
301
|
+
--prettify Render complete response with markdown and code formatting (non-streaming)
|
302
|
+
--stream-prettify Stream response with real-time markdown rendering (default)
|
378
303
|
|
379
304
|
Git Commit Message Options::
|
380
305
|
|
381
306
|
--rec-chunk Process large diffs in chunks with recursive analysis if needed
|
382
|
-
--diff [FILE] Use diff from specified file instead of staged changes. If used without a path,
|
383
|
-
uses the path from CLI config.
|
307
|
+
--diff [FILE] Use diff from specified file instead of staged changes. If used without a path, uses the path from CLI config.
|
384
308
|
--chunk-size CHUNK_SIZE Number of lines per chunk when chunking is enabled (default: 200)
|
385
|
-
--analyses-chunk-size ANALYSES_CHUNK_SIZE
|
386
|
-
Number of lines per chunk when recursively chunking analyses (default: 200)
|
309
|
+
--analyses-chunk-size ANALYSES_CHUNK_SIZE Number of lines per chunk when recursively chunking analyses (default: 200)
|
387
310
|
--max-msg-lines MAX_MSG_LINES Maximum number of lines in commit message before condensing (default: 20)
|
388
|
-
--max-recursion-depth MAX_RECURSION_DEPTH
|
389
|
-
Maximum recursion depth for commit message condensing (default: 3)
|
311
|
+
--max-recursion-depth MAX_RECURSION_DEPTH Maximum recursion depth for commit message condensing (default: 3)
|
390
312
|
|
391
313
|
Modes (mutually exclusive)::
|
392
314
|
|
@@ -394,15 +316,62 @@ Modes (mutually exclusive)::
|
|
394
316
|
-s, --shell Generate and execute shell commands
|
395
317
|
-c, --code Generate code
|
396
318
|
-t, --text Enter multi-line text input (submit with Ctrl+D)
|
397
|
-
-p, --pipe Read from stdin and use content with prompt. Use {} in prompt as placeholder
|
398
|
-
for stdin content
|
319
|
+
-p, --pipe Read from stdin and use content with prompt. Use {} in prompt as placeholder for stdin content
|
399
320
|
-r, --rewrite Rewrite text from stdin to be more natural while preserving tone and meaning
|
400
321
|
-g, --gitcommsg Generate AI-powered git commit messages from staged changes or diff file
|
401
322
|
```
|
402
323
|
|
403
324
|
> **Note**: For better visualization of conventional commit messages on GitHub, you can use the [GitHub Commit Labels](https://greasyfork.org/en/scripts/526153-github-commit-labels) userscript, which adds colorful labels to your commits.
|
404
325
|
|
405
|
-
For a complete reference of all available options, see the [CLI Usage Guide](https://nazdridoy.github.io/ngpt/usage/cli_usage/).
|
326
|
+
For a complete reference of all available options, detailed CLI examples and usage information, see the [CLI Usage Guide](https://nazdridoy.github.io/ngpt/usage/cli_usage/).
|
327
|
+
|
328
|
+
|
329
|
+
## Documentation
|
330
|
+
|
331
|
+
Comprehensive documentation, including usage guides and examples, is available at:
|
332
|
+
|
333
|
+
**[https://nazdridoy.github.io/ngpt/](https://nazdridoy.github.io/ngpt/)**
|
334
|
+
|
335
|
+
Key documentation sections:
|
336
|
+
- [Installation Guide](https://nazdridoy.github.io/ngpt/installation/)
|
337
|
+
- [CLI Usage Guide](https://nazdridoy.github.io/ngpt/usage/cli_usage/)
|
338
|
+
- [Configuration Guide](https://nazdridoy.github.io/ngpt/configuration/)
|
339
|
+
- [Examples & Tutorials](https://nazdridoy.github.io/ngpt/examples/basic/)
|
340
|
+
- [Git Commit Message Guide](https://nazdridoy.github.io/ngpt/usage/gitcommsg/)
|
341
|
+
|
342
|
+
|
343
|
+
## Configuration
|
344
|
+
|
345
|
+
### API Key Setup
|
346
|
+
|
347
|
+
#### OpenAI API Key
|
348
|
+
1. Create an account at [OpenAI](https://platform.openai.com/)
|
349
|
+
2. Navigate to API keys: https://platform.openai.com/api-keys
|
350
|
+
3. Click "Create new secret key" and copy your API key
|
351
|
+
4. Configure nGPT with your key:
|
352
|
+
```bash
|
353
|
+
ngpt --config
|
354
|
+
# Enter provider: OpenAI
|
355
|
+
# Enter API key: your-openai-api-key
|
356
|
+
# Enter base URL: https://api.openai.com/v1/
|
357
|
+
# Enter model: gpt-3.5-turbo (or other model)
|
358
|
+
```
|
359
|
+
|
360
|
+
#### Google Gemini API Key
|
361
|
+
1. Create or use an existing Google account
|
362
|
+
2. Go to [Google AI Studio](https://aistudio.google.com/)
|
363
|
+
3. Navigate to API keys in the left sidebar (or visit https://aistudio.google.com/app/apikey)
|
364
|
+
4. Create an API key and copy it
|
365
|
+
5. Configure nGPT with your key:
|
366
|
+
```bash
|
367
|
+
ngpt --config
|
368
|
+
# Enter provider: Gemini
|
369
|
+
# Enter API key: your-gemini-api-key
|
370
|
+
# Enter base URL: https://generativelanguage.googleapis.com/v1beta/openai
|
371
|
+
# Enter model: gemini-2.0-flash
|
372
|
+
```
|
373
|
+
|
374
|
+
For more detailed information, refer to the [API Key Setup documentation](https://nazdridoy.github.io/ngpt/configuration/#api-key-setup).
|
406
375
|
|
407
376
|
### CLI Configuration
|
408
377
|
|
ngpt-3.5.1/PKGBUILD
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# Maintainer: nazdridoy <nazdridoy399@gmail.com>
|
2
|
+
pkgname=ngpt
|
3
|
+
pkgver=0.0.0 # Automatically updated by CI on release
|
4
|
+
pkgrel=1
|
5
|
+
pkgdesc="Swiss army knife for LLMs: powerful CLI and interactive chatbot in one package. Seamlessly work with OpenAI, Ollama, Groq, Claude, Gemini, or any OpenAI-compatible API to generate code, craft git commits, rewrite text, and execute shell commands."
|
6
|
+
arch=('any')
|
7
|
+
url="https://github.com/nazdridoy/ngpt"
|
8
|
+
license=('MIT')
|
9
|
+
depends=('python' 'python-requests>=2.31.0' 'python-rich>=10.0.0' 'python-prompt_toolkit>=3.0.0' 'python-pyperclip>=1.8.0' 'python-beautifulsoup4>=4.12.0')
|
10
|
+
makedepends=('python-build' 'python-installer' 'python-wheel' 'python-hatchling')
|
11
|
+
options=(!debug)
|
12
|
+
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/nazdridoy/${pkgname}/archive/v${pkgver}.tar.gz")
|
13
|
+
sha256sums=('SKIP') # Automatically updated by CI on release
|
14
|
+
|
15
|
+
build() {
|
16
|
+
cd "$pkgname-$pkgver"
|
17
|
+
python -m build --wheel --no-isolation
|
18
|
+
}
|
19
|
+
|
20
|
+
package() {
|
21
|
+
cd "$pkgname-$pkgver"
|
22
|
+
python -m installer --destdir="$pkgdir" dist/*.whl
|
23
|
+
|
24
|
+
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
|
25
|
+
install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
|
26
|
+
}
|