1. Giriş
Genel Bakış
Bu laboratuvarda, açık kaynaklı bir yapay zeka aracısı çerçevesi olan OpenClaw'ın tamamen kalıcı ve güvenli bir örneğini Cloud Run örneklerine dağıtacaksınız. OpenClaw'un yerleşik web kullanıcı arayüzünü kullanarak (Telegram veya WhatsApp gibi mesajlaşma kanallarını bağlama seçeneğiyle) yapay zeka aracınızla doğrudan etkileşim kurabilir, Google Cloud Storage ile ana çalışma alanını destekleyebilir ve Google Cloud Secret Manager'ı kullanarak API kimlik bilgilerini güvenli bir şekilde yönetebilirsiniz.
Başlamadan önce OpenClaw'un mimarisi, araçları ve aracı iş akışları hakkında bilgi edinmek için OpenClaw Belgeleri'ni inceleyebilirsiniz.
Yapacaklarınız
- Gerekli Google Cloud API'lerini etkinleştirin ve gerekli IAM izinlerine sahip özel bir hizmet hesabı oluşturun.
- API anahtarlarını ve ağ geçidi şifrelerini Secret Manager'da güvenli bir şekilde saklayın.
- Gemini model ayarları ve ağ geçidi kullanıcı arayüzü etkinleştirilmiş bir
openclaw.jsonyapılandırma dosyası hazırlayın. - Kapsayıcı durumunu kalıcı hale getirmek için bir Cloud Storage paketi hazırlayın.
gcloud beta run instances deploykullanarak OpenClaw'ı dağıtın.- Yerleşik web kullanıcı arayüzünü kullanarak OpenClaw yapay zeka aracınızla doğrudan etkileşim kurun.
- (İsteğe bağlı) Mesajlaşma kanalı (Telegram veya WhatsApp) yapılandırın.
- (İsteğe bağlı) Cloud Storage'a özel beceriler ekleyerek aracınızın yeteneklerini genişletin.
Neler öğreneceksiniz?
- OpenClaw'ı yerleşik Control Web kullanıcı arayüzüyle Cloud Run örneklerine dağıtma
- Cloud Storage paketlerini Cloud Run örneklerine bağlama
- Secret Manager gizli anahtarlarını Cloud Run'a ortam değişkenleri olarak güvenli bir şekilde ekleme
- Cloud Run örneklerinde uzun süren, kalıcı aracı iş yüklerini çalıştırma
- Özel aracı becerilerini Cloud Storage'a yapılandırma ve yükleme
2. Kurulum ve Gereksinimler
GCP Projesi Kurulumu
- Google Cloud Console'da oturum açın.
- Google Cloud projesi oluşturun veya seçin.
- Google Cloud projeniz için faturalandırmanın etkinleştirildiğinden emin olun.
Cloud Shell'i açın
Cloud Console'un üst araç çubuğundan Google Cloud Shell'i etkinleştirin.
Projeyi ayarlama ve gcloud beta'yı yükleme
Öncelikle projenizi ve bölgenizi ortam değişkenleri olarak ayarlayın.
export PROJECT_ID=<YOUR_PROJECT_ID>
export REGION=<YOUR_REGION>
Şimdi projenizi ayarlayın ve onaylayın.
gcloud config set project $PROJECT_ID
gcloud config get project
gcloud beta run instances için beta bileşeninin yüklendiğinden emin olun:
gcloud components install beta --quiet
Ayrıca gcloud'unuzun güncel olduğundan emin olun.
gcloud components update
Gerekli Google Cloud API'lerini etkinleştirme
Cloud Shell'de Cloud Run, Secret Manager, Cloud Storage ve Gemini API'lerini etkinleştirin:
gcloud services enable \
run.googleapis.com \
secretmanager.googleapis.com \
storage.googleapis.com \
generativelanguage.googleapis.com \
compute.googleapis.com
3. (İsteğe bağlı) Mesajlaşma entegrasyonlarını (Telegram veya WhatsApp) ayarlama
OpenClaw'u Telegram veya WhatsApp'a bağlayabilirsiniz. Aşağıdaki A seçeneği veya B seçeneği'ni belirleyin.
A seçeneği: Telegram bot kurulumu
- Telegram'ı açıp
@BotFatherifadesini arayın. /newbotkomutunu gönderin ve bot adı ile kullanıcı adı belirtmek için istemleri uygulayın.- Oluşturulan HTTP API Jetonu'nu (ör.
123456789:ABCdefGhIJKlmNoPQRsTUVwxyZ) kopyalayın. - Telegram'da
@userinfobot'ı arayın,/start'ı gönderin ve sayısal kullanıcı kimliğinizi (ör.8035936176) kopyalayın.
B seçeneği: WhatsApp Kurulumu
- WhatsApp kişisel telefon numaranızı uluslararası standartta, boşluk veya sembol içermeyen (ör.
+15551234567) biçimde alın. - OpenClaw, WhatsApp kanalı izin verilenler listesi politikası üzerinden bağlanır.
4. Özel Hizmet Hesabı Oluşturma
En az ayrıcalık ilkesine uymak için OpenClaw'a özel bir IAM hizmet hesabı oluşturun:
export SERVICE_ACCOUNT_NAME="openclaw-sa"
gcloud iam service-accounts create ${SERVICE_ACCOUNT_NAME} \
--display-name="OpenClaw Service Account"
export SERVICE_ACCOUNT="${SERVICE_ACCOUNT_NAME}@${PROJECT_ID}.iam.gserviceaccount.com"
5. Kimlik bilgilerini Secret Manager'da saklama
Hassas API kimlik bilgilerini Google Cloud Secret Manager'da saklayacağız. Böylece Cloud Run, bunları başlatma sırasında kapsayıcıya güvenli bir şekilde yerleştirebilir.
1. Gemini API anahtarını edinme ve saklama
- Google AI Studio'yu ziyaret edip Google Hesabınızla oturum açın.
- API anahtarı oluştur'u tıklayın ve Google Cloud projenizi seçin (
${PROJECT_ID}). - Oluşturulan API anahtarını kopyalayın.
API anahtarını Secret Manager'da saklayın ve hizmet hesabına erişim izni verin:
echo -n "YOUR_GEMINI_API_KEY" | gcloud secrets create gemini-api-key \
--data-file=- \
--replication-policy="automatic"
gcloud secrets add-iam-policy-binding gemini-api-key \
--member="serviceAccount:${SERVICE_ACCOUNT}" \
--role="roles/secretmanager.secretAccessor"
2. Ağ Geçidi Şifresi Oluşturma ve Saklama
Herkese açık OpenClaw örneğinizi korumak için güvenli bir rastgele şifre oluşturun ve bunu Secret Manager'da saklayın:
export OPENCLAW_GATEWAY_PASSWORD=$(openssl rand -hex 16)
echo "Generated Gateway Password: ${OPENCLAW_GATEWAY_PASSWORD}"
echo -n "${OPENCLAW_GATEWAY_PASSWORD}" | gcloud secrets create openclaw-gateway-password \
--data-file=- \
--replication-policy="automatic"
gcloud secrets add-iam-policy-binding openclaw-gateway-password \
--member="serviceAccount:${SERVICE_ACCOUNT}" \
--role="roles/secretmanager.secretAccessor"
3. (İsteğe bağlı) Kanal gizli anahtarı oluşturma (Telegram veya WhatsApp)
- Telegram için:
echo -n "YOUR_TELEGRAM_BOT_TOKEN" | gcloud secrets create telegram-bot-token \ --data-file=- \ --replication-policy="automatic" gcloud secrets add-iam-policy-binding telegram-bot-token \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/secretmanager.secretAccessor" - WhatsApp için:
echo -n "YOUR_WHATSAPP_TOKEN_OR_KEY" | gcloud secrets create whatsapp-token \ --data-file=- \ --replication-policy="automatic" gcloud secrets add-iam-policy-binding whatsapp-token \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/secretmanager.secretAccessor"
6. Cloud Storage paketi ve openclaw.json yapılandırmasını hazırlama
OpenClaw için /home/node/.openclaw/openclaw.json konumunda openclaw.json adlı bir yapılandırma dosyası gerekir.
- Cloud Storage paketi oluşturma ve erişim izni verme:
export BUCKET_NAME="openclaw-state-${PROJECT_ID}" gcloud storage buckets create gs://${BUCKET_NAME} --location=${REGION} gcloud storage buckets add-iam-policy-binding gs://${BUCKET_NAME} \ --member="serviceAccount:${SERVICE_ACCOUNT}" \ --role="roles/storage.objectUser" - Oluştur
openclaw.json: Cloud Shell'deopenclaw.jsonadlı bir dosya oluşturun.channelsbölümünü, seçtiğiniz kanala (Telegram veya WhatsApp) uyacak şekilde güncelleyin:{ "gateway": { "mode": "local", "port": 18789, "trustedProxies": ["0.0.0.0/0"], "bind": "lan", "auth": { "password": "${OPENCLAW_GATEWAY_PASSWORD}" }, "controlUi": { "dangerouslyDisableDeviceAuth": true, "allowedOrigins": ["*"], "enabled": true } }, "agents": { "defaults": { "model": { "primary": "google/gemini-3.1-pro-preview" }, "sandbox": { "mode": "off" } } }, "channels": { "telegram": { "enabled": true, "defaultAccount": "default", "accounts": { "default": { "enabled": true, "dmPolicy": "allowlist", "allowFrom": [ "YOUR_TELEGRAM_USER_ID" ] } } }, "whatsapp": { "enabled": false, "defaultAccount": "default", "accounts": { "default": { "enabled": false, "dmPolicy": "allowlist", "allowFrom": [ "+15551234567" ] } } } }, "plugins": { "entries": { "google": { "enabled": true }, "telegram": { "enabled": true }, "whatsapp": { "enabled": false } } } } - Cloud Storage paketi köküne
openclaw.jsonyükleyin: Cloud Storage paket düzenini doğrulayın:Paket yapınızın köktegcloud storage cp openclaw.json gs://${BUCKET_NAME}/openclaw.jsonopenclaw.jsoniçerdiğini onaylayın:gs://${BUCKET_NAME}/ └── openclaw.json
7. OpenClaw'u Cloud Run örneklerine dağıtma
gcloud beta run instances deploy kullanarak OpenClaw'ı dağıtın:
gcloud beta run instances deploy openclaw-instance \
--image ghcr.io/openclaw/openclaw:2026.7.1 \
--service-account ${SERVICE_ACCOUNT} \
--port 18789 \
--cpu 4 \
--memory 4Gi \
--public \
--add-volume mount-path=/home/node/.openclaw,type=cloud-storage,mount-options="uid=1000;gid=1000;file-mode=0700;dir-mode=0700",bucket=${BUCKET_NAME} \
--set-secrets GEMINI_API_KEY=gemini-api-key:latest,OPENCLAW_GATEWAY_PASSWORD=openclaw-gateway-password:latest \
--region ${REGION}
Temel Parametre Dökümü:
--image ghcr.io/openclaw/openclaw:2026.7.1: OpenClaw kapsayıcı resmi (2026.7.1'e, yani en son kararlı 1.x sürümüne sabitlenmiş).--service-account ...: Özelopenclaw-sahizmet hesabını ekler.--add-volume ...: Cloud Storage paketini doğrudan/home/node/.openclaw'ye bağlar.file-mode=0700;dir-mode=0700kullanmak OpenClaw için uygun izinleri sağlar.--set-secrets ...: Kimlik bilgilerini doğrudan Secret Manager'dan ortam değişkenlerine yerleştirir. (İsteğe bağlı: İsteğe bağlı adımlarda Telegram'ı yapılandırdıysanız,TELEGRAM_BOT_TOKEN=telegram-bot-token:latestsimgesini--set-secretssimgesine ekleyin.)--public: URL'ye herkese açık erişim izni verir.
8. OpenClaw web kullanıcı arayüzü üzerinden doğrudan etkileşim kurma
OpenClaw, yapay zeka aracınızı doğrudan tarayıcınızdan yönetmenize ve onunla sohbet etmenize olanak tanıyan yerleşik bir Control Web kullanıcı arayüzü içerir:
- Cloud Run örneğinizin URL'sini alma: Cloud Shell'de şu komutu çalıştırın:
gcloud beta run instances describe openclaw-instance \ --region ${REGION} \ --format="value(status.urls[0])" - OpenClaw Control kullanıcı arayüzüne erişme:
- Çıkış URL'sini web tarayıcınızda açın.
- OpenClaw Control kullanıcı arayüzünde kimlik doğrulama istenirse:
- Secret Manager'dan oluşturulan ağ geçidi şifresini (
${OPENCLAW_GATEWAY_PASSWORD}) girin. - Giriş kalıcı öğesinde ayrı Kullanıcı adı ve Şifre alanları gösteriliyorsa kullanıcı adı alanını boş bırakın (veya
admingirin) ve şifre alanına${OPENCLAW_GATEWAY_PASSWORD}girin.
- Secret Manager'dan oluşturulan ağ geçidi şifresini (
- Ajanınıza İstem Girme (İşlemdeki Örnekler):
- Kimlik doğrulama tamamlandıktan sonra OpenClaw Control Dashboard'u görürsünüz.
- Sohbet kullanıcı arayüzünde "Merhaba" gibi bir istem göndererek OpenClaw temsilcinizi test edin.
- Cloud Run örneğinin uzun süreli yaşam döngüsünü test etmek için OpenClaw aracınızdan daha karmaşık ve uzun süreli bir görev gerçekleştirmesini isteyebilirsiniz. Örneğin, haber feed'ini veya borsa piyasasını takip edip rapor oluşturmasını sağlayabilirsiniz:
Track the USD-to-EUR exchange rate every 15 minutes for the next 24 hours, while also checking for any recent news updates in the US or the EU that may have an impact on the exchange rate. Generate an end-of-day report for me in this chat that tells me what you expect tomorrow's exchange rate will be. - Temsilci, bu görevi önümüzdeki 24 saat içinde gerçekleştirmelidir.
9. (İsteğe bağlı) Mesajlaşma kanalı entegrasyonlarını doğrulama
Yukarıdaki isteğe bağlı kurulum adımlarında Telegram veya WhatsApp'ı yapılandırdıysanız mesaj teslimini doğrulayabilirsiniz:
- Cloud Shell'de örnek günlüklerini kontrol edin:
gcloud run instances logs read openclaw-instance --region ${REGION} --limit 20 - Telegram'ı (veya WhatsApp'ı) açıp bir mesaj gönderin (ör.
/startveyaHello OpenClaw!). - Bot, kullanıcı kimliğinizi
openclaw.jsoniçindeki izin verilenler listesine göre kimlik doğrulaması yapar ve Gemini'ı kullanarak yanıt verir.
10. Örnek günlüklerini izleme ve inceleme
Cloud Run örnekleri, container'ınızdaki stdout ve stderr'yi yakalar ve doğrudan Google Cloud Logging'e aktarır. Ağ geçidi trafiğini izlemek ve aracı aracı çalıştırmalarını gerçek zamanlı olarak incelemek için Cloud Shell veya Cloud Console'u kullanabilirsiniz.
1. Son Örnek Günlüklerini Okuma
Cloud Shell'de örnekten son günlük girişlerini getirmek için:
gcloud beta run instances logs read openclaw-instance \
--region ${REGION} \
--limit 50
2. İzlenecek Önemli Günlük İmzaları
Çalışan aracınızı gözlemlerken aşağıdaki önemli çalışma zamanı günlük etkinliklerini arayın:
[gateway] ready: OpenClaw HTTP ve WebSocket ağ geçidinin başlatıldığını ve 18789 numaralı bağlantı noktasında dinleme yaptığını onaylar.[gateway] agent model: ...: Etkin Gemini modelini (ör.google/gemini-3.1-pro-previewveyagoogle/gemini-3.5-flash) gösterir.[agents/tool-policy]: Politikanız kapsamında izin verilen veya kısıtlanan araçları gösterir.[agent/embedded]: Ajan tarafından yürütme ve araç çağrısı izlenir.
3. Google Cloud Console'da günlükleri inceleme
Ayrıca, Cloud Console'daki Günlük Gezgini'ni kullanarak günlükleri görüntüleyebilir ve filtreleyebilirsiniz:
resource.type="cloud_run_instance"
resource.labels.instance_name="openclaw-instance"
11. (İsteğe bağlı) Ajanınızı becerilerle genişletin
OpenClaw, becerileri (ajanınıza belirli iş akışlarını, özel KSA araçlarını ve alana özgü talimatları öğreten modüler özellik paketleri) destekler.
Becerilerin işleyiş şekli
Her beceri, SKILL.md dosyası içeren bir dizindir. Bu işlem, meta verileri belirten YAML frontmatter ile başlar (name ve description), ardından Markdown talimatları gelir:
---
name: summarize-logs
description: Summarize Cloud Run error logs into actionable bullet points.
---
# Log Summarizer Skill
When asked to analyze or summarize logs:
1. Parse error stack traces and group similar errors by frequency.
2. Identify root causes such as memory limits, timeouts, or permission errors.
3. Propose concrete remediation steps.
name: Beceri tanımlayıcısı (örneğin,/summarize-logsgibi eğik çizgi komutu olarak da doğrudan çağrılabilir).description: OpenClaw'un modeline bu beceriyi doğal sohbette ne zaman otomatik olarak çağırması gerektiğini söyler.
Cloud Storage paketinize özel beceri ekleme
Cloud Storage paketiniz doğrudan /home/node/.openclaw'ya monte edildiğinden gs://${BUCKET_NAME}/skills/ altına yerleştirilen beceriler, başlatma sırasında otomatik olarak yüklenir ve örnek yeniden başlatıldığında kalıcı olarak saklanır:
- Yerel Beceri Dizini Oluşturma:
mkdir -p my-skill cat << 'EOF' > my-skill/SKILL.md --- name: summarize-logs description: Summarize Cloud Run error logs into actionable bullet points. --- # Log Summarizer Skill When asked to analyze or summarize logs, group errors by frequency and suggest actionable fixes. EOF - Beceri dosyasını Cloud Storage'a yükleyin:
gcloud storage cp -r my-skill gs://${BUCKET_NAME}/skills/ - Chat'te beceriyi kullanma:
- OpenClaw Control Web UI'ye dönün.
- Artık
/summarize-logskullanarak temsilcinize istem girebilir veya beceri açıklamasına uygun doğal dil soruları sorabilirsiniz.
12. Temizleme
Bu codelab'de kullanılan kaynaklar için Google Cloud hesabınızın ücretlendirilmesini istemiyorsanız:
- Cloud Run örneğini silin:
gcloud beta run instances delete openclaw-instance --region ${REGION} --quiet - Secret Manager gizli anahtarlarını silme:
gcloud secrets delete gemini-api-key --quiet gcloud secrets delete telegram-bot-token --quiet gcloud secrets delete openclaw-gateway-password --quiet - Cloud Storage paketini silme:
gcloud storage rm -r gs://${BUCKET_NAME} - Özel hizmet hesabını silme:
gcloud iam service-accounts delete ${SERVICE_ACCOUNT} --quiet
13. Sonuç
Tebrikler! Cloud Storage, Secret Manager ve tercih ettiğiniz mesajlaşma kanalı tarafından desteklenen Cloud Run örneklerinde OpenClaw'ın güvenli ve tamamen kalıcı bir örneğini başarıyla dağıttınız.