Skip to content

mxnix/kick

Repository files navigation

KiCk logo

KiCk

A native local OpenAI-compatible proxy for Gemini CLI and Kiro.

Connect your accounts, start a local /v1 endpoint, and use Gemini CLI or Kiro from tools that already speak the OpenAI API.

Latest release CI status Downloads Built with Flutter AUR package License

Download | Quickstart | Screenshots | Privacy | Contributing | Russian README


Screenshots

KiCk home screen with proxy address, API key, active accounts, and start button KiCk accounts screen with account search, counters, provider badge, and account actions KiCk settings screen with appearance, network, retries, access, model, and Google Search sections KiCk logs screen with search, export actions, severity filters, and empty log state

What KiCk Does

KiCk runs a local OpenAI-compatible server on your device and forwards requests to Gemini CLI through connected Google accounts, or to Kiro through a signed-in Kiro account. It is built for people who want a native app around local AI proxying: account management, keys, logs, retries, model routing, and one-button startup.

Area What you get
Local API OpenAI-compatible http://127.0.0.1:3000/v1 endpoint
Providers Gemini CLI via Google sign-in, Kiro via GitHub or Google sign-in
Platforms Windows, Linux, and Android
Accounts Multiple accounts with priority ordering and availability handling
Privacy Tokens, settings, keys, and logs stay on your device

Quickstart

  1. Download the latest build from Releases, or install from a Linux repository below.
  2. Open Accounts and connect a Gemini CLI or Kiro account.
  3. For Gemini CLI, enter your Google Cloud project ID. For Kiro, sign in through GitHub or Google in the browser.
  4. Return to Home, start the proxy, and copy the local endpoint plus API key.
  5. Use them in Gemini CLI, SillyTavern, another OpenAI-compatible client, or your own app.

The default endpoint is http://127.0.0.1:3000/v1. You can change the host, port, LAN access, and API key behavior in settings.

Features

  • Local OpenAI-compatible proxy with /v1/chat/completions and /v1/responses, including SSE streaming via "stream": true.
  • Account pool for Gemini CLI and Kiro with priorities, retries, cooldowns, and model filters.
  • Native account connection flows for Google sign-in and Kiro sign-in via GitHub or Google.
  • Configurable address, port, LAN access, access key, retry policy, and custom model IDs.
  • One-click profile push to a running SillyTavern instance.
  • Searchable logs with export, raw request logging controls, and sensitive data masking.
  • Android background mode, desktop tray support, and launch-at-startup options.
  • English and Russian interface, documentation, and release metadata.

Supported Routes

  • GET /health
  • GET /v1/models
  • POST /v1/chat/completions
  • POST /v1/responses

Request Example

curl http://127.0.0.1:3000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "gemini-3.1-pro-preview",
    "messages": [
      {"role": "user", "content": "Write a short greeting"}
    ]
  }'

If API key protection is disabled, remove the Authorization header.

Install

Platform Options
Windows Download the installer from Releases.
Linux Use AppImage, .deb, .rpm, .pkg.tar.zst, .tar.gz, APT/RPM/Pacman repositories, or AUR.
Android Download the APK from Releases or Obtainium.
Linux repositories

Debian, Ubuntu, and Linux Mint:

curl -fsSL https://mxnix.github.io/kick/linux/kick.asc | sudo gpg --dearmor -o /usr/share/keyrings/kick.gpg
echo "deb [signed-by=/usr/share/keyrings/kick.gpg] https://mxnix.github.io/kick/linux/apt stable main" | sudo tee /etc/apt/sources.list.d/kick.list
sudo apt update
sudo apt install kick

Fedora/RHEL/openSUSE-style systems:

sudo rpm --import https://mxnix.github.io/kick/linux/kick.asc
sudo tee /etc/yum.repos.d/kick.repo >/dev/null <<'EOF'
[kick]
name=KiCk
baseurl=https://mxnix.github.io/kick/linux/rpm/x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://mxnix.github.io/kick/linux/kick.asc
EOF
sudo dnf install kick

Arch Linux-style systems:

curl -fsSL https://mxnix.github.io/kick/linux/kick.asc | sudo pacman-key --add -
sudo pacman-key --lsign-key "$(curl -fsSL https://mxnix.github.io/kick/linux/kick.asc | gpg --show-keys --with-colons | awk -F: '/^pub:/ { print $5; exit }')"
sudo tee -a /etc/pacman.conf >/dev/null <<'EOF'
[kick]
Server = https://mxnix.github.io/kick/linux/pacman/x86_64
SigLevel = DatabaseRequired PackageOptional
EOF
sudo pacman -Sy kick

Or install from the AUR:

yay -S kick-bin
paru -S kick-bin

On GNOME, tray support may require the AppIndicator extension.

Privacy

  • Sign-in tokens and the local access key are stored in the device's secure storage.
  • Settings, account lists, and logs are stored locally.
  • Full raw request logging is disabled by default.
  • Sensitive values are masked when logs are saved or exported.
  • Anonymous analytics is disabled by default.

Read the full Privacy Policy.

Troubleshooting

Common fixes
  • Port already in use: choose a different port in settings.
  • No active accounts: connect a Gemini CLI or Kiro account, or re-enable an existing one.
  • Google sign-in expired: reconnect the Gemini CLI account.
  • Kiro session expired: sign in to Kiro again.
  • Google asks for verification: open the verification page and sign in with the same account.
  • Wrong Google Cloud project ID or disabled access: verify the project and its settings.
  • 429 errors: wait for the limit to reset or enable temporary account cooldown.

Build From Source

Developer setup
  1. Install Flutter and the required Android, Windows, or Linux tooling for your target platform.
  2. Install dependencies and run tests:
flutter pub get
flutter test
  1. Run the app:
flutter run -d windows
flutter run -d linux
flutter run -d android
  1. Build the Windows installer locally with Inno Setup 6:
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\build-windows-installer.ps1
  1. Build Linux packages locally with nfpm and appimagetool:
scripts/build-linux-packages.sh

Build and release details live in CONTRIBUTING.md. Localization notes live in LOCALIZATION.md.

About

A local OpenAI-compatible proxy for Gemini CLI and Kiro in a native Flutter app

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors