Command-line interface for EnkaliPrime Chat API
Project description
🖥️ EnkaliPrime CLI
Beautiful Command-Line Interface for AI Chat
Chat with AI directly from your terminal with rich formatting and beautiful animations
✨ Features
💬 Interactive AI Chat
|
🔐 Secure Configuration
|
🎨 Beautiful Terminal UI
|
📝 Session Management
|
🏗️ Architecture
graph TD
A[🖥️ Terminal] --> B[enkaliprime CLI]
B --> C{Commands}
C --> D[💬 chat]
C --> E[⚙️ config]
C --> F[📝 session]
D --> G[Interactive Chat]
D --> H[Single Message]
D --> I[History View]
E --> J[Set API Key]
E --> K[Test Connection]
E --> L[Show Config]
F --> M[Create Session]
F --> N[End Session]
F --> O[Session Info]
B --> P[🔐 Keyring]
B --> Q[📦 SDK]
Q --> R[🤖 EnkaliPrime API]
📦 Installation
From PyPI (Recommended)
pip install enkaliprime-cli
From Source
git clone https://github.com/enkaliprime/enkaliprime-cli.git
cd enkaliprime-cli
pip install -e .
Requirements
- Python 3.8+
enkaliprimeSDK (automatically installed)- System keyring support (built-in on most systems)
🚀 Quick Start
1. Configure API Key
enkaliprime config set-api-key
# Follow the secure prompt to enter your API key
2. Test Connection
enkaliprime config test-connection
# Verify everything is working
3. Start Chatting
enkaliprime chat interactive
# Begin your AI conversation!
📖 Commands
Main Commands
| Command | Description |
|---|---|
enkaliprime --help |
Show help and available commands |
enkaliprime info |
Show CLI information and features |
enkaliprime --version |
Show version information |
💬 Chat Commands
| Command | Description |
|---|---|
enkaliprime chat interactive |
Start interactive chat session |
enkaliprime chat ask "message" |
Send single message and get response |
enkaliprime chat history |
Show conversation history |
⚙️ Configuration Commands
| Command | Description |
|---|---|
enkaliprime config set-api-key |
Set your API key securely |
enkaliprime config get-api-key |
Show masked API key |
enkaliprime config remove-api-key |
Remove stored API key |
enkaliprime config test-connection |
Test API connection |
enkaliprime config show |
Show current configuration |
📝 Session Commands
| Command | Description |
|---|---|
enkaliprime session create |
Create new chat session |
enkaliprime session current |
Show current session info |
enkaliprime session end |
End current session |
enkaliprime session list |
List all sessions |
enkaliprime session clear-history |
Clear conversation history |
💡 Examples
Interactive Chat Session
# Start a conversation with a custom agent
enkaliprime chat interactive --agent "Code Assistant"
# Chat with default assistant, no loading animations
enkaliprime chat interactive --no-loading
Single Message Queries
# Ask a quick question
enkaliprime chat ask "What is the capital of France?"
# Ask with custom agent
enkaliprime chat ask "Explain recursion" --agent "Programming Tutor"
Configuration Management
# Set API key interactively
enkaliprime config set-api-key
# Set API key directly (not recommended for security)
enkaliprime config set-api-key --key ek_bridge_your_key_here
# Test your setup
enkaliprime config test-connection
# View current configuration
enkaliprime config show
Session Management
# Create a new session with custom agent
enkaliprime session create --name "Math Tutor" --avatar "🎓"
# Check current session
enkaliprime session current
# End the current session
enkaliprime session end
# Clear conversation history
enkaliprime session clear-history
🔧 Troubleshooting
Command Not Found Error
If you get "enkaliprime" command not found after installation:
Windows (PowerShell/Command Prompt)
Check if Python Scripts directory is in PATH:
where python
# This should show your Python installation directory
Add Python Scripts to PATH (run as Administrator):
setx PATH "%PATH%;C:\Python313\Scripts" # Replace with your Python version
Or use full path:
& "C:\Users\%USERNAME%\AppData\Roaming\Python\Python313\Scripts\enkaliprime.exe" --help
Linux/macOS
Check PATH:
echo $PATH
which python3
Add to PATH in ~/.bashrc or ~/.zshrc:
export PATH="$HOME/.local/bin:$PATH" # For user installations
# OR
export PATH="/usr/local/bin:$PATH" # For system installations
Alternative Usage
Use Python module directly (recommended for PowerShell):
python -m enkaliprime_cli info
python -c "from enkaliprime_cli.main import app; import sys; sys.argv = ['enkaliprime', 'chat', 'interactive']; app()"
Use pipx for isolated installation:
pip install pipx
pipx install enkaliprime-cli
# Now enkaliprime command works globally
PowerShell Compatibility
If you experience glitches with loading animations in PowerShell:
-
Disable progress display:
$ProgressPreference = "SilentlyContinue" enkaliprime chat ask "Hello"
-
Use Python directly:
python -c "from enkaliprime_cli.main import app; import sys; sys.argv = ['enkaliprime', 'chat', 'ask', 'Hello']; app()"
-
Loading animations are disabled by default in CLI commands to avoid PowerShell conflicts. The SDK still shows its internal brain animation.
API Key Issues
"No API key configured" error:
enkaliprime config set-api-key
# Enter your API key when prompted
Test connection:
enkaliprime config test-connection
🔐 Security
- Encrypted Storage: API keys are stored securely using your system's keyring
- No Plain Text: Keys are never displayed in full, only masked
- Secure Prompts: Password-style input for sensitive information
- Validation: Automatic format checking for API keys
Best Practices
# ✅ Good: Use interactive setup
enkaliprime config set-api-key
# ❌ Bad: Expose key in command history
enkaliprime config set-api-key --key ek_bridge_secret_key
🎨 Terminal Features
Rich Formatting
- Markdown rendering for AI responses
- Syntax highlighting for code blocks
- Colored output for better readability
- Unicode emojis for visual appeal
Loading Animations
🧠 Thinking... 1.2s
🧠 Thinking... 2.8s
💭 Thinking... 3.1s
💡 Thinking... 3.7s
✨ Thinking... 4.2s
Interactive Prompts
- Auto-completion for commands and options
- Input validation with helpful error messages
- Confirmation prompts for destructive operations
🛠️ Development
Setup for Development
git clone https://github.com/enkaliprime/enkaliprime-cli.git
cd enkaliprime-cli
pip install -e ".[dev]"
Running Tests
pytest
Code Quality
# Format code
black enkaliprime_cli
# Sort imports
isort enkaliprime_cli
# Type checking
mypy enkaliprime_cli
# Linting
ruff enkaliprime_cli
📄 License
This project is licensed under the MIT License — see the LICENSE file for details.
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
🔗 Links
| Resource | Link |
|---|---|
| 📖 Documentation | api.enkaliprime.com/docs |
| 🏠 Website | api.enkaliprime.com |
| 📦 PyPI | pypi.org/project/enkaliprime-cli |
| 🐙 GitHub | github.com/enkaliprime/enkaliprime-cli |
Built with ❤️ by the EnkaliPrime Team
© 2024 EnkaliPrime. All rights reserved.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file enkaliprime_cli-0.2.1.tar.gz.
File metadata
- Download URL: enkaliprime_cli-0.2.1.tar.gz
- Upload date:
- Size: 19.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6c87cd3b051068e23d997b34fd8c0d08537ada9298265bd40e2629e3ee6f53b7
|
|
| MD5 |
41bae12a54f669305cb78973769f317d
|
|
| BLAKE2b-256 |
9e62008a4f1b02a34887cc71508ac4c086d364e950ec5d590b3eaa3fd90d2d48
|
File details
Details for the file enkaliprime_cli-0.2.1-py3-none-any.whl.
File metadata
- Download URL: enkaliprime_cli-0.2.1-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6909d46f37e2b44b42d58e99610d63307bdbc483d8efe9777f1c0ba572143fba
|
|
| MD5 |
67ec92f1467a99067d8e6040a74c0144
|
|
| BLAKE2b-256 |
cc42f7dbe7161fc2c557c9cbdff0b18185504ebb321dffeda85167bebbd1948c
|