Otwartoźródłowy Gemini CLI—agent AI działający w terminalu, który wprowadza Gemini do Twojej powłoki—szybko dojrzał od czasu premiery i obecnie obsługuje rozbudowaną konfigurację, pliki kontekstu projektu (GEMINI.md / .gemini), własne komendy typu slash oraz kontrolę katalogów przestrzeni roboczej. Projekt aktywnie ewoluuje na GitHubie (oficjalne repozytorium), wszedł w publiczną wersję zapoznawczą z hojnymi limitami i jest integrowany z innymi narzędziami deweloperskimi (integracje z edytorami oraz CI/Actions). Jednak wraz ze skalowaniem zespołów lub pracą na różnych dyskach czy w restrykcyjnych środowiskach (kontenery, laptopy zarządzane przez firmę, Cloud Shell, systemy Windows) szybko pojawia się praktyczne pytanie: gdzie Gemini przechowuje swoje pliki i jak można zmienić katalogi, z których Gemini czyta i do których zapisuje?
Czym jest Gemini CLI?
Gemini CLI to otwartoźródłowy agent AI Google w wierszu poleceń, który przenosi możliwości modeli Gemini bezpośrednio do Twojego terminala. Zapewnia interaktywne funkcje agenta do asysty przy kodzie, inspekcji plików i projektów, wykonywania poleceń powłoki (z mechanizmami zabezpieczającymi) oraz integracji narzędzi takich jak Google Search, rozszerzenia Model Context Protocol (MCP) i narzędzia generowania mediów dostarczane z Gemini. CLI jest projektowane jako lekkie, skryptowalne i rozszerzalne; jest dostępne z oficjalnego repozytorium i pakietowane tak, by ułatwić instalację.
Dlaczego katalog ma znaczenie
Gemini CLI przechowuje konfigurację (na przykład settings.json), podpowiedzi systemowe lub kontekst (GEMINI.md), buforowane poświadczenia, identyfikatory telemetryczne i inne trwałe dane w katalogu .gemini. Miejsce, w którym ten katalog się znajduje, determinuje:
- które ustawienia są ładowane przez CLI (globalne vs. specyficzne dla projektu),
- jakie pliki „pamięci” agent będzie odczytywać,
- gdzie buforowane są poświadczenia (wpływa na zachowanie logowania),
- odtwarzalność między maszynami lub w CI, gdy chcesz dostarczyć niestandardowe repozytorium konfiguracji.
Zrozumienie i (w razie potrzeby) zmiana katalogu pomaga w przepływach pracy obejmujących wiele projektów, CI, wdrożeniach kontenerowych oraz zespołach z centralnymi magazynami konfiguracji.
Gdzie domyślnie Gemini CLI przechowuje konfigurację?
Domyślnie CLI używa katalogu .gemini. W większości instalacji użytkowników oznacza to ~/.gemini (folder .gemini w Twoim katalogu domowym). CLI obsługuje również pliki .gemini na poziomie projektu (np. .gemini/settings.json w katalogu głównym projektu), które nadpisują ustawienia użytkownika, gdy pracujesz z tego folderu projektu. Ustawienia systemowe są odczytywane z lokalizacji zależnych od systemu operacyjnego (na przykład /etc/ w Linuksie lub %PROGRAMDATA% w Windows), gdy ma to zastosowanie. Typowe ścieżki:
- Linux / macOS:
~/.gemini/(na przykład/home/alice/.geminilub/Users/alice/.gemini). - Windows:
%USERPROFILE%\.gemini(np.C:\Users\Alice\.gemini).
Wewnątrz.geminizazwyczaj znajdzieszsettings.json,GEMINI.md,commands/oraz lokalne bufory. CLI odczytuje również foldery.gemini/na poziomie projektu (katalog główny projektu) dla ustawień specyficznych dla projektu.
Ten domyślny mechanizm jest istotny: historycznie katalog konfiguracji był na stałe ustawiony na .gemini w katalogu domowym
Jak zmienić lub przekierować katalog konfiguracji Gemini CLI?
Istnieje kilka praktycznych sposobów — od najprostszych (praca w docelowym folderze) po bardziej niezawodne (zmienne środowiskowe lub przekierowania systemu plików). Wybierz podejście w zależności od tego, czy kontrolujesz środowisko uruchomieniowe (lokalna maszyna deweloperska vs. CI), na którym systemie operacyjnym pracujesz oraz czy wolisz zmianę tymczasową czy trwałą.
1) Użyj .gemini na poziomie projektu (zalecane dla ustawień per‑projektowych)
Jeśli chcesz mieć ustawienia specyficzne dla projektu, utwórz podkatalog .gemini w katalogu głównym projektu i umieść tam settings.json, GEMINI.md i inne pliki projektu. Gemini CLI preferuje ustawienia projektu, gdy uruchamiasz go z katalogu tego projektu:
your-project/├─ .gemini/│ ├─ settings.json│ └─ GEMINI.md└─ src/
Uruchom gemini, gdy Twoja powłoka znajduje się w your-project/, a CLI pobierze pliki .gemini z tego drzewa (przeszukuje katalogi w górę, aby znaleźć kontekst projektu). To najbezpieczniejsza, jednoznaczna metoda konfiguracji per‑projektowej.
2) Użyj udokumentowanych zmiennych środowiskowych (gdy są obsługiwane)
Kod i dokumentacja Gemini CLI odnoszą się do kilku zmiennych środowiskowych używanych do modyfikowania zachowania. Część z nich jest przeznaczona do ustawień systemowych lub specjalnych nadpisań plików:
GEMINI_API_KEY,GEMINI_MODELitp. są powszechnie używane do uwierzytelniania i wyboru modelu.- W kodzie i dokumentacji są odniesienia do zmiennych takich jak
GEMINI_CLI_SYSTEM_SETTINGS_PATH(używana do nadpisania ścieżki ustawień systemowych) oraz stałych typuGEMINI_CONFIG_DIR(domyślna nazwa.geminiużywana w kodzie). Niektóre zgłoszenia społeczności i PR‑y proponują dodanie lub respektowanie zmiennej środowiskowejGEMINI_CONFIG_DIR, aby pozwolić użytkownikom przenieść cały katalog konfiguracji.
Przykład (bash / macOS / Linux):
# Temporary for this shell sessionexport GEMINI_CONFIG_DIR="$HOME/custom_gemini_dir"# Or override system settings path if your install supports it:export GEMINI_CLI_SYSTEM_SETTINGS_PATH="/etc/my-gemini/system.settings.json"# Then rungemini
PowerShell (Windows):
$env:GEMINI_CONFIG_DIR = 'C:\Users\you\CustomGemini'gemini
Ważna uwaga: zgodnie z najnowszymi dyskusjami społeczności i zgłoszeniami,
GEMINI_CONFIG_DIRbyła zgłaszana i pojawia się w kodzie w niektórych miejscach — jednak odnotowano błędy specyficzne dla platform i niespójne zachowanie (zwłaszcza w Windows). Oznacza to, że przekierowanie oparte na zmiennej środowiskowej może nie być jednolicie niezawodne na każdej platformie lub wydaniu. Sprawdź informacje o wydaniu Gemini CLI i zgłoszenia w repozytorium dla Twojej zainstalowanej wersji, jeśli polegasz na tej metodzie.
3) Dodaj katalogi do przestrzeni roboczej Gemini w trakcie sesji
Jeśli chcesz, aby Gemini uwzględniał dodatkowe katalogi (aby mógł czytać pliki jako kontekst), istnieje interaktywny zestaw poleceń /directory. Na przykład:
/directory add path/to/another/project/directory list
To nie przenosi katalogu konfiguracji, ale pozwala agentowi uwzględniać pliki z innych katalogów w kontekście przestrzeni roboczej. Jest to przydatne, gdy chcesz, aby agent odnosił się do innych repozytoriów bez zmieniania globalnej konfiguracji.
4) Utwórz dowiązanie symboliczne lub powiązanie systemu plików (praktyczny obejście)
Jeśli CLI nie akceptuje nadpisań przez zmienne środowiskowe albo potrzebujesz niezawodnego rozwiązania działającego między procesami, użyj przekierowania systemu plików:
Na Unix/macOS:
# move the original config foldermv ~/.gemini ~/gemini_backup# create a symlink to your desired locationln -s /path/to/central/gemini-config ~/.gemini
W systemie Windows (PowerShell z uprawnieniami administratora):
# Move the original directoryMove-Item -Path $env:USERPROFILE\.gemini -Destination C:\GeminiConfigBackup# Create a junction (administrator)New-Item -ItemType Junction -Path $env:USERPROFILE\.gemini -Target C:\CentralGeminiConfig
To podejście wymusza, aby CLI czytał z wybranej lokalizacji bez potrzeby natywnego wsparcia w CLI. Uwaga: dowiązania symboliczne/junctions wymagają odpowiednich uprawnień systemu plików i mogą zachowywać się inaczej w środowiskach kontenerowych lub w Windows. Stosuj ostrożnie. (Zobacz „Uwagi specyficzne dla Windows” poniżej.)
5) Zmień efektywny katalog domowy dla procesu (sposób dla kontenerów/CI)
Podczas uruchamiania w CI, kontenerach lub efemerycznych środowiskach możesz zmienić zmienną $HOME (Unix) lub %USERPROFILE% (Windows) dla procesu gemini, aby jego domyślny ~/.gemini wskazywał na kontrolowaną przez Ciebie ścieżkę:
# Run gemini with a custom HOME (bash)HOME=/ci/workspace/you gemini --some-command# Or in a container DockerfileENV HOME=/app/userRUN mkdir -p /app/user/.geminiCOPY config /app/user/.gemini
Jest to przydatne dla odtwarzalności w CI, ale pamiętaj: zmiana HOME może wpływać na inne narzędzia i przepływy uwierzytelniania (np. bufory OAuth Google), więc ogranicz tę technikę do izolowanych kontenerów lub opakowań na poziomie procesu.
Jak zainstalować i używać Gemini CLI za pośrednictwem CometAPI?
Krótka odpowiedź: masz dwie praktyczne ścieżki — (A) wywołuj modele Gemini bezpośrednio przez CometAPI (zalecane i najprostsze), lub (B) spraw, aby oficjalny Gemini CLI współpracował z CometAPI, używając wydania Gemini CLI, które obsługuje niestandardową bazową URL (niektóre wydania / PR‑y to dodają), albo uruchamiając mały lokalny proxy tłumaczący żądania Gemini CLI na wywołania w stylu CometAPI/OpenAI.
Czym jest CometAPI?
CometAPI to brama/warstwa agregacji API, która udostępnia setki modeli firm trzecich (w tym rodzinę Google Gemini) przez interfejs HTTP w stylu OpenAI. Rejestrujesz się, otrzymujesz klucz API typu bearer, a następnie wywołujesz końcówki takie jak https://api.cometapi.com/v1/chat/completions. CometAPI używa standardowych tokenów bearer w nagłówku Authorization.
Dlaczego warto używać CometAPI? Oferuje niższe ceny API niż oficjalne, aby ułatwić integrację. Przewodnik instalacji i użycia Gemini CLI:
Jak bezpośrednio wywoływać modele Gemini przez CometAPI? (Zalecane)
Jeżeli Twoim celem jest po prostu korzystanie z modeli Gemini i nie potrzebujesz ściśle funkcji Gemini CLI, bezpośrednie wywołania CometAPI są proste i niezawodne.
export COMET_KEY="sk-xxxx"curl -s -X POST "https://api.cometapi.com/v1/chat/completions" \ -H "Authorization: Bearer $COMET_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "gemini-2.5-pro", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Summarize the 3 key benefits of unit tests."} ], "max_tokens": 300 }' | jq .
Takie bezpośrednie wywołania pozwalają integrować CometAPI ze skryptami, aplikacjami lub CI bez polegania na Gemini CLI.
Czy mogę sprawić, by Gemini CLI używał CometAPI?
Niektóre wersje/PR‑y Gemini CLI dodają zmienne środowiskowe do nadpisywania bazowej URL API Gemini. Jeśli zainstalowany gemini obsługuje konfigurację niestandardowej bazowej URL Gemini + użycie klucza CometAPI, możesz wskazać ją na CometAPI i ustawić klucz CometAPI jako GEMINI_API_KEY (CLI oczekuje zmiennej klucza o nazwie GEMINI_API_KEY do uwierzytelniania w API Gemini).
Przykład:
# example env — *check your gemini-cli docs for exact var names*export GEMINI_API_KEY="sk-xxxxx" # CometAPI keyexport GOOGLE_GEMINI_BASE_URL="https://api.cometapi.com/v1" # if supportedgemini # run the CLI; it will use the configured base URL
Rozwiązywanie problemów: typowe problemy i rozwiązania
Problem: Gemini nie widzi plików w innym repozytorium
- Spróbuj
gemini --include-directories /path/to/repopodczas uruchamiania. Albo w trakcie sesji:/directory add /path/to/repo. - Jeśli repozytorium znajduje się na montowanym zasobie sieciowym, sprawdź uprawnienia oraz czy użytkownik procesu CLI może odczytać pliki.
- Jeśli użyłeś dowiązania (symlink), aby przenieść
.gemini, upewnij się, że CLI podąża za dowiązaniem dlaGEMINI.mdisettings.json(niektóre wersje nie obsługują określonych dowiązań ze względów bezpieczeństwa).
Problem: gemini nie może utworzyć ~/.gemini w Windows (EPERM)
Zwykle oznacza to, że proces nie ma uprawnień do zapisu w %USERPROFILE%. Rozwiązania:
- Uruchom terminal jako Administrator lub dostosuj uprawnienia folderu.
- Ustaw niestandardową lokalizację konfiguracji przez dowiązanie lub — gdy obsługiwane — przez zmienną środowiskową (śledź przyszłe wsparcie
GEMINI_CONFIG_DIR).
Problem: cd nie zmienia katalogu roboczego w trybie powłoki
To uznany problem na niektórych platformach. Zalecenie: wykonuj polecenia powłoki poza procesem Gemini CLI lub dodawaj katalogi przez /directory add.
Problem: nazwy modeli CometAPI nie odpowiadają oczekiwaniom
Wywołaj końcówkę /v1/models i przeanalizuj JSON. Identyfikatory modeli często zawierają dokładne warianty (np. gemini-2.5-flash-preview-04-17). Używaj dokładnego ciągu w żądaniu.
Podsumowanie
Domyślna konstrukcja Gemini CLI sprzyja rozsądnemu, łatwemu do odkrycia zachowaniu: globalny ~/.gemini dla domyślnych ustawień użytkownika oraz .gemini w projekcie dla nadpisań per‑repozytorium. Społeczność naciska na większą natywną konfigurowalność (jawne zmienne środowiskowe lub flagi), aby uczynić narzędzie bardziej przyjaznym w środowiskach wieloużytkownikowych, kontenerowych i korporacyjnych.
Jak zmienić katalog Gemini CLI:
Przegląd: Gemini CLI przechowuje konfigurację użytkownika i pliki kontekstu w katalogu .gemini (zwykle ~/.gemini). Możesz wpływać na to, którego katalogu CLI używa, poprzez (1) poleganie na .gemini na poziomie projektu w bieżącym katalogu roboczym, (2) użycie zmiennych środowiskowych lub opcji CLI, gdy są obsługiwane, (3) dodawanie katalogów przestrzeni roboczej w trakcie interaktywnej sesji, lub (4) techniki systemu plików (dowiązania symboliczne, bind mounty lub zmiana zmiennych home/profile), gdy brakuje natywnych opcji.
Na początek, eksploruj możliwości modeli Gemini (takich jak Gemini 3 Pro) w Playgroundzie i zapoznaj się z przewodnikiem API po szczegółowe instrukcje. Przed dostępem upewnij się, że zalogowałeś się do CometAPI i uzyskałeś klucz API. CometAPI oferuje ceny znacznie niższe niż oficjalne, aby ułatwić integrację.
Gotowy do działania?→ Darmowa wersja próbna modeli Gemini !


