Praktyczne ćwiczenia z interfejsem wiersza poleceń Gemini

1. Wprowadzenie

Z tego przewodnika dowiesz się więcej o interfejsie wiersza poleceń Gemini, czyli agencie AI typu open source, który udostępnia możliwości Gemini bezpośrednio w terminalu.

Projekt interfejsu wiersza poleceń Gemini jest open source. Publiczny harmonogram znajdziesz tutaj.

Czego się nauczysz

  1. Instalowanie i konfigurowanie interfejsu wiersza poleceń Gemini
  2. Poznawanie narzędzi, wbudowanych poleceń i konfigurowanie serwerów MCP w interfejsie wiersza poleceń Gemini
  3. Dostosowywanie interfejsu wiersza poleceń Gemini za pomocą pliku GEMINI.md
  4. Poznaj kilka przypadków użycia interfejsu wiersza poleceń Gemini

Czego potrzebujesz

Ten samouczek możesz w całości wykonać w Google Cloud Shell, gdzie interfejs Gemini CLI jest już zainstalowany.

Jeśli wolisz pracować na własnym komputerze, możesz zainstalować interfejs wiersza poleceń Gemini lokalnie.

Potrzebujesz tych informacji:

  • przeglądarki Chrome,
  • konto Gmail,

Te warsztaty są przeznaczone dla użytkowników i deweloperów na wszystkich poziomach zaawansowania (w tym dla początkujących). Przykłady użycia w tym laboratorium zostały podzielone na zadania dla deweloperów i osób, które nie są deweloperami. Przykłady użycia przez deweloperów pokazują, jak używać kodu w interfejsie Gemini CLI i jak pracować z repozytorium GitHub, aby wykonywać typowe zadania programistyczne, takie jak wyjaśnianie i rozumienie kodu, generowanie dokumentacji, rozwiązywanie problemów i inne. Zalecamy wykonanie tych przypadków użycia w ramach laboratorium programowania. Na końcu znajduje się sekcja opcjonalna, która obejmuje kilka codziennych zadań niezwiązanych z programowaniem.

2. Zanim zaczniesz

Utwórz projekt

  1. W konsoli Google Cloud na stronie selektora projektów wybierz lub utwórz projekt Google Cloud.
  2. Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie włączone są płatności.
  1. Będziesz używać Cloud Shell, czyli środowiska wiersza poleceń działającego w Google Cloud, które jest wstępnie załadowane narzędziem bq. U góry konsoli Google Cloud kliknij Aktywuj Cloud Shell.

Obraz przycisku Aktywuj Cloud Shell

  1. Po połączeniu z Cloud Shell sprawdź, czy jesteś już uwierzytelniony i czy projekt jest ustawiony na Twój identyfikator projektu, używając tego polecenia:
gcloud auth list
  1. Aby potwierdzić, że polecenie gcloud zna Twój projekt, uruchom w Cloud Shell to polecenie:
gcloud config list project
  1. Jeśli projekt nie jest ustawiony, użyj tego polecenia, aby go ustawić:
gcloud config set project <YOUR_PROJECT_ID>

3. Instalacja

Zanim skonfigurujesz i uruchomisz interfejs Gemini CLI, utwórz folder, który będzie służyć jako folder domowy dla wszystkich projektów, które w nim utworzysz. Jest to punkt wyjścia dla interfejsu Gemini CLI, ale będzie on też odwoływać się do innych folderów w systemie, do których w razie potrzeby wrócisz później.

Utwórz przykładowy folder (gemini-cli-projects) i przejdź do niego za pomocą poleceń pokazanych poniżej. Jeśli wolisz użyć innej nazwy folderu, możesz to zrobić.

mkdir gemini-cli-projects

Przejdźmy do tego folderu:

cd gemini-cli-projects

Interfejs Gemini CLI możesz uruchomić bezpośrednio za pomocą polecenia gemini.

Przejdź bezpośrednio do następnej sekcji (konfiguracja interfejsu Gemini CLI za pomocą pliku settings.json).

Jeśli chcesz zainstalować interfejs wiersza poleceń Gemini lokalnie, postępuj zgodnie z instrukcjami poniżej.

Pierwszym krokiem jest zainstalowanie na komputerze Node 20 lub nowszej wersji. Po wykonaniu tych czynności możesz zainstalować i uruchomić interfejs wiersza poleceń Gemini za pomocą jednej z tych metod:

  1. Najpierw możesz zainstalować interfejs wiersza poleceń Gemini globalnie w systemie. Aby wykonać ten krok, możesz potrzebować dostępu administratora.
# option 1: install Gemini CLI

npm install -g @google/gemini-cli

# .. and then run
gemini
  1. Uruchom go za pomocą tego polecenia:
# option 2: run without installing Gemini CLI

npx https://github.com/google-gemini/gemini-cli

Aby sprawdzić, czy wiersz poleceń jest zainstalowany, uruchom to polecenie:

gemini --version

Jeśli interfejs wiersza poleceń Gemini został uruchomiony jedną z powyższych metod, powinien pojawić się ekran z pytaniem o wybór motywu. Wybierz jeden z nich:

9b02bd0bf1c670d.png

Po wybraniu tej opcji pojawi się prośba o podanie metody uwierzytelniania. W tym module zalecamy używanie osobistego konta Google, a nie kont niezwiązanych z Google ani Google Workspace. Bezpłatna licencja daje dostęp do Gemini 2.5 Pro i okna kontekstu z milionem tokenów. Bezpłatny poziom umożliwia wysyłanie 60 żądań modelu na minutę i 1000 żądań dziennie bez opłat.

Jeśli wyczerpiesz obecny bezpłatny limit przyznany kontom Google, możesz użyć klucza interfejsu Gemini API lub nawet Google Cloud Vertex AI, gdzie musisz mieć identyfikator projektu i nazwę lokalizacji tego projektu. Jeśli planujesz używać innych metod uwierzytelniania, zapoznaj się z sekcją Uwierzytelnianie w dokumentacji.

afce8d90e20adb6.png

Kliknij Enter. Spowoduje to otwarcie w przeglądarce strony uwierzytelniania Google. Przeprowadź uwierzytelnianie za pomocą konta Google, zaakceptuj warunki i gdy uwierzytelnianie się powiedzie, zobaczysz, że interfejs Gemini CLI jest gotowy i czeka na Twoje polecenie. Przykładowy zrzut ekranu znajdziesz poniżej:

ffd8ddfede565612.png

4. Konfigurowanie interfejsu wiersza poleceń Gemini za pomocą pliku settings.json

Jeśli do uruchamiania Gemini wybierzesz Cloud Shell, domyślny motyw interfejsu Gemini CLI i metoda uwierzytelniania zostaną już wybrane i skonfigurowane.

Jeśli interfejs wiersza poleceń Gemini został zainstalowany na komputerze i uruchomiony po raz pierwszy, wybrano motyw, a następnie metodę autoryzacji.

Podczas kolejnych uruchomień interfejsu wiersza poleceń Gemini nie będzie już wyświetlana prośba o wybranie motywu i metody uwierzytelniania. Oznacza to, że jest on zapisywany w określonym miejscu, a plik, którego używa, nazywa się settings.json. Jest to sposób na dostosowanie interfejsu Gemini CLI.

Ustawienia są stosowane w następującej kolejności (Cloud Shell udostępnia tylko ustawienia użytkownika):

  1. System: /etc/gemini-cli/settings.json (dotyczy wszystkich użytkowników, zastępuje ustawienia użytkownika i przestrzeni roboczej).
  2. Obszar roboczy: .gemini/settings.json (zastępuje ustawienia użytkownika).
  3. Użytkownik: ~/.gemini/settings.json.

Użytkownik Windowsa: %USERPROFILE%.gemini\settings.json (zwykle rozwija się do C:\Users&lt;YourUsername>.gemini\settings.json)

System: %ProgramData%\gemini-cli\settings.json (zwykle C:\ProgramData\gemini-cli\settings.json)

Użytkownik Maca: ~/.gemini/settings.json (który rozwija się do /Users/<YourUsername>/.gemini/settings.json)

System: /etc/gemini-cli/settings.json

Jeśli pamiętasz, podczas wybierania motywu ustawienia zostały zapisane w Ustawieniach użytkownika. Otwórz ~/.gemini folder, a zobaczysz plik settings.json.

Mój plik settings.json jest widoczny poniżej. Gdyby był wybrany inny motyw, jego nazwa byłaby widoczna w tym miejscu.

{
  "theme": "Default",
  "selectedAuthType": "oauth-personal" or "cloud-shell"
}

5. Pierwsza interakcja z interfejsem wiersza poleceń Gemini

Zacznijmy od interfejsu wiersza poleceń Gemini i wpisz pierwsze zapytanie, jak pokazano poniżej:

Give me a famous quote on Artificial Intelligence and who said that?

Oczekiwana odpowiedź jest widoczna poniżej:

4dc0961206c1b568.png

Zauważysz, że w wyniku naszego zapytania wywołane zostało narzędzie GoogleSearch (wbudowane w interfejs wiersza poleceń Gemini). Innymi słowy, masz już za sobą użycie jednego z zaawansowanych wbudowanych narzędzi interfejsu Gemini CLI, a mianowicie GoogleSearch, które opiera swoje odpowiedzi na informacjach pobranych z internetu. Więcej informacji o narzędziach znajdziesz w następnej sekcji.

Aby szybko poznać interfejs wiersza poleceń Gemini i różne obsługiwane przez niego polecenia, wpisz /help (ukośnik). Zobaczysz różne polecenia i skróty klawiszowe, jak pokazano poniżej:

d333742310905dcc.png

Na razie zamknijmy interfejs wiersza poleceń Gemini. Możesz to zrobić za pomocą polecenia /quit lub dwukrotnie wpisać Ctrl-C w interaktywnej sesji terminala interfejsu wiersza poleceń Gemini.

6. Interfejs wiersza poleceń Gemini – parametry poleceń

Podczas uruchamiania interfejsu Gemini CLI można podać kilka parametrów wiersza poleceń. Aby uzyskać pełną listę opcji, możesz użyć znaku --help, jak pokazano poniżej.

gemini --help

Powinna się wyświetlić pełna lista dostępnych opcji. Zachęcamy do zapoznania się z dokumentacją tutaj.

Przyjrzyjmy się kilku z nich. Pierwszy sposób to skonfigurowanie interfejsu wiersza poleceń Gemini tak, aby korzystał z modelu Pro lub Flash. W momencie pisania tego laboratorium obsługiwane są tylko te 2 modele. Domyślnie używany jest model Gemini 2.5 Pro, ale jeśli chcesz używać modelu Flash, możesz to zrobić podczas uruchamiania Gemini CLI za pomocą parametru -m, jak pokazano poniżej:

gemini -m "gemini-2.5-flash"

Jeśli zaczniesz w opisany powyżej sposób, możesz sprawdzić model w prawym dolnym rogu terminala interfejsu wiersza poleceń Gemini, jak pokazano poniżej:

6e662d03b61b2b3f.png

Tryb nieinteraktywny

Ciekawą opcją jest uruchomienie interfejsu wiersza poleceń Gemini w trybie nieinteraktywnym. Oznacza to, że bezpośrednio podajesz prompt, a model odpowiada na niego bez otwierania interaktywnego terminala interfejsu wiersza poleceń Gemini. Jest to bardzo przydatne, jeśli planujesz używać interfejsu wiersza poleceń Gemini w sposób zautomatyzowany w ramach skryptu lub innego procesu automatyzacji. Aby przekazać prompt do interfejsu Gemini CLI, użyj parametru -p, jak pokazano poniżej:

gemini -p "What is the gcloud command to deploy to Cloud Run"

Pamiętaj, że nie możesz kontynuować rozmowy, zadając dodatkowe pytania. Ten tryb nie pozwala też na autoryzowanie narzędzi (w tym WriteFile) ani na uruchamianie poleceń powłoki.

7. Interfejs wiersza poleceń Gemini – wbudowane narzędzia

Interfejs Gemini CLI zawiera zestaw wbudowanych narzędzi, a w dokumentacji narzędzi czytamy: „Model Gemini używa tych narzędzi do interakcji z lokalnym środowiskiem, uzyskiwania dostępu do informacji i wykonywania działań. Narzędzia te zwiększają możliwości interfejsu CLI, umożliwiając mu wyjście poza generowanie tekstu i pomagając w wykonywaniu szerokiego zakresu zadań”.

Aby uzyskać listę bieżących narzędzi wbudowanych, wywołaj polecenie /tools w sposób pokazany poniżej:

39939257e3f3818e.png

Jedną z pierwszych rzeczy, które powinny Cię zainteresować, jest pytanie, czy interfejs wiersza poleceń Gemini może po prostu wywoływać te narzędzia, gdy tego potrzebuje. W przypadku operacji wrażliwych, które mogą obejmować zapisywanie w systemie lokalnym, odczytywanie z systemu zewnętrznego, łączenie się z siecią zewnętrzną itp., domyślna odpowiedź to nie.

Po uruchomieniu interfejsu wiersza poleceń dostępny jest --yolomode (zwykle nie jest to zalecane), ale interfejs Gemini CLI poprosi Cię o zezwolenie na uruchomienie wybranego narzędzia. Możesz odmówić przyznania uprawnień, zezwolić na jednorazowe uruchomienie lub przyznać uprawnienia do uruchamiania w każdej sytuacji. Masz pełną kontrolę nad tym, co się dzieje.

Użyjemy prompta, który sprawi, że interfejs wiersza poleceń Gemini wybierze jedno z wbudowanych narzędzi do wykonania zadania. Dzięki temu lepiej zrozumiesz, jak to wszystko działa.

Wyobraź sobie, że chcesz uzyskać informacje o najnowszych wiadomościach finansowych z całego świata i zapisać je w pliku w lokalnym katalogu roboczym, z którego uruchomiono interfejs Gemini CLI. Użyj tego prompta:

Search for the latest headlines today in the world of finance and save them in a file named finance-news-today.txt

Wyobraź sobie, co powinno robić. Najlepiej, gdyby wyszukiwało w Google wiadomości z odpowiednich źródeł informacji, które mogą dostarczać wiadomości finansowe. Następnie musi utworzyć plik o nazwie finance-news-today.txt (operacja zapisu w systemie lokalnym, która będzie wymagać Twojej zgody) z jego zawartością.

Zobaczmy, co się stanie (zrób to samo na swoim komputerze).

Najpierw wywołuje narzędzie GoogleSearch, aby wyszukać informacje w internecie.

122e6e4b01d05e69.png

Po zakończeniu wyszukiwania pobiera dane w sposób pokazany poniżej:

b721f40e6f643318.png

Gdy to zrobi, będzie gotowy do zapisania tych informacji w pliku. Użyje do tego narzędzia WriteFile, ale ponieważ jest to operacja wymagająca szczególnej ostrożności (zapis), poprosi Cię o zgodę. Możesz określić typ uprawnień , np. zezwól raz, zezwalaj zawsze itp. Na razie wybierz zezwól raz.

e92f3a4774dc1e7.png

Spowoduje to zapisanie informacji w pliku, a poniżej pojawi się komunikat o powodzeniu:

33c6afdb89033c35.png

Jak sprawdzić, czy plik jest zapisany? Możesz użyć @file, aby poprosić o odczytanie treści. Gdy wpiszesz @, wyświetli się lista plików w bieżącym folderze, w tym nowo utworzony plik. Wybierz ją i prześlij prompta. Mój prompt jest widoczny poniżej:

read the contents of @finance-news-today.txt

W rezultacie zostaną wywołane wymagane narzędzia (ReadManyFiles, ReadFile), a zawartość zostanie wyświetlona w sposób pokazany poniżej:

6f214cd743646f44.png

8. Interfejs wiersza poleceń Gemini – tryb powłoki

To dobry moment, aby dowiedzieć się, jak bezpośrednio korzystać z powłoki w interfejsie Gemini CLI. Aby przejść do trybu powłoki, naciśnij ! w polu wiadomości. Spowoduje to przełączenie na tryb Shell. Aby wrócić, naciśnij ponownie ! lub klawisz ESC.

W trybie powłoki na początku promptu zobaczysz znak !, jak pokazano poniżej:

9e239408835a3acd.png

Możesz to sprawdzić bezpośrednio za pomocą standardowych poleceń, takich jak pwdls, jak pokazano poniżej. Pamiętaj, że polecenia zakładają system operacyjny typu Linux. Jeśli korzystasz z innego systemu operacyjnego (Windows), użyj odpowiednich poleceń, np. cd, dirtype. Pamiętaj, że wynik tych wywołań jest uwzględniany w oknie kontekstu modelu.

2f5d53d3c77fc8e2.png

Możesz wydrukować zawartość pliku za pomocą polecenia cat.

2249b5c80e3ae2c0.png

Ćwiczenie: oto krótkie ćwiczenie, które możesz wypróbować. Wybierz kanał RSS. Wpisz prompt w interfejsie wiersza poleceń Gemini, aby pobrać zawartość kanału RSS i sformatować wyniki w określony sposób. To dobry sposób na zautomatyzowanie czegoś na początku dnia. Możesz nawet poprosić interfejs Gemini CLI o sprawdzenie, czy w określonym obszarze jest dostępny kanał RSS, np. w przypadku informacji o wersjach Google Cloud Platform.

Przykładowy prompt:

Get the latest release notes for Google Cloud from its RSS Feed and display the key points in a well-formatted list.

Ten prompt powinien najpierw wywołać narzędzie GoogleSearch, aby znaleźć kanał RSS Google Cloud Platform, a następnie użyć narzędzia WebFetch, aby pobrać zawartość kanału RSS i ją wyświetlić.

9. Konfigurowanie serwerów protokołu kontekstu modelu (MCP)

Serwer MCP to aplikacja, która udostępnia narzędzia i zasoby interfejsowi Gemini CLI za pomocą protokołu Model Context Protocol, umożliwiając mu interakcję z systemami zewnętrznymi i źródłami danych. Serwery MCP działają jako pomost między modelem Gemini a środowiskiem lokalnym lub innymi usługami, takimi jak interfejsy API.

Serwer MCP umożliwia interfejsowi Gemini CLI wykrywanie i wykonywanie narzędzi, co rozszerza jego możliwości o działania wykraczające poza wbudowane funkcje, takie jak interakcja z bazami danych, interfejsami API, niestandardowymi skryptami czy specjalistycznymi przepływami pracy.

Interfejs wiersza poleceń Gemini obsługuje konfigurowanie serwerów MCP na potrzeby wykrywania i używania narzędzi niestandardowych. Jeśli masz uruchomiony interfejs wiersza poleceń Gemini, możesz sprawdzić skonfigurowane serwery MCP za pomocą polecenia /mcp, jak pokazano poniżej:

255a14eb31529370.png

Jeśli nie masz skonfigurowanych żadnych serwerów MCP, uruchomi się dokumentacja serwera MCP w interfejsie Gemini CLI.

Serwery MCP możesz skonfigurować na poziomie globalnym w pliku ~/.gemini/settings.json lub w katalogu głównym projektu. Utwórz lub otwórz plik .gemini/settings.json. W pliku musisz dodać blok konfiguracji mcpServers, jak pokazano poniżej:

"mcpServers": {
    "server_name_1": {},
    "server_name_2": {},
    "server_name_n": {}
 }

Każda konfiguracja serwera obsługuje te właściwości ( dokumentacja):

Wymagane (jedno z tych pól)

  • command (string): ścieżka do pliku wykonywalnego transportu Stdio
  • url (string): adres URL punktu końcowego SSE (np. "http://localhost:8080/sse")
  • httpUrl (string): adres URL punktu końcowego transmisji strumieniowej HTTP.

Opcjonalny

  • args (string[]): argumenty wiersza poleceń dla transportu Stdio.
  • headers (object): niestandardowe nagłówki HTTP podczas korzystania z parametrów url lub httpUrl.
  • env (obiekt): zmienne środowiskowe procesu serwera. Wartości mogą odwoływać się do zmiennych środowiskowych za pomocą składni $VAR_NAME lub ${VAR_NAME}.
  • cwd (string): katalog roboczy dla transportu Stdio
  • timeout (number): limit czasu żądania w milisekundach (domyślnie: 600 000 ms = 10 minut).
  • trust (boolean): jeśli ma wartość „true”, pomija wszystkie potwierdzenia wywołań narzędzi dla tego serwera (domyślnie: false).
  • includeTools (string[]): lista nazw narzędzi do uwzględnienia z tego serwera MCP. Jeśli ta opcja jest włączona, na tym serwerze będą dostępne tylko wymienione tu narzędzia (działanie białej listy). Jeśli nie określisz żadnych narzędzi, domyślnie włączone będą wszystkie narzędzia z serwera.
  • excludeTools (string[]): lista nazw narzędzi, które mają być wykluczone z tego serwera MCP. Wymienione tu narzędzia nie będą dostępne dla modelu, nawet jeśli są udostępniane przez serwer. Uwaga: excludeTools ma wyższy priorytet niż includeTools – jeśli narzędzie znajduje się na obu listach, zostanie wykluczone.

Skonfigurujmy jeden z kluczowych serwerów MCP, który może być potrzebny, jeśli korzystasz z GitHub. Pewnie zadajesz sobie pytanie: jeśli masz już skonfigurowane w systemie narzędzie Git i inne powiązane narzędzia, czy nadal potrzebujesz serwera MCP GitHub?

Interfejs wiersza poleceń Gemini wywoła narzędzia Git, które masz w systemie. Możesz też poinstruować go, aby ich używał. Pamiętaj, że interfejs Gemini CLI pomoże Ci przetłumaczyć zapytania w języku naturalnym na równoważne narzędzia, które możesz mieć w systemie. Może to wymagać wyraźnego podania tej informacji w prompcie.

Jeśli masz już skonfigurowane w systemie te elementy, nie musisz czytać następnej sekcji, aby skonfigurować serwer MCP GitHub:

  • narzędzia Git (oznacza to, że możesz wykonywać w systemie polecenia takie jak git init, git add itp.);
  • gh : to GitHub w wierszu poleceń. Umożliwia korzystanie z żądań scalenia, problemów i innych funkcji GitHuba w terminalu, w którym pracujesz już z gitem i kodem. Zainstaluj go tutaj i sprawdź jego konfigurację za pomocą kilku poleceń, zwłaszcza w zakresie uwierzytelniania na GitHubie z Twojego urządzenia.

Jeśli nadal chcesz wypróbować serwer Github MCP, zapoznaj się z następną sekcją. Możesz też ją pominąć.

Serwer MCP GitHub

Oficjalny serwer MCP na GitHubie zawiera wystarczającą dokumentację dotyczącą udostępnianych narzędzi oraz sposobu ich konfigurowania. Możesz wybrać, czy chcesz uruchamiać go lokalnie, czy zdalnie, ponieważ interfejs Gemini CLI obsługuje też zdalne serwery MCP.

W tym samouczku pokazujemy opcję zdalnego serwera MCP w GitHubie. W tym celu musisz najpierw mieć osobisty token dostępu (PAT) z GitHuba.

Gdy to zrobisz, musisz dodać obiekt serwera MCP w pliku settings.json. Poniżej znajdziesz pełną wersję pliku settings.json w moim systemie. Możesz mieć dodatkowe ustawienia, ale obiekt mcpServers powinien wyglądać tak jak poniżej:

{
  "theme": "Default",
  "selectedAuthType": "oauth-personal",
  "mcpServers": {
       "github": {
            "httpUrl": "https://api.githubcopilot.com/mcp/",
            "headers": {
                "Authorization": "GITHUB_PAT"
            },
            "timeout": 5000
       }
  }
}

Po zaktualizowaniu pliku settings.json o konfigurację serwera MCP GitHub możesz ponownie uruchomić interfejs Gemini CLI lub wykonać polecenie /mcp refresh. Na zrzucie ekranu poniżej widać serwer MCP GitHub skonfigurowany na moim komputerze oraz różne narzędzia, które są teraz dostępne w interfejsie Gemini CLI do pracy z MCP.

e34f348129d448e9.png

Zacznijmy od prompta, który wywoła jedno z narzędzi z serwera Github MCP. Wpisz ten prompt:

da643d182ac3fca4.png

Zauważ, że wybierze ono odpowiednie narzędzie z serwera Github MCP, ale podobnie jak w przypadku innych wbudowanych narzędzi będzie wymagać Twojej wyraźnej zgody na jego wywołanie. Sprawdź, jakie dane wyjściowe uzyskasz.

Teraz możesz pracować nad jednym z projektów w GitHubie. Możesz zadawać pytania w języku naturalnym, np.:

  • Opisz mi <repo-name>.
  • Sklonuj <repo-name> na moim komputerze lokalnym.
  • Opisz @<nazwa-pliku> lub @<nazwa-katalogu>/
  • Jakie są poszczególne komponenty tego repozytorium?
  • Wprowadziłem(-am) wymagane zmiany. Czy możesz przesłać zmiany do GitHub i użyć narzędzi serwera MCP GitHub?

W dalszej części tego modułu znajdziesz ćwiczenie, w którym szczegółowo omówimy pracę z serwerem MCP GitHub.

Serwer MCP Context7

Context7 udostępnia aktualną dokumentację modeli LLM i edytorów kodu AI. Jeśli chcesz przekazać modelowi LLM kontekst z najnowszą dokumentacją wybranego frameworka, warto skonfigurować serwer Context7 MCP.

Sprawdź, czy biblioteka jest widoczna na stronie głównej Context7.

Oto serwer MCP, który musisz dodać w pliku settings.json.

"context7": {
      "httpUrl": "https://mcp.context7.com/mcp"
    }

Po skonfigurowaniu serwera MCP i załadowaniu w nim interfejsu Gemini CLI powinny być widoczne narzędzia Context7, jak pokazano poniżej:

92f715d87989ff72.png

Możesz teraz precyzyjnie określić prompt i poprosić interfejs Gemini CLI o użycie Context7 w celu uzyskania najnowszej dokumentacji podczas generowania aplikacji lub fragmentu kodu przy użyciu konkretnego frameworka XYZ.

Oto przykładowy prompt, w którym chcę napisać agenta przy użyciu pakietu Agent Development Kit (ADK) od Google. W prompcie proszę o sprawdzenie dokumentacji na ten temat na serwerze Context7 MCP.

I am working on coding an Agent using the Agent Development Kit (ADK) from Google. I would like to know how to create the LLMAgent in Python. Use Context7 for the latest documentation on ADK and specifically use /google/adk-python, /google/adk-docs and adk.wiki 

Oto otrzymane dane wyjściowe:

fe79972a61372d59.png

Serwer MCP Prezentacji Google

Projekt Github na stronie https://github.com/matteoantoci/google-slides-mcp udostępnia serwer MCP do interakcji z interfejsem Google Slides API. Umożliwia tworzenie, odczytywanie i modyfikowanie prezentacji Google za pomocą kodu.

Instrukcje konfigurowania serwera MCP znajdziesz w projekcie. Musisz mieć środowisko Node.js, w którym zbudujesz serwer, skonfigurujesz projekt Google Cloud i tokeny OAuth 2.0, a następnie skonfigurujesz serwer MCP w pliku settings.json.

Po skonfigurowaniu możesz używać promptów takich jak:

  • Wyodrębnij najnowsze informacje z „web_url”, podsumuj je w postaci najważniejszych punktów i utwórz prezentację o nazwie „my_presentation”.

Wypróbuj tę funkcję!

Więcej serwerów MCP

Oto dodatkowa lista serwerów MCP, które mogą Cię zainteresować:

  1. Serwer MCP Firebase
  2. Usługi multimedialne Google Gen AI (Imagen, Veo, Lyria)
  3. MCP Toolbox for Databases (praca z bazami danych Firestore, BigQuery i Google Cloud)
  4. Serwer MCP Google Workspace (praca z Dokumentami, Arkuszami, Kalendarzem i Gmailem)

Instrukcje konfiguracji powyższych serwerów MCP znajdziesz w tym poście na blogu.

10. Dostosowywanie interfejsu wiersza poleceń Gemini za pomocą pliku GEMINI.md

Jeśli do tej pory korzystałeś(-aś) z interfejsu wiersza poleceń Gemini, być może zauważyłeś(-aś), że po prostu podawaliśmy prompt i oczekiwaliśmy, że interfejs wiersza poleceń Gemini go wykona, czasami z wynikami, które nie spełniały naszych oczekiwań. W niektórych promptach podajesz konkretne instrukcje, co należy zrobić.

Może to działać zgodnie z instrukcjami, które przekazujesz interfejsowi wiersza poleceń Gemini, i z uzyskiwanymi wynikami. W wielu przypadkach chcesz jednak mieć pewność, że jest ona zgodna z zasadami. Mogą to być konkretne języki programowania lub platformy, których należy używać. Mogą to być też konkretne narzędzia. Mogą to być style kodowania. Nie chodzi tylko o generowanie, ale możesz też chcieć, aby interfejs Gemini CLI działał w tzw. trybie „planowania” i tylko przedstawiał plan, a nie generował kodu ani nie modyfikował plików w systemie.

Wpisz GEMINI.md. Jest to plik kontekstu (domyślnie GEMINI.md, ale można go skonfigurować za pomocą właściwości contextFileName w pliku settings.json), który ma kluczowe znaczenie dla konfigurowania kontekstu instrukcyjnego (zwanego też „pamięcią”) przekazywanego do modelu Gemini. Ten plik umożliwia przekazywanie AI instrukcji dotyczących projektu, przewodników po stylu kodowania lub wszelkich istotnych informacji, dzięki czemu odpowiedzi będą bardziej dopasowane i dokładne.

Plik GEMINI.md jest w formacie Markdown i wczytuje się hierarchicznie, łącząc informacje z wielu lokalizacji.

Kolejność wczytywania jest następująca:

  1. Kontekst globalny: **~/.gemini/GEMINI.md** (w przypadku instrukcji, które mają zastosowanie do wszystkich Twoich projektów).
  2. Kontekst projektu lub elementu nadrzędnego: interfejs CLI wyszukuje pliki GEMINI.md w bieżącym katalogu i w katalogach powyżej aż do katalogu głównego projektu.
  3. Kontekst podkatalogu: interfejs wiersza poleceń skanuje też podkatalogi w poszukiwaniu plików GEMINI.md, co umożliwia stosowanie instrukcji dotyczących poszczególnych komponentów.

Możesz użyć /memory show, aby zobaczyć ostateczny połączony kontekst wysyłany do modelu.

Jak wygląda GEMINI.md? Przygotowaliśmy jeden na podstawie oficjalnej dokumentacji:

# Project: My Awesome TypeScript Library

## General Instructions:

- When generating new TypeScript code, please follow the existing coding style.
- Ensure all new functions and classes have JSDoc comments.
- Prefer functional programming paradigms where appropriate.
- All code should be compatible with TypeScript 5.0 and Node.js 20+.

## Coding Style:

- Use 2 spaces for indentation.
- Interface names should be prefixed with `I` (e.g., `IUserService`).
- Private class members should be prefixed with an underscore (`_`).
- Always use strict equality (`===` and `!==`).

## Specific Component: `src/api/client.ts`

- This file handles all outbound API requests.
- When adding new API call functions, ensure they include robust error handling and logging.
- Use the existing `fetchWithRetry` utility for all GET requests.

## Regarding Dependencies:

- Avoid introducing new external dependencies unless absolutely necessary.
- If a new dependency is required, please state the reason.

Zawiera on ogólne instrukcje oraz bardzo szczegółowe wskazówki dotyczące stylu kodowania, zarządzania zależnościami i innych kwestii. Jest to przykładowy plik GEMINI.md dla projektów w TypeScript, ale możesz napisać własny plik na podstawie języka programowania, platformy, stylu kodowania i innych preferencji.

Możesz wypróbować niestandardowy plik GEMINI.md. Pochodzi z opublikowanego gista, który pokazuje, jak używać interfejsu Gemini CLI w trybie Plan. Plik jest odtworzony tutaj:

# Gemini CLI Plan Mode
You are Gemini CLI, an expert AI assistant operating in a special 'Plan Mode'. Your sole purpose is to research, analyze, and create detailed implementation plans. You must operate in a strict read-only capacity.

Gemini CLI's primary goal is to act like a senior engineer: understand the request, investigate the codebase and relevant resources, formulate a robust strategy, and then present a clear, step-by-step plan for approval. You are forbidden from making any modifications. You are also forbidden from implementing the plan.

## Core Principles of Plan Mode
*   **Strictly Read-Only:** You can inspect files, navigate code repositories, evaluate project structure, search the web, and examine documentation.
*   **Absolutely No Modifications:** You are prohibited from performing any action that alters the state of the system. This includes:
    *   Editing, creating, or deleting files.
    *   Running shell commands that make changes (e.g., `git commit`, `npm install`, `mkdir`).
    *   Altering system configurations or installing packages.

## Steps
1.  **Acknowledge and Analyze:** Confirm you are in Plan Mode. Begin by thoroughly analyzing the user's request and the existing codebase to build context.
2.  **Reasoning First:** Before presenting the plan, you must first output your analysis and reasoning. Explain what you've learned from your investigation (e.g., "I've inspected the following files...", "The current architecture uses...", "Based on the documentation for [library], the best approach is..."). This reasoning section must come **before** the final plan.
3.  **Create the Plan:** Formulate a detailed, step-by-step implementation plan. Each step should be a clear, actionable instruction.
4.  **Present for Approval:** The final step of every plan must be to present it to the user for review and approval. Do not proceed with the plan until you have received approval. 

## Output Format
Your output must be a well-formatted markdown response containing two distinct sections in the following order:

1.  **Analysis:** A paragraph or bulleted list detailing your findings and the reasoning behind your proposed strategy.
2.  **Plan:** A numbered list of the precise steps to be taken for implementation. The final step must always be presenting the plan for approval.

NOTE: If in plan mode, do not implement the plan. You are only allowed to plan. Confirmation comes from a user message.

Zapisz powyższą zawartość w pliku o nazwie GEMINI.md i zapisz go w folderze ~/.gemini/GEMINI.md. Jest to ten sam folder, w którym utworzono plik settings.json. Możesz też przechowywać plik GEMINI.md w folderze <current project folder>/.gemini lub mieć kilka plików GEMINI.md w podkatalogach, jeśli masz różne instrukcje.

Wpisz prompt, aby wygenerować aplikację i sprawdzić jej działanie.

Oto kolejny plik GEMINI.md ( tryb wyjaśniania w Gemini), który możesz przeanalizować, a potem dostosować do swoich potrzeb i wykorzystać. Ta funkcja koncentruje się na tym, że GEMINI CLI jest interaktywnym przewodnikiem, który pomaga użytkownikom zrozumieć złożone bazy kodu poprzez proces odkrywania oparty na rozmowie.

Plik GEMINI.md jest kluczem do dostosowania interfejsu wiersza poleceń Gemini do Twoich preferencji. Warto zapoznać się z praktyczną serią „ Praktyczny interfejs wiersza poleceń Gemini”, która szczegółowo omawia ten obszar, sposób automatycznego generowania pliku dla projektu, dostosowywania nawet promptu systemowego i nie tylko.

Pamiętaj, że możesz też tworzyć plik GEMINI.md podczas interakcji z interfejsem wiersza poleceń Gemini. W dowolnym momencie możesz użyć polecenia /memory add <some instruction/rule>, a interfejs Gemini CLI dołączy je do pliku GEMINI.md. Możesz nawet używać języka naturalnego, aby poprosić interfejs Gemini CLI o dodanie informacji do pamięci, np. GEMINI.md za pomocą promptów takich jak „Zapamiętaj <instrukcję lub regułę>” lub „Dodaj do pamięci <instrukcję lub regułę>”.

11. Interfejs wiersza poleceń Gemini – niestandardowe polecenia rozpoczynające się ukośnikiem

Właśnie pokazaliśmy, jak dostosować GEMINI.md, aby utworzyć tryb planu. W poprzedniej sekcji znajdziesz też linki do trybu wyjaśniania.

Co zrobić, jeśli chcesz skonfigurować oba te tryby i wydać interfejsowi Gemini CLI polecenie przejścia do jednego z nich za pomocą poleceń z ukośnikiem /plan lub /explain. Właśnie do tego służą niestandardowe polecenia ukośnikowe w interfejsie wiersza poleceń Gemini.

Jak podano w dokumentacji, „polecenia niestandardowe umożliwiają zapisywanie i ponowne wykorzystywanie ulubionych lub najczęściej używanych promptów jako osobistych skrótów w interfejsie wiersza poleceń Gemini. Możesz tworzyć polecenia, które są specyficzne dla jednego projektu, lub polecenia dostępne globalnie we wszystkich projektach, co usprawnia przepływ pracy i zapewnia spójność.

Utwórzmy kilka niestandardowych poleceń ukośnika: /plan/explain.

Następnym krokiem jest sprawdzenie, skąd interfejs wiersza poleceń Gemini pobiera polecenia niestandardowe. Zgodnie z dokumentacją polecenia są wykrywane w 2 lokalizacjach i wczytywane w określonej kolejności:

  1. Polecenia użytkownika (globalne): znajdują się w sekcji ~/.gemini/commands/. Te polecenia są dostępne w każdym projekcie, nad którym pracujesz.
  2. Polecenia projektu (lokalne): znajdują się w <your-project-root>/.gemini/commands/. Te polecenia są specyficzne dla bieżącego projektu i można je sprawdzić w systemie kontroli wersji, aby udostępnić je zespołowi.

Wybierzmy bieżący folder projektu, z którego został uruchomiony interfejs wiersza poleceń Gemini. Będzie to folder <your-project-root>/.gemini/commands/. Utwórz strukturę folderów.

Co musimy utworzyć w tym folderze? Potrzebujemy 2 plików TOML (plan.tomlexplain.toml). Więcej informacji o przestrzeniach nazw i konwencjach nazewnictwa znajdziesz tutaj.

Każdy plik TOML musi zawierać 2 pola : descriptionprompt. Opis powinien być krótki i zwięzły, ponieważ będzie wyświetlany obok polecenia w interfejsie wiersza poleceń Gemini. Przykładowy plik TOML poniżej pochodzi z oficjalnego posta na blogu o niestandardowych poleceniach z ukośnikiem.

Poniżej znajduje się przykładowy plik plan.toml. Zwróć uwagę, że prompt zawiera specjalny symbol zastępczy {{args}}. Interfejs CLI zastąpi go całym tekstem wpisanym przez użytkownika po nazwie polecenia.

description="Investigates and creates a strategic plan to accomplish a task."
prompt = """
Your primary role is that of a strategist, not an implementer.
Your task is to stop, think deeply, and devise a comprehensive strategic plan to accomplish the following goal: {{args}}

You MUST NOT write, modify, or execute any code. Your sole function is to investigate the current state and formulate a plan.

Use your available "read" and "search" tools to research and analyze the codebase. Gather all necessary context before presenting your strategy.

Present your strategic plan in markdown. It should be the direct result of your investigation and thinking process. Structure your response with the following sections:

1.  **Understanding the Goal:** Re-state the objective to confirm your understanding.
2.  **Investigation & Analysis:** Describe the investigative steps you would take. What files would you need to read? What would you search for? What critical questions need to be answered before any work begins?
3.  **Proposed Strategic Approach:** Outline the high-level strategy. Break the approach down into logical phases and describe the work that should happen in each.
4.  **Verification Strategy:** Explain how the success of this plan would be measured. What should be tested to ensure the goal is met without introducing regressions?
5.  **Anticipated Challenges & Considerations:** Based on your analysis, what potential risks, dependencies, or trade-offs do you foresee?

Your final output should be ONLY this strategic plan.
"""

Spróbuj też utworzyć plik explain.toml. Aby wybrać treści, możesz skorzystać z trybu wyjaśniania w Gemini.

Uruchom ponownie interfejs wiersza poleceń Gemini. Teraz zobaczysz, że ma polecenie po ukośniku (/plan), jak pokazano poniżej:

8b0720ba31b6c251.png

12. Przykłady zastosowań do wypróbowania

Wiersz poleceń Gemini można stosować w wielu przypadkach użycia, które dotyczą zarówno deweloperów, jak i osób niebędących deweloperami. Poniżej znajdziesz kilka scenariuszy. W zależności od Twoich zainteresowań możesz wypróbować dowolny z nich lub wszystkie.

W każdym z tych przypadków podajemy prompt. Możesz to wypróbować w trybie interaktywnym lub nieinteraktywnym interfejsu wiersza poleceń Gemini za pomocą parametru -p podczas uruchamiania interfejsu wiersza poleceń Gemini.

Kodowanie w interfejsie wiersza poleceń Gemini

Użyjmy interfejsu wiersza poleceń Gemini, aby wygenerować kod aplikacji. W tym zadaniu poprosisz interfejs Gemini CLI o wygenerowanie aplikacji, a następnie prześlesz jej początkową wersję do repozytorium GitHub.

Wymagania wstępne

Aby wykonać zadania opisane w tej sekcji, musisz spełnić kilka wymagań wstępnych:

  • Git
  • Interfejs Gemini CLI z serwerem Github MCP (zrobiliśmy to wcześniej) lub jeśli masz skonfigurowane gh ( narzędzie Github CLI), to też będzie działać.
  • Znajomość podstaw Gita i podstaw programowania

Zakładamy, że interfejs wiersza poleceń Gemini został uruchomiony w wybranym folderze. Sprawdź, czy serwery MCP zostały uruchomione, zwłaszcza serwer MCP Github.

Zacznij od początkowego prompta. Możesz go dowolnie modyfikować. Pamiętaj, że podczas sesji z interfejsem Gemini CLI poprosi Cię o uprawnienia do tworzenia plików itp. Przyznaj wymagane uprawnienia.

W tym zadaniu nie oczekujemy, że interfejs wiersza poleceń Gemini uruchomi aplikację lub ją przetestuje, ponieważ chcemy mieć większą kontrolę. Ale to zależy całkowicie od Ciebie, jak to zrobisz.

Generate a website for a 1-day event filled with technical talks. There are going to be 6 talks in a single track of 1 hour each. Each talk has the following information: title, 1 or maximum of 2 speakers, category (1 or maximum of 3 keywords), duration and a description. The website has a single page where users can see the schedule for the entire day with the timings. There will be one lunch break of an hour and the event starts at 10:00 AM. Keep a 10 minute transition between talks. I would like to use Node.js on the server side and standard HTML, JavaScript and CSS on the front-end. The users should be able to search the talks based on category.

I would like you to proceed in the following way: 
1. Plan out how you would design and code this application.
2. Ask me for any clarifications along the way.
3. Once I am fine with it, do generate the code and provide me instructions to run and test locally. 

Kolejne prompty i odpowiedzi to przykładowy przepływ, który zaobserwowaliśmy. Możesz otrzymać zupełnie inną odpowiedź, więc przejrzyj plan i w razie potrzeby wchodź w interakcję z interfejsem wiersza poleceń Gemini.

90232297f1e952f8.png

Zauważyliśmy, że czasami interfejs wiersza poleceń Gemini próbuje zrobić więcej i może nawet podać polecenia, które chciałby wykonać. W tym przypadku nie jest to zalecane, ponieważ dzięki temu będziesz mieć większą kontrolę nad tym, jak przebiega zadanie, i nad tym, co chcesz najpierw samodzielnie sprawdzić.

Jeśli na przykład zaproponuje uruchomienie poleceń, możesz po prostu zamknąć okno i wyświetlić komunikat jak poniżej:

d74e235b0db77c51.png

Po wykonaniu instrukcji dotyczących uruchomienia serwera i przejścia na stronę główną otrzymaliśmy przykładową witrynę, jak pokazano poniżej (jeśli użyjesz tego samego prompta, zobaczysz podobną witrynę):

71a0a6123a90e068.png

Możesz wprowadzać kolejne zmiany za pomocą interfejsu wiersza poleceń Gemini. Gdy zmiany będą Ci odpowiadać, możesz przesłać je do repozytorium GitHub.

Najpierw utwórz plik .gitignore. Możesz skorzystać z pomocy interfejsu Gemini CLI.

Create a .gitignore file for this project.

Następnym krokiem jest przekazanie interfejsowi Gemini CLI instrukcji, aby przesłać to repozytorium na nasze konto GitHub. W tle powinny zostać uruchomione narzędzia serwera MCP GitHub.

Wpisz prompt podobny do tego:

Great! I would now like to push all of this to a new repository in my Github account. I would like to name this repository <Your-Name>-event-talks-app

Wykonuje ona kilka poleceń:

  1. Utwórz repozytorium.
  2. Będzie używać wielu poleceń Git : init, add, commit do zarządzania lokalnym repozytorium Git.
  3. Następnie skonfiguruje zdalne repozytorium Git i wykona operację push.

Uwaga: w niektórych przypadkach interfejs wiersza poleceń Gemini może przekroczyć limit czasu lub użyć nieprawidłowej nazwy użytkownika itp. Wchodź z nim w interakcję i sugeruj poprawki.

Jeśli wszystko pójdzie dobrze, powinno powstać repozytorium GitHub. Przykładowy zrzut ekranu znajdziesz poniżej:

35c2db48c39fb21a.png

Pamiętaj, że w tym projekcie nie wygenerowano README.md. To dobre ćwiczenie na następną sekcję, w której będziemy pracować z utworzonym właśnie repozytorium.

Korzystanie z interfejsu wiersza poleceń Gemini do pracy z repozytorium GitHub

W tym przypadku użyjesz interfejsu Gemini CLI do pracy z repozytorium GitHub. Będziesz wykonywać różne zadania, w tym:

  • Zrozumienie bazy kodu
  • Generowanie dokumentacji
  • Wdrażanie nowej funkcji
  • Zatwierdź i prześlij zmiany z powrotem do repozytorium.
  • Praca nad problemem w GitHubie i wdrażanie proponowanych zmian

Powinno to stanowić dobrą podstawę do pracy z repozytoriami i korzystania z interfejsu wiersza poleceń Gemini jako asystenta w tych zadaniach związanych z programowaniem.

Wymagania wstępne

Aby wykonać zadania w tej sekcji, musisz mieć:

  • Git
  • Interfejs Gemini CLI z serwerem Github MCP (zrobiliśmy to wcześniej) lub jeśli masz skonfigurowane gh ( narzędzie Github CLI), to też będzie działać.
  • Znajomość podstaw Git i podstaw programowania (w tym przykładzie użyjemy Node.js, ponieważ możesz mieć już gotowe środowisko na komputerze ze względu na zainstalowany interfejs Gemini CLI). Możesz później wybrać repozytorium z innym językiem programowania i platformą.
  • Powinna być już ukończona poprzednia sekcja, a repozytorium, w którym utworzyliśmy witrynę Event Talks, powinno być pod ręką.

Nadal używaj interfejsu Gemini CLI z folderu lub katalogu, w którym została wygenerowana aplikacja Event Talks. W razie potrzeby możesz sklonować repozytorium na komputer lokalny, a następnie uruchomić interfejs Gemini CLI z tego katalogu. Wypróbuj te scenariusze:

Zrozumienie bazy kodu

  • Chcę szczegółowo poznać ten projekt. Wyjaśnij mi główne funkcje, a potem podziel je na funkcje po stronie serwera i po stronie klienta. Pokaż mi przykładowy przepływ i wyjaśnij, jak działają żądania i odpowiedzi.
  • Wyjaśnij @server.js

Generowanie pliku README

  • Wygeneruj plik README dla tego projektu.

W tym przypadku interfejs Gemini CLI nie tylko wygenerował plik README, ale też chciał wykonać polecenia, aby dodać go do repozytorium Git i przesłać zmiany do repozytorium zdalnego. Jeśli zauważysz, że to robi, możesz mu na to zezwolić.

W niektórych przypadkach może nawet zaproponować wygenerowanie pliku LICENSE. Możesz zdecydować, czy chcesz to zrobić. W zależności od wyniku wygenerowane zostaną pliki README lub LICENSE, a zmiany zostaną przesłane do GitHub.

d77239c8fae0aa8b.png

Wdrażanie nowej funkcji

  • Chcę wdrożyć nową funkcję, która umożliwi użytkownikowi wyszukiwanie według konkretnego głośnika. Najpierw pokaż mi plan wprowadzenia tej zmiany, a potem wygenerujemy kod.

Powinien on zaproponować Ci plan, który możesz zatwierdzić. Po zatwierdzeniu interfejs wiersza poleceń Gemini wprowadzi te zmiany. Przetestuj zmiany, a jeśli znajdziesz błędy (co jest prawdopodobne), poproś interfejs wiersza poleceń Gemini o ich naprawienie.

Gdy zmiany będą wyglądać dobrze, możesz wykonać te same czynności, aby zatwierdzić je i wypchnąć do repozytorium zdalnego.

Generowanie zgłoszeń na podstawie sugerowanych funkcji

Spróbujmy czegoś ciekawego. Zapytasz interfejs wiersza poleceń Gemini, jak można poprawić komfort użytkowników tej aplikacji. Na podstawie swojej oceny może on utworzyć sugestie w postaci zgłoszeń w tym samym repozytorium GitHub. Użyje narzędzia „create_issue” z serwera MCP GitHub.

Wypróbuj ten prompt:

  • Chcę, abyś ocenił aplikację z punktu widzenia wygody użytkownika. łatwość obsługi, szybkość reakcji, pomocne wiadomości i inne. Przygotuj listę ulepszeń, a następnie utwórz je jako problemy w repozytorium GitHub.

Najpierw przedstawi Ci proponowane ulepszenia, a potem, za Twoją zgodą, utworzy zgłoszenia w repozytorium GitHub. Oto przykładowy zrzut ekranu z naszego testu:

495b0f7afab91ec6.png

Praca nad problemem w GitHubie i wdrażanie proponowanych zmian

Możesz teraz wybrać jeden z wcześniej wygenerowanych problemów i poprosić interfejs wiersza poleceń Gemini o jego rozwiązanie.

Poniżej znajdziesz przykładowy problem, który został wygenerowany:

2e41f9f6eac3d1b.png

Skopiuj cały adres URL problemu i wpisz prompta podobnego do tego:

  • Zapoznaj się z sekcją Problem: <YOUR_ISSUE_URL> i dowiedz się, jakie zmiany musisz wprowadzić. Najpierw omów plan, a potem pokaż proponowane zmiany w kodzie.

Możesz zatwierdzić zmiany i wypchnąć je do repozytorium. Możesz nawet poprosić o zamknięcie zgłoszenia.

cd3c89cf3d47723b.png

(Opcjonalnie) Codzienne zadania

Poniższe przypadki użycia to zadania, które możesz wykonywać regularnie. Obejmują one m.in. porządkowanie plików w folderach, pobieranie i podsumowywanie treści z internetu, przetwarzanie plików graficznych i wyodrębnianie z nich treści, pracę z bazami danych i inne.

Możesz zapoznać się z dowolnymi przypadkami użycia.

Porządkowanie plików i folderów

Za pomocą interfejsu wiersza poleceń Gemini możesz w razie potrzeby porządkować pliki w różnych folderach w zależności od ich typów. Otwórz na komputerze folder z kilkoma plikami w formatach TXT, PNG, JPG, PDF, MP4 i innych. Najprawdopodobniej będzie to pulpit lub folder Pobrane.

Oto przykładowy folder, a poniżej jego zawartość (możesz mieć inne pliki):

e9d70be5bbea46d5.png

Przejdź do tego folderu i uruchom interfejs wiersza poleceń Gemini. Najpierw poproś interfejs Gemini CLI o utworzenie folderów: Obrazy, Dokumenty i Filmy, a potem o uporządkowanie plików w tych folderach.

Interfejs wiersza poleceń Gemini często prosi o zezwolenie przed wykonaniem poleceń, zwłaszcza tych, które modyfikują system plików (np. zapisywanie, przenoszenie lub usuwanie plików). Zanim udzielisz pozwolenia, zawsze dokładnie sprawdzaj te prompty. To Twoja siatka bezpieczeństwa.

Create the following folders "Images","Documents","Videos"

Następnie wpisz ten prompt:

Go through all the files in this folder and then organize them by moving all the files ending with .jpg, .jpeg, .gif into the "Images" folder. Move all ".txt" files into the "Documents" folder. Move all the ".mp4" files in the "Videos" folder.

Poniżej znajdziesz przykład tego, jak powinien wyglądać folder po zakończeniu procesu. Powinny się pojawić nowe podfoldery, a pliki zostaną przeniesione do odpowiednich podfolderów w zależności od ich typu.

7e27d4c88416f62.png

Kilka innych scenariuszy organizacji (podpowiedzi są podane obok każdego scenariusza):

  1. Podsumowanie: dla każdego dokumentu w folderze „Dokumenty” utwórz w tym samym folderze plik tekstowy o nazwie „summary_ORIGINAL_FILENAME.txt”, który zawiera 3-zdaniowe podsumowanie najważniejszych punktów dokumentu.
  2. Kategoryzacja według typu: skanuj wszystkie pliki PDF i DOCX w tym katalogu. Przenieś wszystkie pliki, które mają w nazwie lub treści słowo „faktura”, do folderu „Finanse/Faktury”. Przenieś pliki z „paragonem” do folderu „Finanse/Paragony”. Wszystkie inne pliki .docx trafią do folderu „Raporty”.
  3. Wyodrębnianie kluczowych informacji (i „tagowanie”): w przypadku każdego pliku PDF w folderze „Financial/Invoices” odczytaj jego zawartość. Jeśli znajdziesz datę, zmień nazwę pliku, aby zawierała tę datę w formacie RRRR-MM-DD, np. ‘invoice_2025-07-26_original_name.pdf'.

Porządkowanie obrazów

Zobaczmy, jak możesz uporządkować treści graficzne na swoim urządzeniu.

Aby to wypróbować:

  • Musisz mieć katalog lub folder z różnymi plikami obrazów (.jpg, .png itp.). Uwzględnij niektóre z danymi EXIF (większość zdjęć z aparatów i telefonów ma te dane).
  • Przejdź do tego katalogu.
  • Uruchom interfejs wiersza poleceń Gemini.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Zmień nazwę według daty (dane EXIF): zmień nazwy wszystkich plików .jpg i .png w tym katalogu, aby zawierały datę utworzenia z danych EXIF w formacie „RRRRMMDD_GGMMSS_oryginalna_nazwa.jpg”. Jeśli nie znajdziesz daty EXIF, użyj daty ostatniej modyfikacji pliku.
  • Utwórz opisy obrazów: dla każdego obrazu w tym folderze opisz, co się na nim znajduje, i zapisz ten opis w pliku tekstowym o nazwie „description_ORIGINAL_FILENAME.txt” w tym samym katalogu.
  • Identyfikowanie duplikatów (koncepcyjne, wymaga bardziej zaawansowanej logiki): znajdź w tym folderze wszystkie zduplikowane obrazy na podstawie ich zawartości wizualnej i wyświetl ich nazwy plików. Nie usuwaj ich jeszcze.

Streszczanie artykułów (plików lokalnych lub internetowych)

W każdym z poniższych scenariuszy możesz zmienić adres URL, temat zainteresowania i nazwy plików lokalnych. Podane nazwy plików są przykładowe. Możesz je zastąpić nazwami plików, które masz w systemie.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Podsumuj artykuł w internecie (jeden adres URL): wejdź na stronę https://medium.com/google-cloud/getting-started-with-gemini-cli-8cc4674a1371 i podsumuj 3 najważniejsze wnioski z tego artykułu.
  • Podsumowywanie wielu artykułów w internecie (np. z wyszukiwarki): znajdź w wyszukiwarce Google najnowsze artykuły z wiadomościami na temat „Gemini CLI”. W przypadku 5 najbardziej trafnych artykułów podsumuj każdy z nich w 2–3 zdaniach i podaj ich adresy URL.
  • Podsumuj lokalny plik tekstowy: podsumuj najważniejsze punkty artykułu w pliku „my_research_paper.txt”. Skup się na metodologii i wnioskach.
  • Podsumuj lokalny plik PDF: przeczytaj „financial_report_Q2_2025.pdf”. Podaj podsumowanie wyników finansowych i wymienionych kluczowych wyzwań.

Wyodrębnianie konkretnych informacji (pliki lokalne lub internet)

W każdym z poniższych scenariuszy możesz zmienić adres URL, temat zainteresowania i nazwy plików lokalnych. Podane nazwy plików są przykładowe. Możesz je zastąpić nazwami plików, które masz w systemie.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Wyodrębnij podmioty z lokalnego artykułu: z pliku „biography.txt” wypisz wszystkie osoby i ważne daty z nimi związane.
  • Wyodrębnij dane z tabeli w pliku PDF: z pliku „quarterly_sales.pdf” wyodrębnij dane z tabeli na stronie 3, która zawiera informacje o „Sprzedaży produktów według regionu”, i przedstaw je w formacie tabeli Markdown.
  • Wyodrębnianie nagłówków i źródeł wiadomości ze strony internetowej z wiadomościami: wejdź na stronę „https://news.google.com/” (lub podobną stronę z wiadomościami). Wyodrębnij główne nagłówki ze strony głównej i odpowiednie źródła wiadomości. Przedstaw je w formie listy punktowanej.
  • Znajdowanie specyfikacji produktu na stronie e-commerce: otwórz stronę „https://www.amazon.in/Google-Cloud-Certified-Associate-Engineer/dp/1119871441” (przykład dla książki). Wyodrębnij tytuł książki, autora i inne szczegóły. Przedstaw to w formacie JSON.
  • Wyodrębnij czas trwania z filmu w określonym formacie (np. „2h37m42s”).

Odpowiadanie na pytania na podstawie treści (działanie podobne do RAG)

W każdym z poniższych scenariuszy możesz zmienić adres URL, temat zainteresowania i nazwy plików lokalnych. Podane nazwy plików są przykładowe. Możesz je zastąpić nazwami plików, które masz w systemie.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Pytania i odpowiedzi dotyczące dokumentu lokalnego: załączam plik „user_manual.pdf”. Jakie kroki należy wykonać, aby rozwiązać problemy z połączeniem sieciowym?
  • Pytania i odpowiedzi na stronie internetowej: na podstawie treści ze strony „https://www.who.int/news-room/fact-sheets/detail/climate-change-and-health” wymień główne zagrożenia dla zdrowia związane ze zmianami klimatu według WHO.
  • Porównaj informacje z różnych źródeł: mam 2 artykuły: „article1.txt” i „article2.txt”. Oba omawiają ostatnie zmiany w polityce gospodarczej. Porównaj ich poglądy na temat potencjalnego wpływu na małe firmy.

Generowanie treści na podstawie wyodrębnionych informacji

W każdym z poniższych scenariuszy możesz zmienić adres URL, temat zainteresowania i nazwy plików lokalnych.

Wypróbuj dowolny z tych scenariuszy (prompty są podane obok każdego z nich):

  • Wygeneruj podsumowanie artykułu: przeczytaj @tech_innovation_article.txt. Napisz krótki, interesujący biuletyn (około 150 słów) do firmowego newslettera, w którym podkreślisz nową technologię i jej potencjał.
  • Napisz e-maila z podsumowaniem transkrypcji spotkania: oto plik transkrypcji spotkania: @meeting_transcript.txt. Przygotuj e-maila do zespołu z podsumowaniem kluczowych decyzji i przypisanych działań, w tym informacji o tym, kto jest za nie odpowiedzialny.

Obsługa wielu trybów w interfejsie wiersza poleceń Gemini

Interfejs wiersza poleceń Gemini obsługuje wiele modeli za pomocą Gemini. Możesz poprosić go o przetwarzanie plików w różnych formatach treści zgodnie z Twoimi wymaganiami.

Przetworzysz wiele obrazów faktur za pomocą interfejsu wiersza poleceń Gemini i wyodrębnisz z nich kluczowe informacje. Wykonaj te czynności:

  • Utwórz folder na komputerze i pobierz faktury z tego repozytorium w GitHubie.
  • Uruchom interfejs wiersza poleceń Gemini z tego folderu

Wpisz ten prompt, aby wyodrębnić informacje z faktur w formie tabeli.

The current folder contains a list of invoice files in Image format. Go through all the files in this folder and extract the following invoice information in the form of a table: Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount.

Dane wyjściowe powinny wyglądać tak:

fb4183498d02229.png

Oto kolejny scenariusz, w którym możesz poprosić o dodatkowe kolumny pochodne. Załóżmy, że chcesz wyświetlać emoji czerwonego krzyżyka dla wszystkich dat płatności faktur, które już minęły. Możesz podać prompta w ten sposób:

list all files with .png extension in this folder. Extract the invoice information from it by reading them locally and display it in a table format containing the following column headers: : Invoice No, Invoice Date, Invoice Sent By, Due Date, Due Amount. Add a column at the end of the table that shows a red cross emoji in case the due date is in the past.

Wygeneruje to te dane wyjściowe:

f65f6ca8308c7053.png

Zastosuj tę metodę do wszystkich swoich plików w formatach innych niż tekstowe.

Korzystanie z interfejsu wiersza poleceń Gemini do pracy z bazami danych

Interfejs wiersza poleceń Gemini umożliwia wydajniejszą pracę z różnymi bazami danych. Możesz go używać w wielu scenariuszach: do wysyłania zapytań w języku naturalnym, eksportowania danych, projektowania schematów baz danych, generowania realistycznych danych testowych i nie tylko.

Do wykonania tego zadania użyjesz SQLite3. Musisz zainstalować SQLite3 i mieć przykładową bazę danych Chinook.

Oto krótkie instrukcje konfigurowania SQLite3:

  1. macOS: SQLite3 jest zainstalowany fabrycznie. Zweryfikuj u sqlite3 --version. W razie potrzeby zainstaluj za pomocą Homebrew: brew install sqlite3.
  2. Windows: pobierz wstępnie skompilowane pliki binarne ze strony SQLite. Wyodrębnij pliki do katalogu (np. C:\sqlite). Dodaj ten katalog do zmiennej środowiskowej PATH w systemie.
  3. Linux: Debian/Ubuntu: sudo apt update && sudo apt install sqlite3

Pobierz przykładową bazę danych Chinook (bezpośredni link do pobrania).

Aby uruchomić te prompty, zalecamy utworzenie folderu (database-tasks) w katalogu gemini-cli-projects. Skopiuj do tego folderu plik bazy danych Chinook. Sprawdź, czy narzędzie sqlite3 jest skonfigurowane w systemie i dostępne w ścieżce, aby interfejs wiersza poleceń Gemini mógł z niego korzystać. Uruchom interfejs wiersza poleceń Gemini.

Diagram schematu bazy danych jest widoczny poniżej:

fb8e96c21ad57590.png

Załóżmy, że znajdujesz się w folderze o nazwie database-tasks, a plik bazy danych Chinook ma nazwę chinook.db.

Poniżej znajdziesz kilka promptów, które pomogą Ci w pracy z bazami danych. Omówmy pokrótce pierwszą z nich, aby pokazać, o jakie uprawnienia będzie prosić aplikacja.

Zacznij od promptu z prośbą o wyświetlenie listy tabel w bazie danych. Wpisz ten prompt:

What tables are present in the file: chinook.db 

Narzędzie odczytuje plik, a następnie chce użyć narzędzia sqlite3 dostępnego w systemie, aby wykonać niezbędne czynności:

b2a17ef60706c3f5.png

Przyznaj uprawnienia do jednorazowego uruchomienia, aby uzyskać oczekiwane dane wyjściowe:

8d40754b830f4697.png

Wypróbuj te prompty lub dowolny inny prompt:

  • Ilu jest pracowników?
  • Jaki jest schemat tabeli faktur?
  • Które 3 faktury mają najwyższą wartość i którzy klienci je wystawili?

Zauważysz, że interfejs Gemini CLI wykonuje 2 czynności: generuje prawidłowe instrukcje SQL spełniające Twoje wymagania i podaje prawidłowe polecenie sqlite3.

Generowanie danych za pomocą interfejsu wiersza poleceń Gemini

Możesz poprosić interfejs wiersza poleceń Gemini o wygenerowanie danych w różnych formatach. Mogą to być elementy treści lub dane JSON, które chcesz zasymulować. Skupmy się na scenariuszach, które dotyczą deweloperów i testerów.

Oto kilka promptów, które możesz wypróbować:

Generowanie danych JSON przykładowych opinii klientów

Generate a JSON array of 3 synthetic customer reviews for a new smartphone. Each review should have 'reviewId' (string, UUID-like), 'productId' (string, e.g., 'SMARTPHONE_X'), 'rating' (integer, 1-5), 'reviewText' (string, 20-50 words), and 'reviewDate' (string, YYYY-MM-DD format).

Generowanie odpowiedzi interfejsu API (JSON)

Generate a JSON array representing 7 daily sales records for a mock API endpoint. Each record should include 'date' (YYYY-MM-DD, chronologically increasing), 'revenue' (float, between 5000.00 and 20000.00), 'unitsSold' (integer, between 100 and 500), and 'region' (string, either 'North', 'South', 'East', 'West').

Generowanie przykładowych instrukcji wstawiania do bazy danych (SQL)

Generate 5 SQL INSERT statements for a table named 'users' with columns: 'id' (INTEGER, primary key), 'username' (VARCHAR(50), unique), 'email' (VARCHAR(100)), 'password_hash' (VARCHAR(255)), 'created_at' (DATETIME, current timestamp). Ensure the password_hash is a placeholder string like 'hashed_password_X'.

Generowanie danych CSV na potrzeby wczytywania i analizy danych

Generate 10 lines of CSV data, including a header row, for customer transactions. Columns should be: 'TransactionID' (unique string), 'CustomerID' (integer), 'ItemPurchased' (string, e.g., 'Laptop', 'Monitor', 'Keyboard'), 'Quantity' (integer, 1-3), 'UnitPrice' (float, between 100.00 and 1500.00), 'TransactionDate' (YYYY-MM-DD).

Wygeneruj plik konfiguracji (YAML)

Generate a sample YAML configuration for a 'user_service'. Include sections for 'database' with 'host', 'port', 'username', 'password', 'database_name'. Also include a 'api_keys' section with 'payment_gateway' and 'email_service' placeholders. Use realistic default values.

Generowanie danych testowych dla przypadków brzegowych i weryfikacji

Generate a JSON array of 8 email addresses for testing purposes. Include a mix of: 2 valid standard emails, 2 with missing '@', 2 with invalid domains (e.g., '.com1'), and 2 with special characters in the local part that are usually invalid (e.g., spaces or multiple dots).

13. Gratulacje

Gratulacje! Udało Ci się poznać interfejs wiersza poleceń Gemini, jego możliwości i zastosować go w kilku przypadkach użycia.

Dokumentacja