Gemini KSA Uzantılarını Kullanmaya Başlama

1. Giriş

Gemini CLI, terminaliniz için açık kaynaklı ve yapay zeka destekli bir temsilcidir. Gemini modellerinin gücünü doğrudan komut satırınıza getirir. Tek başına da güçlü olan Gemini'ın gerçek potansiyeli Gemini CLI Uzantıları ile ortaya çıkar.

Uzantılar, Gemini CLI'ın özelliklerini artırmanın resmi ve standartlaştırılmış yoludur. Uzantılar öncesinde KSA'yı özelleştirmek genellikle settings.json gibi yapılandırma dosyalarının manuel olarak düzenlenmesini içeriyordu. Bu işlem "karmaşık ve hataya açık" olabiliyordu.

Uzantıları, Gemini CLI özelleştirmeleri için "kargo konteyneri" olarak düşünebilirsiniz. Gemini'a yeni beceriler öğretmek için gereken tüm bileşenleri içeren, bağımsız, sürümlendirilebilir ve kolayca dağıtılabilir bir pakettir. Bu "kargo konteyneri" şunları içerebilir :

  • MCP Sunucu Yapılandırmaları: Bunlar, Gemini'ı Google Cloud API'leri veya üçüncü taraf hizmetleri gibi harici araçlara ve API'lere bağlar.
  • Bağlam Dosyaları (GEMINI.md): Bunlar, modele yeni araçların nasıl etkili bir şekilde kullanılacağıyla ilgili özel talimatlar ve yönergeler sağlayan "oyun kitaplarıdır".
  • Özel eğik çizgi komutları (.toml dosyaları): Bunlar, karmaşık ve çok adımlı istemleri /deploy gibi basit ve kullanımı kolay komutlar halinde kapsar.
  • Araç Kısıtlamaları (excludeTools): Bu kısıtlamalar, daha güvenli veya daha odaklanmış bir ortam oluşturmak için yerleşik araçları devre dışı bırakabilir.

Uzantıların temel değeri, Gemini KSA'yı kişisel asistan olmaktan çıkarıp ölçeklenebilir, işletmeye hazır bir platforma dönüştürmektir. Bir ekip, tüm bulut yığınını tek bir uzantıda paketleyebilir. Böylece yeni geliştiriciler tek bir komutla üretken olabilir.

Bu codelab'de, bu güçlü ekosistemi nasıl kullanacağınızı öğreneceksiniz. Uzantı oluşturmayacaksınız ancak terminalinize uygulama dağıtımı, güvenlik analizi, veri analizi ve kod olarak altyapı özellikleri eklemek için dört farklı uzantı yükleyip kullanacaksınız.

Yapacaklarınız

  • Gemini CLI'yi ve Google Cloud ön koşullarını yükleyip yapılandırın.
  • Uzantıları bulmak için resmi Gemini CLI Uzantıları Galerisi'ne göz atın.
  • Uzantıları yüklemek, listelemek ve yönetmek için gemini extensions komut satırı arayüzünü kullanın.
  • Birkaç Gemini CLI uzantısını keşfedin

Neler öğreneceksiniz?

  • Gemini CLI uzantılarının ne olduğu ve CLI'yı özelleştirme konusunda neden standart olduğu.
  • Uzantı Galerisi'nden veya GitHub URL'sinden uzantıları bulma ve yükleme
  • Anahtar yönetimi komutlarının işlevi: gemini extensions install, gemini extensions list ve gemini extensions update.
  • Birkaç Gemini CLI uzantısını yükleme ve kullanma

Gerekenler

  • Chrome web tarayıcısı
  • Gmail hesabı
  • Faturalandırmanın etkin olduğu bir Cloud projesi

Bu codelab, her seviyeden kullanıcı ve geliştirici (yeni başlayanlar dahil) için tasarlanmıştır. Gemini CLI'ye aşina olmanız beklenir. Ancak Gemini CLI'yi sıfırdan yükleme adımları sağlanacaktır. Gemini CLI'ı daha yakından tanımak istiyorsanız Hands-on with Gemini CLI adlı codelab'i deneyin.

2. Başlamadan önce

Proje oluşturma

  1. Google Cloud Console'daki proje seçici sayfasında bir Google Cloud projesi seçin veya oluşturun.
  2. Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun. Faturalandırmanın bir projede etkin olup olmadığını kontrol etmeyi öğrenin.
  1. bq'nun önceden yüklendiği, Google Cloud'da çalışan bir komut satırı ortamı olan Cloud Shell'i kullanacaksınız. Google Cloud Console'un üst kısmından Cloud Shell'i etkinleştir'i tıklayın.

Cloud Shell'i etkinleştir düğmesi resmi

  1. Cloud Shell'e bağlandıktan sonra aşağıdaki komutu kullanarak kimliğinizin doğrulanıp doğrulanmadığını ve projenin proje kimliğinize ayarlanıp ayarlanmadığını kontrol edin:
gcloud auth list
  1. gcloud komutunun projeniz hakkında bilgi sahibi olduğunu doğrulamak için Cloud Shell'de aşağıdaki komutu çalıştırın.
gcloud config list project
  1. Projeniz ayarlanmamışsa ayarlamak için aşağıdaki komutu kullanın:
gcloud config set project <YOUR_PROJECT_ID>
  1. Aşağıda gösterilen komutu kullanarak gerekli API'leri etkinleştirin. Bu işlem birkaç dakika sürebilir. Lütfen bekleyin.
gcloud services enable cloudresourcemanager.googleapis.com \
                       servicenetworking.googleapis.com \
                       run.googleapis.com \
                       cloudbuild.googleapis.com \

Komut başarıyla yürütüldüğünde aşağıda gösterilene benzer bir mesaj görürsünüz:

Operation "operations/..." finished successfully.

Herhangi bir API atlanırsa uygulama sürecinde istediğiniz zaman etkinleştirebilirsiniz.

gcloud komutları ve kullanımı için dokümanlara bakın.Kurulumu yapıp Gemini CLI'yı çalıştırmadan önce, içinde oluşturabileceğiniz tüm projeler için ana klasör olarak kullanacağınız bir klasör oluşturalım. Bu, Gemini CLI'nin çalışması için bir başlangıç noktasıdır. Ancak sisteminizdeki diğer bazı klasörlere de referans verecektir. Bu klasörlere gerektiğinde daha sonra ulaşabilirsiniz.

Devam edin ve bir örnek klasör (gemini-cli-projects) oluşturun ve aşağıdaki komutları kullanarak bu klasöre gidin. Dilerseniz başka bir klasör adı kullanabilirsiniz.

mkdir gemini-cli-projects

Şimdi o klasöre gidelim:

cd gemini-cli-projects

Yeni bir Cloud Shell terminalinde gemini komutunu kullanarak Gemini CLI'yi doğrudan başlatabilirsiniz veya ayrı bir Cloud Shell terminalinde zaten başlatılmış olabilir.

Gemini CLI ile ilk etkileşimimiz

Gemini CLI ortamımızda her şeyin yolunda olduğundan emin olmamız gerekiyor. Bu nedenle, ilk istemimizi aşağıda gösterildiği gibi verebiliriz:

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

Sorgumuzun, GoogleSearch aracının (Gemini CLI'da yerleşik bir araç) çağrılmasıyla sonuçlandığını göreceksiniz. Diğer bir deyişle, Gemini CLI'ın güçlü yerleşik araçlarından biri olan GoogleSearch aracını kullanarak yanıtlarını web'den aldığı bilgilere dayandırmış olursunuz. Sorgunuza yanıt alırsınız.

Şimdi de uzantılarla başlayalım.

3. Uzantı nedir?

Uzantılar, bağımsız, sürümlendirilebilir ve kolayca dağıtılabilir paketlerdir. Bunu, Gemini CLI özelleştirmeleriniz için "kargo konteyneri" olarak düşünebilirsiniz. Belirli bir iş akışı için gereken her şeyi tek bir pakette toplar.

816cd3c3d4057c11.png

Bir uzantı, aşağıdakilerin herhangi bir kombinasyonunu paketleyebilir:

  • Özel eğik çizgi komutları (.toml dosyalarınız).
  • MCP sunucusu yapılandırmaları (daha önce settings.json'da bulunuyordu).
  • Modele özel talimatlar ve yönergeler sağlamak için bağlam dosyaları (GEMINI.md).
  • Daha güvenli ve odaklanılmış bir ortam oluşturmak için araç kısıtlamaları (excludeTools).

Neden uzantı kullanmalısınız? Temel Avantajlar

Özelleştirmeleriniz için uzantıları kullanmanın çeşitli avantajları vardır:

  • Tek Komutla Yükleme: Bu olmazsa olmaz bir koşuldur. Çok adımlı manuel kurulum yerine, kullanıcılar tek bir komutla (gemini extensions install <URL> veya gemini extensions install --path=some/local/path) eksiksiz ve karmaşık bir araç setini yükleyebilir. Yukarıdaki komutta yer alan <URL>, uzantıyı barındırdığınız GitHub URL'si olabilir.
  • Basitleştirilmiş dağıtım: Çalışmalarınızı paylaşmak tek bir Git deposu URL'si paylaşmak kadar kolaydır. Artık tek tek dosyaları ve yapılandırma snippet'lerini paylaşmanıza gerek yok.
  • Sürüm Oluşturma ve Bağımlılık Yönetimi: Uzantılar genellikle Git depolarında barındırıldığından sürüm denetimini ücretsiz olarak kullanabilirsiniz. Uzantıları en son sürüme güncellemek için gemini extensions update command vardır.
  • Keşfedilebilirlik ve Ekosistem: Uzantılar, VS Code veya Chrome'daki pazar yerleri gibi zengin ve açık bir ekosistemin temelini oluşturur. Uzantı mekanizması, bu Uzantıların inceleme, indirme ve daha fazlası için kullanılabileceği gelecekteki bir pazar yerinin temelini oluşturabilir.

Uzantı çerçevesinin kullanıma sunulması, Gemini CLI'ın güçlü bir bağımsız araçtan gerçek anlamda genişletilebilir bir platforma dönüştüğünün açık bir göstergesidir.

4. Uzantılarla ilgili temel bilgileri anlama

Bu bölümde, uzantı ekosisteminin kullanıcıya yönelik kısımları (uzantıları bulma ve yönetme) ele alınmaktadır.

Uzantı Galerisi, Google tarafından geliştirilen ve üçüncü taraf uzantılarının keşfedildiği merkezi bir pazar yeridir:

  1. Tarayıcınızda şu URL'yi açın: https://geminicli.com/extensions/browse/.
  2. Bu galeri, ekosistemin keşfedilebilirlik motorudur. GitHub, Redis ve DynaTrace gibi şirketlerin uzantılarını inceleyerek mevcut araçların kapsamını görebilirsiniz.
  3. Aşağı kaydırıp Cloud Run'ın uzantı kartını bulun.
  4. Kartta açıklama, yazar (Google) ve tek tıklamayla Copy install komut düğmesi bulunur. Bu, bir uzantının yükleme komutunu almanın en basit yoludur.

Gemini CLI Uzantıları - Yönetim Komutları

gemini extensions komutu, yerel uzantılarınızı yönetmek için giriş noktanızdır.

Kullanılabilir komutların listesini görmek için terminalinizde çalıştırın.

5a774a9fab1be3ed.png

Komutlar basittir (yükleme/kaldırma, listeleme, güncelleme, etkinleştirme/devre dışı bırakma vb.) ve bu kod laboratuvarında bu komutlardan bazılarını kullanacağız.

Mevcut durumunuzu kontrol etme

Herhangi bir şey yüklemeden önce "temiz sayfamızı" kontrol edelim.

  1. gemini extensions list komutunu çalıştırın:
  2. Henüz uzantı yüklenmediğini onaylayan aşağıdaki çıkışı görmeniz gerekir.
No extensions installed.

5. Cloud Run Uzantısı (Uygulama Dağıtma)

Gemini CLI Uzantıları galerisinde bulunan Cloud Run uzantısı, uygulamalarımızı Cloud Run'a dağıtmamıza olanak tanıyan bir MCP sunucusudur.

Uzantı galerisindeki Cloud Run Uzantısı kartı aşağıda gösterilmiştir:

648026b7668d0db.png

Öncelikle yukarıda gösterildiği gibi Copy install command (Yükleme komutunu kopyala) seçeneğini tıklayarak Cloud Run uzantısını yükleyelim. Ardından bu komutu Cloud Shell terminaline yapıştırın (aşağıdakine benzer olmalıdır):

gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp

Yukarıdaki komutu çalıştırdığınızda sizden onay istenecektir. Onaylayabilirsiniz. Cloud Run uzantısı başarıyla yüklenir.

Installing extension "cloud-run".
**Extensions may introduce unexpected behavior. Ensure you have investigated the extension source and trust the author.**
This extension will run the following MCP servers:
  * cloud-run (local): npx -y @google-cloud/cloud-run-mcp
This extension will append info to your gemini.md context using gemini-extension/GEMINI.md
Do you want to continue? [Y/n]: Y
Extension "cloud-run" installed successfully and enabled.

Şimdi gemini extensions list komutunu çalıştırırsanız Cloud Run uzantısının aşağıdaki gibi yüklendiğini görmeniz gerekir:

✓ cloud-run (1.0.0)
 Path: <HOME_FOLDER>/.gemini/extensions/cloud-run
 Source: https://github.com/GoogleCloudPlatform/cloud-run-mcp (Type: github-release)
 Release tag: v1.5.0
 Enabled (User): true
 Enabled (Workspace): true
 Context files:
  <HOME_FOLDER>/.gemini/extensions/cloud-run/gemini-extension/GEMINI.md
 MCP servers:
  cloud-run

Gemini CLI'yi şimdi başlatıp /mcp komutunu çalıştırırsanız aşağıdakileri görürsünüz:

7ca93915c06e4ce2.png

Şimdi Cloud Shell'e dönüp bir uygulamayı dağıtmayı deneyelim. Bunun için öncelikle Cloud Run'a dağıtılacak basit bir uygulamaya ihtiyacımız var. Aşağıdaki adımları uygulayın:

Daha önce oluşturduğumuz klasörde (ör. gemini-cli-projects) olduğunuzdan emin olun. Bu klasörün içinde gemini-cloud-run adlı başka bir klasör oluşturun ve bu klasöre gidin.

mkdir gemini-cloud-run

cd gemini-cloud-run

Şimdi bu klasörde, içerikleri aşağıda verilen iki dosya (app.py ve requirements.txt dosyası) oluşturun:

app.py

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
  return 'Hello from Gemini and Cloud Run!'
if __name__ == "__main__":
  app.run(debug=True, host='0.0.0.0', port=8080)

requirements.txt

Flask
gunicorn

Şimdi Gemini CLI'yi gemini-cloud-run klasöründen başlatın ve terminal hazır olduğunda aşağıdaki istemi girin:

/deploy --project="PROJECT_ID" --location="PROJECT_LOCATION" --name="SERVICE_NAME"

PROJECT_ID (Google Cloud proje kimliği), PROJECT_LOCATION ve SERVICE_NAME değerlerini belirtmeniz gerekir. Bu bilgiyi vermezseniz Cloud Run komutu, bunları seçmenize yardımcı olacak uygun araçları çağırır.

Bu işlem kapsamında, yüklediğimiz Cloud Run MCP Sunucu Uzantısı'ndan doğru araç seçilir. Örneğin, şuna benzer bir mesaj görürsünüz:

9dcf78679bffd710.png

Aracın kullanılmasına izin verin.

İşte bu kadar. Gemini CLI artık araçları çalıştırmak için izninizin yanı sıra ihtiyaç duyduğu tüm bilgilere sahip. Artık Docker görüntüsünü oluşturma, Artifact Registry'ye aktarma, yeni bir Cloud Run hizmetini yapılandırma ve dağıtma gibi tüm dağıtım ardışık düzenini yürütecektir.

Birkaç dakika (2-3 dakika) sonra, hizmet URL'si içeren bir başarı mesajı görürsünüz. Örnek bir çalıştırma aşağıda gösterilmektedir:

The Cloud Run service SERVICE_NAME has been deployed from the current folder in project PROJECT_ID.
  You can view the service in the Cloud Console: https://console.cloud.google.com/run/detail/PROJECT_LOCATION/SERVICE_NAME?project=PROJECT_ID
  The service is accessible at: https://SERVICE_NAME-SOME-ID.a.run.app

Bağlantıyı tıklayın. Ana sayfayı sunan Flask uygulamasını görmelisiniz:

92414fd2270ccc46.png

Bu örnekte, gcloud CLI komutlarının karmaşıklığını tamamen kapsayan ve tüm ayrıntıları sizin için halleden bir Gemini CLI uzantısının (bu örnekte Cloud Run) gücü gösterilmektedir.

Cloud Run MCP sunucusundaki diğer araçları keşfedebilirsiniz.

6. BigQuery uzantısı (Büyük veri kümelerini analiz etme)

Bu adımları uygulamak için ihtiyacınız olanlar:

  • BigQuery API'nin etkinleştirildiği Google Cloud projesi.
  • IAM izinleri:
  • BigQuery Kullanıcısı (roles/bigquery.user)
  1. BIGQUERY_PROJECT ortam değişkeninizi ayarlamak için bu komutu çalıştırın. Bu, BigQuery işlerini yürütecek projedir. Verilerinizin bulunduğu proje olması gerekmez (ancak aynı proje olabilir).
export BIGQUERY_PROJECT=<YOUR_GCP_PROJECT_ID>
  1. Aşağıdaki komutu kullanarak BigQuery Data Analytics uzantısını yükleyin. Yükleme izni verin. Başarılı bir yükleme sonrasında kurulumunuza 2 uzantı yüklenir : cloud-run ve bigquery-data-analytics.
gemini extensions install https://github.com/gemini-cli-extensions/bigquery-data-analytics
  1. Aşağıdaki komutu kullanarak Gemini CLI'yi tekrar başlatalım:
gemini

Gemini CLI, terminalinizde başlatılmalıdır: 7a140fbd0d7f7d3c.png

Aşağıdaki komutlar Gemini CLI terminaline girilmelidir.

  1. Aşağıdaki eğik çizgi komutunu girerek BigQuery uzantısının yüklendiğini ve kullanıma hazır olduğunu onaylayın:
/extensions list

bigquery-data-analytics uzantısını da listede görmeniz gerekir.

9461d5119d9dc693.png

  1. Kullanılabilir araçlara göz atmak için aşağıdaki komutu çalıştırın.
/mcp list

fd23c246e2a6e4db.png

  1. Herkese açık BigQuery veri kümesi olan look ecommerce hakkında temel bir analiz sorusu soralım. Bu veri kümesinde, kurgusal bir giyim e-ticaret sitesinin müşterileri, ürünleri ve siparişleriyle ilgili veriler yer alır. Gemini CLI'da şu istemi girin:
Look at BigQuery's the look ecommerce public dataset. Identify the top 5 products that had the most orders.
  • Gemini CLI, BigQuery araçlarının yürütülmesine izin vermekten memnun olup olmadığınızı sorar. Devam etmek için üçüncü seçeneği (Yes, always allow all tools from server "bigquery_data_analytics") belirleyin. 3d6e7372e5147216.png
  • Gemini, arka planda uygun SQL sorgusunu oluşturur, execute_sql aracını çağırır ve verilerinizle birlikte doğal dilde bir yanıt döndürür:

ac5c0cd94bc3bb78.png

  1. Şimdi Gemini'dan, ürünlerin iade oranının geçmiş verilere göre nasıl olacağını tahmin etmesini isteyeceğiz. Bu komut için Gemini CLI, bu tahmini oluşturmak üzere ayrıntılı bir SQL oluşturmaya çalışmamalıdır. Bunun yerine, MCP sunucusundan forecast aracını çağırmalıdır. Bu araç, BigQuery'nin AI.Forecast işlevini kullanır:
Forecast what the return rate will be next month.
  • Şuna benzer bir yanıt görürsünüz:

8a763a03852984ff.png

7. Daha fazla keşif

Bu codelab'de Gemini CLI Uzantıları'nın ne olduğunu, bunlarla çalışmak için kullanılan temel komutları ve cloud-run ile bigquery-data-analytics uzantılarını ele aldık.

Şu anda kullanabileceğiniz uzantıları (bu yazı yazıldığı sırada 100'den fazla) keşfetmek için https://geminicli.com/extensions/ adresindeki Gemini Uzantı Galerisi'ni ziyaret edin. Uzantılar kartlarının her birinde, uzantının türü (MCP, Context vb.), GitHub deposu bağlantısı ve uzantıyı ortamınıza yükleme komutu gibi bilgiler yer alır.

1c26d4f029747914.png

8. Tebrikler

Tebrikler, Gemini CLI uzantılarını ve çeşitli Gemini CLI uzantılarını nasıl yükleyip kullanacağınızı başarıyla öğrendiniz.

Referans belgeleri