Простий CLI-клієнт для Google Gemini, написаний на Rust. Утиліта надсилає prompt у Gemini API, потоково виводить відповідь у термінал і вміє зберігати API-ключ локально для повторного використання.
- запуск запитів до Gemini з термінала;
- інтерактивний ввід prompt, якщо не передано
--prompt; - вибір моделі через
--model; - локальне збереження API-ключа;
- опціональне виконання
bash/shкоманд, якщо модель повернула їх у fenced code block.
- Rust і Cargo;
- ключ доступу до Google Gemini API.
cargo build --releaseПісля збірки бінарник буде доступний за шляхом:
./target/release/gemini-clicargo install --path .Після цього команда gemini-cli буде доступна з термінала.
Збережи ключ один раз:
gemini-cli --set-key "YOUR_GEMINI_API_KEY"Якщо запускаєш без глобального встановлення:
./target/release/gemini-cli --set-key "YOUR_GEMINI_API_KEY"На Linux ключ зберігається у конфігураційній директорії застосунку, зазвичай:
~/.config/gemini-cli/api_key.txt
gemini-cli --prompt "Поясни, що таке async/await у Rust"gemini-cli --prompt "Напиши короткий SQL-запит" --model "gemini-2.5-flash-lite"gemini-cliCLI попросить ввести запит у терміналі й після цього надішле його до Gemini.
gemini-cli --helpОсновні опції:
-p, --prompt <PROMPT>— текст запиту;-m, --model <MODEL>— модель Gemini, за замовчуваннямgemini-2.5-flash-lite;--set-key <SET_KEY>— зберегти або оновити API-ключ.
Запуск усіх тестів:
cargo testШвидка перевірка релізної збірки:
cargo build --releaseТести в проєкті оформлені як модулі #[cfg(test)], тому вони компілюються лише для cargo test і не потрапляють у фінальний релізний бінарник під час cargo build --release або cargo install --path ..
Якщо відповідь моделі містить блоки виду:
```bash
echo "hello"
```CLI запропонує виконати знайдені команди. Можна:
- ввести один номер команди;
- ввести кілька номерів через кому, наприклад
3,6; - ввести
all, щоб виконати всі команди зі списку; - натиснути Enter, щоб скасувати.
Після виконання вибрані команди зникають зі списку, а CLI повторно запропонує виконати решту. Це дозволяє запускати команди поетапно, одну за одною, без перезапуску програми. Використовуй це обережно й перевіряй команди перед запуском.