clauver
Health Gecti
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 10 GitHub stars
Code Basarisiz
- rm -rf — Recursive force deletion command in scripts/release-prepare.sh
- rm -rf — Recursive force deletion command in tests/run_all_tests.sh
- rm -rf — Recursive force deletion command in tests/test_crypto_module.sh
- rm -rf — Recursive force deletion command in tests/test_encryption_security.sh
- Hardcoded secret — Potential hardcoded credential in tests/test_encryption_security.sh
- rm -rf — Recursive force deletion command in tests/test_error_handling.sh
- Hardcoded secret — Potential hardcoded credential in tests/test_error_handling.sh
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
CLI tool to manage and switch between Claude Code API providers including Anthropic, MiniMax, Z.AI, Kimi, KAT-Coder, and custom providers.
clauver
This repository has been archived. Development continues at
github.com/dkmnx/kairo.
Please use the new repository for the latest updates and support.
██████╗██╗ █████╗ ██╗ ██╗██╗ ██╗███████╗██████╗
██╔════╝██║ ██╔══██╗██║ ██║██║ ██║██╔════╝██╔══██╗
██║ ██║ ███████║██║ ██║██║ ██║█████╗ ██████╔╝
██║ ██║ ██╔══██║██║ ██║╚██╗ ██╔╝██╔══╝ ██╔══██╗
╚██████╗███████╗██║ ██║╚██████╔╝ ╚████╔╝ ███████╗██║ ██║
╚═════╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝
Claude Code Provider Manager - Switch between multiple Claude Code API
providers seamlessly.
Overview
Clauver is a powerful CLI tool that allows you to easily manage and switch
between different Claude Code API providers, including:
- Native Anthropic - Use your existing Claude Pro/Team subscription
- Z.AI - Zhipu AI's GLM models
- MiniMax - MiniMax AI's MiniMax-M2 model
- Kimi - Moonshot AI's Kimi K2 model
- DeepSeek - DeepSeek AI's DeepSeek models
- Custom Providers - Add your own provider
⚠️ Platform Compatibility:
This script has been tested and confirmed to work on Linux only.
While it may work on other Unix-like systems (macOS, WSL), compatibility is not guaranteed.
Features
- Easy Provider Switching - Switch providers with a single command
- Secure API Key Management - API keys encrypted with age (X25519)
- Configuration Testing - Test provider configurations before use
- Default Provider - Set a default provider for quick access
- Auto-completion - Tab completion for bash, zsh, and fish
- Quick Setup Wizard - Interactive setup for beginners
- Status Monitoring - Check all configured providers at once
- Self-Update - Update to the latest version with a single command
- Encrypted Storage - Secrets encrypted at rest, decrypted in memory only
Requirements
- claude CLI - Install with:
npm install -g @anthropic-ai/claude-code - age - For encryption:
sudo apt install age(orbrew install ageon macOS) - Bash/Zsh/Fish - For auto-completion
- API Keys - For third-party providers
Installation
Quick Install
curl -fsSL https://raw.githubusercontent.com/dkmnx/clauver/main/install.sh | bash
The installer will:
- ✅ Check for the
claudecommand - ✅ Install clauver to
~/.clauver/bin/ - ✅ Set up auto-completion
- ✅ Add to PATH (if needed)
Manual Installation
# Clone the repository
git clone https://github.com/dkmnx/clauver clauver
cd clauver
# Install
mkdir -p ~/.clauver/bin
cp clauver.sh ~/.clauver/bin/clauver
chmod +x ~/.clauver/bin/clauver
# Add to PATH
echo 'export PATH="$HOME/.clauver/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
Usage
Setup Wizard
clauver setup # Interactive setup wizard
Configure Providers
clauver config zai # Configure Z.AI
clauver config minimax # Configure MiniMax
clauver config kimi # Configure Kimi
clauver config deepseek # Configure DeepSeek
clauver config anthropic # Configure Native Anthropic
clauver config custom # Add custom provider
Use Providers
clauver anthropic # Use Native Anthropic
clauver zai # Use Z.AI
clauver minimax # Use MiniMax
clauver kimi # Use Kimi
clauver deepseek # Use DeepSeek
clauver <custom> # Use custom provider
Default Provider
Set a default provider for quick access:
# Set default provider
clauver default zai
# Show current default
clauver default
# Use default provider (no arguments needed)
clauver "What can you help me with?"
Manage Providers
clauver list # List all providers
clauver status # Check provider status
clauver test <name> # Test a provider
clauver migrate # Migrate plaintext secrets to encrypted storage
clauver default # Show or set default provider
clauver version # Show current version and check for updates
clauver update # Update to the latest version
clauver help # Show help
Examples
Basic Usage
# First time setup
clauver setup
# Configure a provider
clauver config minimax
# Enter your MiniMax API key when prompted
# Use the provider
clauver minimax "Write a Python function to calculate fibonacci numbers"
# Check status
clauver status
Testing Configuration
# Test a specific provider
clauver test zai
# Test all providers
clauver status
Setting a Default Provider
# Set your preferred default provider
clauver default minimax
# Verify the default is set
clauver default
# Use the default provider
clauver "Help me write a bash script"
# Change your default anytime
clauver default anthropic
Version Management
# Check current version and available updates
clauver version
# Update to the latest version
clauver update
# Both commands work without confirmation prompts
# Update will show "already up to date" if on latest version
Encryption & Key Management
Encryption Overview
Clauver automatically encrypts all API keys using
age, a modern and secure file encryption
tool. Your secrets are:
- Encrypted at rest on disk
- Only decrypted into memory when needed
- Never written to disk as plaintext
Key Backup
CRITICAL: Back up your encryption key immediately after installation!
# Your encryption key location
~/.clauver/age.key
# Back up your key (choose one method):
cp ~/.clauver/age.key ~/backup/clauver-age.key.backup
cp ~/.clauver/age.key /path/to/external/drive/
Without your age key, you cannot decrypt your secrets!
Key Recovery
If you lose your encryption key:
# 1. If you have a backup, restore it:
cp ~/backup/clauver-age.key.backup ~/.clauver/age.key
chmod 600 ~/.clauver/age.key
# 2. If you don't have a backup, you'll need to reconfigure:
rm ~/.clauver/secrets.env.age # Remove encrypted file
clauver config <provider> # Reconfigure your providers
Migrating from Plaintext
If you're upgrading from an older version with plaintext secrets:
# Check your current storage type
clauver status
# Migrate to encrypted storage
clauver migrate
# Verify encryption is active
clauver status # Should show "🔒 Secrets Storage: Encrypted"
Using Configs on Multiple Machines
Your encryption key is portable! To use your configs on another machine:
# On original machine - backup both files:
cp ~/.clauver/age.key ~/backup/
cp ~/.clauver/secrets.env.age ~/backup/
# On new machine - restore both files:
mkdir -p ~/.clauver
cp ~/backup/age.key ~/.clauver/
cp ~/backup/secrets.env.age ~/.clauver/
chmod 600 ~/.clauver/age.key
chmod 600 ~/.clauver/secrets.env.age
# Verify it works:
clauver list
Custom Provider
# Add a custom provider
clauver config custom
# Provider name: my-provider
# Base URL: https://api.example.com/anthropic
# API Key: your-api-key
# Model: your-model
# Use it
clauver my-provider "Hello"
Auto-completion
Clauver includes auto-completion for bash, zsh, and fish.
After installation, try:
clauver <TAB><TAB> # Show available commands
clauver z<TAB> # Complete to 'clauver zai'
Testing
Clauver includes a comprehensive test suite with unit tests, integration tests,
security validation, and performance benchmarks.
Quick Test
# Run all tests
cd tests/
make test
# Or use the test runner
./run_all_tests.sh
Full Documentation
For detailed testing information, including:
- Test categories and coverage areas
- CI/CD pipeline and continuous integration
- Security testing and performance benchmarks
- Contributing guidelines for tests
👉 See tests/README.md for complete testing documentation.
Configuration Storage
Clauver uses an encrypted configuration system:
~/.clauver/
├── secrets.env.age # Encrypted API keys (age encrypted)
├── age.key # Encryption key (chmod 600) - BACK THIS UP!
├── config # Provider configurations (chmod 600)
├── bin/
│ └── clauver # Installed binary
└── completions/ # Auto-completion files
Configuration Files
- secrets.env.age: Encrypted API keys using age (X25519) encryption
ZAI_API_KEYMINIMAX_API_KEYKIMI_API_KEYDEEPSEEK_API_KEY
Secrets are only decrypted into memory, never written to disk as plaintext
age.key: Your encryption key (automatically generated)
- CRITICAL: Back up this file! Without it, you cannot decrypt your secrets
- Portable across machines - copy this file to use your configs elsewhere
- Located at:
~/.clauver/age.key
config: Stores provider configurations:
- Base URLs, models, and endpoint IDs
- Custom provider definitions
default_provider- Your preferred default provider
Security Features
- Encrypted at Rest: API keys are encrypted using age (modern, secure encryption)
- Memory-Only Decryption: Secrets decrypted directly into memory via
process substitution - No Plaintext on Disk: Encrypted file is never written as plaintext
- Session Caching: Secrets decrypted once per session for performance
- Automatic Key Generation: Encryption key auto-generated on first use
- Migration Support: Seamlessly migrate from plaintext to encrypted storage
Troubleshooting
Having issues? See complete troubleshooting guide.
Common fixes:
- PATH issues:
export PATH="$HOME/.clauver/bin:$PATH" - Missing dependencies:
npm install -g @anthropic-ai/claude-code - age encryption:
sudo apt install age(orbrew install age) - Provider tests:
clauver test <provider> - Status check:
clauver status
Credits
Clauver is heavily inspired by clother
by jolehuit.
Special thanks to the original project for the inspiration and architectural concepts.
License
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi