A lightweight, modern, and secure desktop application for managing API keys locally. Supports quick search, platform categorization, Excel batch import, and visual preview to help you systematically manage scattered keys.
π¨π³ δΈζηζ¬ | English
- API Key Management: Add/Edit/Delete API keys with platform categorization
- Quick Search & Filtering: Search by name and platform keywords with floating toolbar
- Platform View: Radial menu platform aggregation with wheel pagination
- π Multi-language Support: Supports 9 languages including Chinese, English, Japanese, etc.
- Format Support: Supports .xlsx/.xls, reads from first worksheet
- Preview Window: Independent window displays data before import
- π Multi-language Header Matching: Automatically recognizes Excel file language format
- Duplicate Detection:
- Compares with existing database entries (by keyValue)
- Detects duplicates within the same batch
- Red highlighting for duplicates with row deletion option
- Data Cleaning: Auto-removes invisible characters (zero-width, BOM, control chars)
- Validation: Clear error messages indicating invalid characters and reasons
- Floating Toolbar: Always-on-top quick search and add entry
- Radial Menu: 6 items per screen with wheel navigation and edge fading
- Modern UI: Light/dark theme adaptation
- π¨ Adaptive Background Gradient: Dynamic background generation based on theme and time
- π Theme Switch Performance: Smooth theme transitions with requestAnimationFrame
Activate the floating toolbar using Ctrl+Shift+K global shortcut
Quickly search API keys by name or platform using the floating toolbar
Click the + button to add a new API key with detailed information
Navigate through platforms using the radial menu with mouse wheel interaction
Import multiple API keys from Excel files with multi-language header support
Easily delete API keys with confirmation dialog
Switch between light/dark themes and 9 different languages instantly
- Framework: React 19 + TypeScript + Vite 7
- Styling: Tailwind CSS + PostCSS
- Build Tool: Vite 7
- Icons: Lucide React
- Framework: Tauri 2 (Rust)
- Database: SQLite (sqlx driver)
- Encryption: AES-256-GCM + Argon2id
- Plugins: Global hotkeys, file dialog, FS, etc.
Windows / macOS / Linux (requires Rust & Node environment)
- Input normalization and format validation with auto-cleanup
- Suspicious fragment interception (XSS, path traversal, command injection)
- Local-only operation and storage, no remote key transmission
- Node.js 18+
- Rust stable toolchain (with cargo)
- npm (or compatible package manager)
git clone https://github.com/blueraincoatli/APIkeyManager.git
cd APIkeyManager
npm installnpm run tauri:dev # Equivalent to tauri dev, starts Vite then Taurinpm run tauri:build # Generates platform installation packages/executablesEnglish Format:
Name | API Key | Platform | Description
Other Languages:
- Chinese: εη§° | API Key | ζδΎε | ζθΏ°
- Traditional Chinese: ε稱 | API Key | ζδΎε | ζθΏ°
- Portuguese: Nome | API Key | Plataforma | DescriΓ§Γ£o
- Spanish: Nombre | API Key | Plataforma | DescripciΓ³n
- French: Nom | API Key | Plateforme | Description
- Italian: Nome | API Key | Piattaforma | Descrizione
- Japanese: εε | API Key | γγ©γγγγ©γΌγ | θͺ¬ζ
- Russian: ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ | API Key | ΠΠ»Π°ΡΡΠΎΡΠΌΠ° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
Name: OpenAI GPT-4
API Key: sk-xxxxxxxx...
Platform: OpenAI
Description: Used for GPT-4 access
Note: Empty lines are skipped; at least "Name" and "API Key" are required. System automatically recognizes header language format.
src/
ββ components/
β ββ FloatingToolbar/ # Floating toolbar
β ββ RadialMenu/ # Radial menu
β ββ AddApiKey/ # Add/batch import dialog
β ββ SearchResults/ # Search results & list
β ββ VirtualScroll/ # Virtual scroll component
β ββ ThemeToggle/ # Theme toggle component
ββ services/
β ββ apiKeyService.ts # Backend command interaction
β ββ inputValidation.ts # Normalization & validation
β ββ excelService.ts # Excel parsing with multi-language
β ββ searchOptimizationService.ts # Search optimization
β ββ securityService.ts # Security services
β ββ toastService.ts # Notification service
ββ contexts/
β ββ ThemeContext.tsx # Theme context
β ββ LocaleContext.tsx # Internationalization context
ββ hooks/
β ββ useSearch.ts # Search functionality hook
β ββ useAdaptiveTheme.ts # Adaptive theme hook
β ββ useBackgroundGradient.ts # Background gradient hook
β ββ useThemeTransition.ts # Theme transition hook
ββ i18n/
β ββ languages/ # Multi-language translation files
β ββ zh-CN.ts # Simplified Chinese
β ββ en-US.ts # English
β ββ ... (8 other languages)
ββ styles/
β ββ theme.css # Theme styles
β ββ tokens.css # Design tokens
ββ ...
public/
ββ preview.html # Independent preview window (multi-language)
ββ preview-i18n.js # Preview window i18n support
ββ templates/
ββ api_key_template.xlsx # Excel template (multi-language)
src-tauri/
ββ src/
β ββ commands/
β β ββ api_key_commands.rs # CRUD operations
β β ββ batch_import_commands.rs # Batch import commands
β β ββ window_commands.rs # Window management (multi-language)
β ββ database/ # SQLite access (sqlx)
β ββ security/ # Security module
β ββ lib.rs / main.rs # Tauri application entry
ββ tauri.conf.json # Tauri configuration
- Development:
npm run tauri:dev - Build:
npm run tauri:build - Unit Tests:
npm run test - Test UI:
npm run test:ui
TypeScript + React componentization; camelCase for frontend-backend interfaces
Backend: import_api_keys_batch(keys) (fields: name, keyValue, platform, description)
- Create new language file in
src/i18n/languages/(e.g.,de-DE.ts) - Reference existing format and translate all text
- Register new language in
src/i18n/index.ts - Add translation in
public/preview-i18n.js - Add window title translation in
get_preview_window_titlefunction
- Preview window uses independent i18n system (
preview-i18n.js) - Supports
data-i18nattribute for translatable elements - Window titles set dynamically via backend commands
- Define
COLUMN_HEADERSmapping insrc/services/excelService.ts - System auto-detects current language and matches headers
- Intelligent fallback to default language when match fails
API Key Manager supports 9 languages:
| Language | Code | Status |
|---|---|---|
| Simplified Chinese | zh-CN | β Full Support |
| English | en-US | β Full Support |
| Traditional Chinese | zh-TW | β Full Support |
| Portuguese | pt-BR | β Full Support |
| Spanish | es-ES | β Full Support |
| French | fr-FR | β Full Support |
| Italian | it-IT | β Full Support |
| Japanese | ja-JP | β Full Support |
| Russian | ru-RU | β Full Support |
- Select desired language in settings panel
- Interface updates immediately to selected language
- Independent preview window syncs language
- Excel import matches headers based on current language
Welcome to submit Issues / PRs to improve product experience and stability.
- Thanks to all developers who contributed to multi-language translations
- Thanks to users who provided bug feedback and feature suggestions
MIT License
Project Status: π Multi-language internationalization support completed - 2025-09-22
Latest Version: v0.1.0 with MSI installer available in src-tauri/target/release/bundle/msi/