Bir çalışan Gateway içinde birden çok yalıtılmış ajan çalıştırın — her biri kendi çalışma alanı, durum dizini (Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
agentDir) ve oturum geçmişiyle — ayrıca birden çok kanal hesabı (ör. iki WhatsApp) kullanın. Gelen iletiler bağlamalar üzerinden doğru ajana yönlendirilir.
Buradaki ajan, kişi başına tam kapsamdır: çalışma alanı dosyaları, kimlik doğrulama profilleri, model kayıt defteri ve oturum deposu. agentDir, bu ajan başına yapılandırmayı ~/.openclaw/agents/<agentId>/ konumunda tutan disk üzerindeki durum dizinidir. Bağlama, bir kanal hesabını (ör. bir Slack çalışma alanı veya bir WhatsApp numarası) bu ajanlardan birine eşler.
”Tek ajan” nedir?
Bir ajan, kendine ait tam kapsamlı bir beyindir:- Çalışma alanı (dosyalar, AGENTS.md/SOUL.md/USER.md, yerel notlar, persona kuralları).
- Kimlik doğrulama profilleri, model kayıt defteri ve ajan başına yapılandırma için durum dizini (
agentDir). ~/.openclaw/agents/<agentId>/sessionsaltında oturum deposu (sohbet geçmişi + yönlendirme durumu).
sessions_history burada da daha güvenli oturumlar arası hatırlama yoludur: ham döküm dökümü değil, sınırlı ve temizlenmiş bir görünüm döndürür. Asistan hatırlaması, redaksiyon/kısaltma öncesinde düşünme etiketlerini, <relevant-memories> iskeletini, düz metin araç çağrısı XML yüklerini (<tool_call>...</tool_call>, <function_call>...</function_call>, <tool_calls>...</tool_calls>, <function_calls>...</function_calls> ve kısaltılmış araç çağrısı blokları dahil), düşürülmüş araç çağrısı iskeletini, sızmış ASCII/tam genişlikli model kontrol tokenlarını ve hatalı biçimlendirilmiş MiniMax araç çağrısı XML’ini çıkarır.~/.openclaw/skills gibi paylaşılan köklerden yüklenir, ardından yapılandırıldığında etkin ajan Skills izin listesine göre filtrelenir. Paylaşılan bir temel için agents.defaults.skills, ajan başına değiştirme için agents.list[].skills kullanın. Bkz. Skills: ajan başına ve paylaşılan ve Skills: ajan Skills izin listeleri.
Gateway tek ajanı (varsayılan) veya birçok ajanı yan yana barındırabilir.
Çalışma alanı notu: her ajanın çalışma alanı varsayılan cwd’dir, sert bir sandbox değildir. Göreli yollar çalışma alanının içinde çözümlenir, ancak sandboxing etkinleştirilmedikçe mutlak yollar ana makinedeki diğer konumlara erişebilir. Bkz. Sandboxing.
Yollar (hızlı harita)
- Yapılandırma:
~/.openclaw/openclaw.json(veyaOPENCLAW_CONFIG_PATH) - Durum dizini:
~/.openclaw(veyaOPENCLAW_STATE_DIR) - Çalışma alanı:
~/.openclaw/workspace(veya~/.openclaw/workspace-<agentId>) - Ajan dizini:
~/.openclaw/agents/<agentId>/agent(veyaagents.list[].agentDir) - Oturumlar:
~/.openclaw/agents/<agentId>/sessions
Tek ajan modu (varsayılan)
Hiçbir şey yapmazsanız OpenClaw tek bir ajan çalıştırır:agentIdvarsayılan olarakmainolur.- Oturumlar
agent:main:<mainKey>olarak anahtarlanır. - Çalışma alanı varsayılan olarak
~/.openclaw/workspaceolur (veyaOPENCLAW_PROFILEayarlandığında~/.openclaw/workspace-<profile>). - Durum varsayılan olarak
~/.openclaw/agents/main/agentolur.
Ajan yardımcısı
Yeni bir yalıtılmış ajan eklemek için ajan sihirbazını kullanın:bindings ekleyin (veya sihirbazın yapmasına izin verin).
Şununla doğrulayın:
Hızlı başlangıç
Her ajan çalışma alanını oluşturun
Sihirbazı kullanın veya çalışma alanlarını elle oluşturun:Her ajan,
SOUL.md, AGENTS.md ve isteğe bağlı USER.md içeren kendi çalışma alanını, ayrıca ayrılmış bir agentDir ve ~/.openclaw/agents/<agentId> altında oturum deposunu alır.Kanal hesapları oluşturun
Tercih ettiğiniz kanallarda ajan başına bir hesap oluşturun:Kanal kılavuzlarına bakın: Discord, Telegram, WhatsApp.
- Discord: ajan başına bir bot, Message Content Intent’i etkinleştirin, her tokenı kopyalayın.
- Telegram: BotFather üzerinden ajan başına bir bot, her tokenı kopyalayın.
- WhatsApp: hesap başına her telefon numarasını bağlayın.
Ajanları, hesapları ve bağlamaları ekleyin
Ajanları
agents.list altına, kanal hesaplarını channels.<channel>.accounts altına ekleyin ve bunları bindings ile bağlayın (örnekler aşağıda).Birden çok ajan = birden çok kişi, birden çok kişilik
Birden çok ajan ile heragentId tamamen yalıtılmış bir persona olur:
- Farklı telefon numaraları/hesaplar (kanal başına
accountId). - Farklı kişilikler (
AGENTS.mdveSOUL.mdgibi ajan başına çalışma alanı dosyaları). - Ayrı kimlik doğrulama + oturumlar (açıkça etkinleştirilmedikçe çapraz konuşma yok).
Ajanlar arası QMD bellek araması
Bir ajanın başka bir ajanın QMD oturum dökümlerini araması gerekiyorsaagents.list[].memorySearch.qmd.extraCollections altına ek koleksiyonlar ekleyin. agents.defaults.memorySearch.qmd.extraCollections değerini yalnızca her ajanın aynı paylaşılan döküm koleksiyonlarını devralması gerektiğinde kullanın.
Tek WhatsApp numarası, birden çok kişi (DM bölme)
Tek bir WhatsApp hesabında kalırken farklı WhatsApp DM’lerini farklı ajanlara yönlendirebilirsiniz. Gönderen E.164 (ör.+15551234567) üzerinde peer.kind: "direct" ile eşleştirin. Yanıtlar yine aynı WhatsApp numarasından gelir (ajan başına gönderen kimliği yoktur).
Doğrudan sohbetler ajanın ana oturum anahtarına daraltılır, bu nedenle gerçek yalıtım kişi başına bir ajan gerektirir.
- DM erişim denetimi, ajan başına değil WhatsApp hesabı başına geneldir (eşleştirme/izin listesi).
- Paylaşılan gruplar için grubu bir ajana bağlayın veya Yayın grupları kullanın.
Yönlendirme kuralları (iletiler ajanı nasıl seçer)
Bağlamalar deterministiktir ve en özgül olan kazanır:Eşitlik bozma ve AND semantiği
Eşitlik bozma ve AND semantiği
- Aynı katmanda birden çok bağlama eşleşirse yapılandırma sırasındaki ilk bağlama kazanır.
- Bir bağlama birden çok eşleşme alanı ayarlarsa (örneğin
peer+guildId), belirtilen tüm alanlar zorunludur (ANDsemantiği).
Hesap kapsamı ayrıntısı
Hesap kapsamı ayrıntısı
accountIdatlayan bir bağlama yalnızca varsayılan hesapla eşleşir.- Tüm hesaplar genelinde kanal çapında geri dönüş için
accountId: "*"kullanın. - Daha sonra aynı ajan için aynı bağlamayı açık bir hesap kimliğiyle eklerseniz OpenClaw mevcut yalnızca kanal bağlamasını çoğaltmak yerine hesap kapsamlı hale yükseltir.
Birden çok hesap / telefon numarası
Birden çok hesabı destekleyen kanallar (ör. WhatsApp), her oturumu tanımlamak içinaccountId kullanır. Her accountId farklı bir ajana yönlendirilebilir, böylece tek bir sunucu oturumları karıştırmadan birden çok telefon numarasını barındırabilir.
accountId atlandığında kanal çapında varsayılan bir hesap istiyorsanız channels.<channel>.defaultAccount ayarlayın (isteğe bağlı). Ayarlanmadığında OpenClaw varsa default değerine, yoksa ilk yapılandırılmış hesap kimliğine (sıralanmış) geri döner.
Bu deseni destekleyen yaygın kanallar şunları içerir:
whatsapp,telegram,discord,slack,signal,imessageirc,line,googlechat,mattermost,matrix,nextcloud-talkzalo,zalouser,nostr,feishu
Kavramlar
agentId: tek bir “beyin” (çalışma alanı, ajan başına kimlik doğrulama, ajan başına oturum deposu).accountId: tek bir kanal hesabı örneği (ör. WhatsApp hesabı"personal"ile"biz").binding: gelen iletileri(channel, accountId, peer)ve isteğe bağlı guild/takım kimlikleriyle biragentIddeğerine yönlendirir.- Doğrudan sohbetler
agent:<agentId>:<mainKey>değerine daraltılır (ajan başına “main”;session.mainKey).
Platform örnekleri
Ajan başına Discord botları
Ajan başına Discord botları
Her Discord bot hesabı benzersiz bir
accountId değerine eşlenir. Her hesabı bir ajana bağlayın ve izin listelerini bot başına tutun.- Her botu guild’e davet edin ve Message Content Intent’i etkinleştirin.
- Token’lar
channels.discord.accounts.<id>.tokeniçinde bulunur (varsayılan hesapDISCORD_BOT_TOKENkullanabilir).
Ajan başına Telegram botları
Ajan başına Telegram botları
- BotFather ile ajan başına bir bot oluşturun ve her token’ı kopyalayın.
- Token’lar
channels.telegram.accounts.<id>.botTokeniçinde bulunur (varsayılan hesapTELEGRAM_BOT_TOKENkullanabilir).
Ajan başına WhatsApp numaraları
Ajan başına WhatsApp numaraları
Gateway’i başlatmadan önce her hesabı bağlayın:
~/.openclaw/openclaw.json (JSON5):Yaygın desenler
- WhatsApp günlük + Telegram derin çalışma
- Aynı kanal, bir peer Opus'a
- Bir WhatsApp grubuna bağlı aile ajanı
Kanala göre ayırın: WhatsApp’ı hızlı bir gündelik ajana, Telegram’ı ise bir Opus ajanına yönlendirin.Notlar:
- Bir kanal için birden fazla hesabınız varsa binding’e
accountIdekleyin (örneğin{ channel: "whatsapp", accountId: "personal" }). - Geri kalanını chat üzerinde tutarken tek bir DM/grubu Opus’a yönlendirmek için o peer için bir
match.peerbinding’i ekleyin; peer eşleşmeleri her zaman kanal geneli kurallara göre önceliklidir.
Ajan başına sandbox ve araç yapılandırması
Her ajanın kendi sandbox’ı ve araç kısıtlamaları olabilir:setupCommand, sandbox.docker altında bulunur ve konteyner oluşturulduğunda bir kez çalışır. Çözümlenen scope "shared" olduğunda ajan başına sandbox.docker.* geçersiz kılmaları yok sayılır.- Güvenlik izolasyonu: güvenilmeyen ajanlar için araçları kısıtlayın.
- Kaynak denetimi: belirli ajanları sandbox’a alırken diğerlerini host üzerinde tutun.
- Esnek ilkeler: ajan başına farklı izinler.
tools.elevated globaldir ve gönderen tabanlıdır; ajan başına yapılandırılamaz. Ajan başına sınırlar gerekiyorsa exec’i reddetmek için agents.list[].tools kullanın. Grup hedefleme için @mention’ların amaçlanan ajana temiz şekilde eşlenmesi amacıyla agents.list[].groupChat.mentionPatterns kullanın.İlgili
- ACP ajanları — harici kodlama harness’larını çalıştırma
- Kanal yönlendirme — mesajların ajanlara nasıl yönlendirildiği
- Presence — ajan presence’ı ve kullanılabilirliği
- Session — session izolasyonu ve yönlendirme
- Alt ajanlar — arka plan ajan çalıştırmaları başlatma