https://github.com/ipfans/cc-quick-profile
A cross-platform system tray GUI application that allows you to quickly switch between Claude Code profiles.
https://github.com/ipfans/cc-quick-profile
Last synced: 10 months ago
JSON representation
A cross-platform system tray GUI application that allows you to quickly switch between Claude Code profiles.
- Host: GitHub
- URL: https://github.com/ipfans/cc-quick-profile
- Owner: ipfans
- License: mit
- Created: 2025-07-29T05:01:05.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-07-29T07:34:50.000Z (12 months ago)
- Last Synced: 2025-07-29T08:48:20.747Z (12 months ago)
- Language: Go
- Homepage:
- Size: 28.3 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cc-quick-profile
A cross-platform system tray GUI application that allows you to quickly switch between Claude Code profiles. Easily manage multiple API configurations and switch between them with a single click.
**You need to manually restart Claude Code for the new profile to take effect.**
## Features
- 🔄 **Quick Profile Switching**: Switch Claude Code profiles instantly from system tray
- 🌐 **Cross-Platform**: Full support for Windows, macOS, and Linux
- ⚡ **Minimal Resource Usage**: Lightweight system tray application
- 🔧 **Easy Management**: Add, activate, and manage profiles through intuitive UI
- 🔐 **Secure Storage**: Profile configurations stored locally and securely
- 🎯 **Smart Sync**: Automatic synchronization with Claude Code settings
- ✨ **Modern UI**: Clean interface built with Fyne framework
## Supported Platforms
- ✅ Windows (x64, ARM64)
- ✅ macOS (Intel, Apple Silicon)
- ✅ Linux (x64, ARM64)
## Requirements
- Go 1.24.5 or later
- [Task](https://taskfile.dev) for development (optional)
## Installation
### From Source
```bash
go install github.com/ipfans/cc-quick-profile@latest
```
### From Releases
Download pre-built binaries from the [releases page](https://github.com/ipfans/cc-quick-profile/releases).
## Quick Start
1. **Launch the application** - The system tray icon will appear
2. **Add your first profile** - Right-click the tray icon and select "添加新配置"
3. **Fill in the details**:
- **Profile Name**: A friendly name for your configuration
- **API URL**: Your Claude API endpoint
- **API Key**: Your authentication token
4. **Activate the profile** - Click on the profile name in the tray menu
5. **Restart Claude Code** - You need to manually restart Claude Code for the new profile to take effect
6. **Start using Claude Code** with your selected profile!
## Configuration
The application manages two types of settings:
### Application Settings
- **Windows**: `%APPDATA%\cc-quick-profile\settings.json`
- **macOS/Linux**: `$HOME/.config/cc-quick-profile/settings.json`
### Claude Code Integration
- **All platforms**: `$HOME/.claude/settings.json` (managed automatically)
- Sets `ANTHROPIC_AUTH_TOKEN` and `ANTHROPIC_BASE_URL` environment variables
## Development
This project uses [Task](https://taskfile.dev) for build automation.
### Common Commands
```bash
# Show available tasks
task
# Build and run
task run
# Build for current platform
task build
# Build for all platforms
task build:all
# Run tests and checks
task check
```
### Project Structure
```
├── main.go # Application entry point and system tray logic
├── assets/ # Embedded resources (icons, templates)
├── claude/ # Claude Code settings management
├── config/ # Application configuration management
├── models/ # Data structures (Profile, Settings)
├── ui/ # User interface components (modal dialogs)
├── Taskfile.yml # Build automation tasks
└── go.mod # Go module dependencies
```
## How It Works
1. **Profile Storage**: Your profiles are stored locally in a JSON configuration file
2. **System Tray Integration**: The application runs in the background with a system tray icon
3. **Claude Integration**: When you activate a profile, the app updates Claude Code's settings automatically (requires Claude Code restart to take effect)
4. **Cross-Platform**: Built with Fyne, ensuring consistent behavior across all supported platforms
## Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Run `task check` to ensure code quality
5. Commit your changes (`git commit -am 'Add amazing feature'`)
6. Push to the branch (`git push origin feature/amazing-feature`)
7. Open a Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.