Vertex CLI
A modern CLI tool for interacting with multiple LLMs using LangChain.
Features
- Unified interface for multiple LLM providers (Google Gemini, OpenAI, Anthropic Claude)
- Clean architecture following SOLID principles
- Conversation history management
- Shell command debugging
- Easy model switching
Installation
pip install Vertex-CLI
Gemini works out of the box. OpenAI and Anthropic are optional extras, so their packages are only downloaded if you ask for them:
pip install "Vertex-CLI[openai]" # OpenAI models
pip install "Vertex-CLI[anthropic]" # Anthropic Claude models
To work on Vertex-CLI itself, install from a clone instead:
git clone https://github.com/prathamhole14/Vertex-CLI.git
cd Vertex-CLI
pip install -e ".[openai,anthropic]"
Quick Start
# Initialize configuration
tex --setup
# Configure a model (provider auto-detected from model name)
tex config gemini-3.6-flash YOUR_API_KEY
tex config gpt-4 YOUR_OPENAI_KEY
tex config claude-opus-5 YOUR_ANTHROPIC_KEY
# Or specify provider explicitly
tex config my-model YOUR_KEY --provider google
# Select active model
tex select gemini-3.6-flash
# Use it
tex "explain quantum computing"
Commands
tex "your question" # Ask a question
tex chat <text> # Chat mode
tex debug # Debug shell commands
tex config <model> <api_key> # Configure model (auto-detects provider)
tex config <model> <key> --provider <provider> # Specify provider explicitly
tex list # List models
tex select <model> # Select active model
tex remove <model> # Remove model
Supported Providers
- Google Gemini:
googleorgemini— installed by default - OpenAI:
openai— needspip install 'Vertex-CLI[openai]' - Anthropic:
anthropicorclaude— needspip install 'Vertex-CLI[anthropic]'
Configuration
Models are configured in ~/.config/ai_model_manager/models_config.json
Example configuration:
{
"selected_model": "gemini-flash-latest",
"models": {
"gemini-flash-latest": {
"provider": "google",
"api_key": "your-api-key",
"temperature": 0.7
}
}
}
Documentation
- Architecture - Technical architecture
Requirements
- Python 3.10+
- LangChain and provider packages
Usage
Once installed and configured, you can start chatting or debugging commands:
Chat with the LLM
You can either use the chat subcommand or omit it entirely:
# Explicit subcommand
tex chat "Tell me about the solar system"
# Shortcut form (no subcommand)
tex "Tell me about the solar system"
Replace the quoted string with any query you'd like.
🔗 Complete CLI Documentation: CLI Commands
Debugging Mode (Beta Feature)
Debugging is currently in beta but can analyze recent shell commands to identify issues.
Debug the Last 3 Commands (default)
tex debug
Specify the Number of Commands to Debug
tex debug -n 5
Add a Custom Debugging Message
tex debug -n 5 -p "Explain why \`git commit\` failed"
Contributing
Contributions are welcome! Follow these steps to contribute:
-
Fork the repository
-
Create a new branch:
git checkout -b feature/your-feature-name
-
Commit your changes:
git commit -m "Add your feature description"
-
Push your branch:
git push origin feature/your-feature-name
-
Open a pull request
🔗 Contributor Guide: How to Contribute
License
This project is licensed under the MIT License. See the LICENSE file for more details.
Support
If you encounter any issues, open an issue on the GitHub repository.
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 vertex_cli-1.0.1.tar.gz.
File metadata
- Download URL: vertex_cli-1.0.1.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed02c84ef59ec44e7593b5cacf50cc447364f84de67e76cf2d5a4845d8c37688
|
|
| MD5 |
5b5e59c0bacc623e58c7fdfd9722fb42
|
|
| BLAKE2b-256 |
b5ac9cd21acac7920930a8bb2006971ff8ebdaf14a8070c41e616dde36bef76c
|
Provenance
The following attestation bundles were made for vertex_cli-1.0.1.tar.gz:
Publisher:
release.yml on prathamhole14/Vertex-CLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vertex_cli-1.0.1.tar.gz -
Subject digest:
ed02c84ef59ec44e7593b5cacf50cc447364f84de67e76cf2d5a4845d8c37688 - Sigstore transparency entry: 2742807425
- Sigstore integration time:
-
Permalink:
prathamhole14/Vertex-CLI@acb388d6a5df74ab0a8a23f79b456a9557621406 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/prathamhole14
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@acb388d6a5df74ab0a8a23f79b456a9557621406 -
Trigger Event:
push
-
Statement type:
File details
Details for the file vertex_cli-1.0.1-py3-none-any.whl.
File metadata
- Download URL: vertex_cli-1.0.1-py3-none-any.whl
- Upload date:
- Size: 15.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d3844f46d960286b2a89cf85ed6800cba3d5d20e49472ce980dd8e8aadd58462
|
|
| MD5 |
69a0ab7606a8b8dca9e60b5e1200420a
|
|
| BLAKE2b-256 |
38a0cc758f0ac30684ffd6e32e60645d4b51b54ae57e92e98f59c0a2f91aefd1
|
Provenance
The following attestation bundles were made for vertex_cli-1.0.1-py3-none-any.whl:
Publisher:
release.yml on prathamhole14/Vertex-CLI
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vertex_cli-1.0.1-py3-none-any.whl -
Subject digest:
d3844f46d960286b2a89cf85ed6800cba3d5d20e49472ce980dd8e8aadd58462 - Sigstore transparency entry: 2742807488
- Sigstore integration time:
-
Permalink:
prathamhole14/Vertex-CLI@acb388d6a5df74ab0a8a23f79b456a9557621406 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/prathamhole14
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@acb388d6a5df74ab0a8a23f79b456a9557621406 -
Trigger Event:
push
-
Statement type: