cckit
v0.1.5
Published
Code Kit for Claude Model Switching - Support 智谱LLM, MiniMax, Kimi, Kuaishou StreamLake, ZenMux.ai
Downloads
22
Maintainers
Readme
cckit (Node.js Edition)
Code Kit for Claude Model Switching - Support 智谱LLM, MiniMax, Kimi, Kuaishou StreamLake, ZenMux.ai, and official Claude
A CLI tool for managing and switching between different Claude model providers and their configurations. Features support for model gateways like ZenMux.ai and Kuaishou StreamLake that provide unified access to multiple AI providers.
Features
- Multiple Provider Support: Configure and switch between 智谱LLM, MiniMax, Kimi, Kuaishou StreamLake, ZenMux.ai, and official Claude
- Easy Configuration: Simple command-line interface for managing API keys and settings
- Claude Integration: Automatically updates Claude Code configuration files
- Export/Import: Backup and restore your provider configurations
- Connection Testing: Verify provider connectivity before switching
- Multi-Language Support: English and Chinese localization
Installation
# npm
npm install -g cckit
# pnpm
pnpm add -g cckit
# yarn
yarn global add cckitUsage
Basic Commands
# Show help
cckit --help
# List all configured providers
cckit list
# Show current active provider
cckit current
# Configure a provider
cckit configure <provider> --api-key <key> [--base-url <url>] [--model <model>] ...
# Switch to a provider
cckit switch <provider>
# Show provider configuration
cckit show <provider>
# Test provider connection
cckit test <provider>
# List models for a provider
cckit models <provider>
# Set active model for a provider
cckit set-model <provider> <model>
# Remove a model from a provider
cckit remove-model <provider> <model>Supported Providers
智谱LLM (Zhipu) - https://www.bigmodel.cn/claude-code?ic=AFDPNDPWIF
# Configure 智谱LLM with a single model
cckit configure zhipu --api-key "your-api-key" --model "GLM-4.7"
# Configure with multiple models
cckit configure zhipu --api-key "your-api-key" --model "GLM-4.7" --model "GLM-4-Plus"
# List models
cckit models zhipu
# Set active model
cckit set-model zhipu "GLM-4-Plus"
# Remove a model
cckit remove-model zhipu "GLM-4.7"
# Switch to 智谱LLM
cckit switch zhipuMiniMax - https://platform.minimaxi.com/subscribe/coding-plan
# Configure MiniMax with multiple models
cckit configure minimax --api-key "your-api-key" --model "MiniMax-M2" --model "MiniMax-M4"
# List models
cckit models minimax
# Set active model
cckit set-model minimax "MiniMax-M4"
# Remove a model
cckit remove-model minimax "MiniMax-M2"
# Switch to MiniMax
cckit switch minimaxKimi (Moonshot) - https://www.kimi.com/coding/docs/
# Configure Kimi with multiple models
cckit configure kimi --api-key "your-api-key" --model "kimi-for-coding" --model "kimi-plus"
# List models
cckit models kimi
# Set active model
cckit set-model kimi "kimi-plus"
# Switch to Kimi
cckit switch kimiZenMux.ai - https://zenmux.ai/invite/ZAEJCE
# Configure ZenMux.ai (Anthropic Compatible API Gateway) with multiple models
cckit configure zenmux --api-key "your-zenmux-api-key" --model "claude-3-5-sonnet-20241022" --model "claude-3-opus-20250219"
# List models
cckit models zenmux
# Set active model
cckit set-model zenmux "claude-3-opus-20250219"
# Switch to ZenMux.ai
cckit switch zenmuxClaude (Official) - https://console.anthropic.com
# Configure Claude (official) with multiple models
cckit configure claude --api-key "sk-ant-api03-your-key" --model "claude-3-5-sonnet-20241022" --model "claude-3-opus-20250219"
# List models
cckit models claude
# Set active model
cckit set-model claude "claude-3-opus-20250219"
# Switch to Claude
cckit switch claudeKuaishou StreamLake - 快手万擎引擎
# Configure Kuaishou StreamLake with multiple models
cckit configure streamlake --api-key "your-streamlake-api-key" --model "kat-coder-pro-v1" --model "claude-3-opus-20250219"
# List models
cckit models streamlake
# Set active model
cckit set-model streamlake "claude-3-opus-20250219"
# Switch to Kuaishou StreamLake
cckit switch streamlakeAdvanced Commands
# Export configuration to file
cckit export --output backup.json
# Import configuration from file
cckit import backup.json
# Reset to default Claude configuration
cckit resetConfiguration
The CLI stores configurations in ~/.cckit/config.json and updates Claude's settings in ~/.claude/settings.json.
Multi-Model Support
Each provider can now be configured with multiple models. You can:
- Configure multiple models during setup:
cckit configure <provider> --model <model1> --model <model2> - Add models to existing providers:
cckit configure <provider> --model <new-model> - List available models:
cckit models <provider> - Switch active model:
cckit set-model <provider> <model-name>
The active model is used when Claude Code switches to that provider. If no explicit active model is set, the first configured model is used.
Provider Details
| Provider | Default Model | Auth Method | Capabilities | Default Base URL | |----------|---------------|-------------|--------------|------------------| | 智谱LLM | GLM-4.7 | ANTHROPIC_AUTH_TOKEN | Chat, Code Generation, Chinese Support | https://open.bigmodel.cn/api/anthropic | | MiniMax | MiniMax-M2 | ANTHROPIC_AUTH_TOKEN | Chat, Code Generation, Multi-language | https://api.minimaxi.com/anthropic | | Kimi | kimi-for-coding | ANTHROPIC_API_KEY | Chat, Long Context, Code Generation | https://api.kimi.com/coding/ | | ZenMux.ai | claude-3-5-sonnet-20241022 | ANTHROPIC_API_KEY | Model Gateway, Multi-provider, Claude Compatible | https://zenmux.ai/api/anthropic | | Kuaishou StreamLake | kat-coder-pro-v1 | ANTHROPIC_API_KEY | Chat, Code Generation, Chinese Support, Video Understanding | https://wanqing.streamlakeapi.com/api/gateway/v1/endpoints/kat-coder-pro-v1/claude-code-proxy | | Claude | claude-3-5-sonnet-20241022 | ANTHROPIC_API_KEY | Chat, Code Generation, Analysis, Multimodal | Official |
How It Works
- Configuration Management: Stores provider settings in
~/.cckit/config.json - Claude Integration: Updates Claude's
settings.jsonwith environment variables - Switching: Changes the active provider and updates Claude's configuration
- Testing: Sends test messages to verify provider connectivity
Development
# Install dependencies
pnpm install
# Run in development mode (uses ts-node, no compilation needed)
pnpm run dev list
# Build for development (no minification)
pnpm run build
# Build for production (with minification, ~68% smaller)
pnpm run build:prod
# Test the CLI
node dist/index.js listFor more build options and details, see BUILD.md.
Requirements
- Node.js 18 or higher
- pnpm (or npm/yarn)
- Claude Code installed
- Valid API keys for the providers you want to use
Project Structure
cckit-node/
├── src/
│ ├── index.ts # Main CLI entry point
│ ├── types.ts # TypeScript type definitions
│ ├── config.ts # Configuration management
│ ├── commands.ts # CLI command implementations
│ ├── providers.ts # Provider configurations and testing
│ └── i18n.ts # Internationalization (English & Chinese)
├── dist/ # Compiled JavaScript output
├── package.json # Project dependencies and scripts
├── tsconfig.json # TypeScript configuration
└── README.md # This fileLicense
This project is licensed under the MIT License - see the LICENSE file for details.
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Build and test:
pnpm run build - Submit a pull request
Support
If you encounter any issues or have questions, please open an issue on the GitHub repository.
Differences from Rust Version
The Node.js version maintains feature parity with the Rust version while leveraging Node.js/TypeScript advantages:
- TypeScript: Full type safety and better IDE support
- Cross-platform: Better Windows compatibility out of the box
- Easier distribution: No compilation required for end users
- Same CLI interface: Identical command structure and behavior
- Localization: Same i18n system with English and Chinese support
