agentDir) ve SQLite destekli oturum geçmişine sahip birden fazla yalıtılmış agent’ın yanı sıra birden fazla kanal hesabı (ör. iki WhatsApp numarası) çalıştırın. Gelen mesajlar bağlamalar aracılığıyla doğru agent’a yönlendirilir.
Bir agent, persona başına kapsamın tamamıdır: çalışma alanı dosyaları, kimlik doğrulama profilleri, model kayıt defteri ve oturum deposu. Bir bağlama, bir kanal hesabını (bir Slack çalışma alanı, bir WhatsApp numarası vb.) bu agent’lardan biriyle eşler.
Bir agent nedir
Her agent’ın kendine ait şunları vardır:- Çalışma alanı: dosyalar,
AGENTS.md/SOUL.md/USER.md, yerel notlar, persona kuralları. - Durum dizini (
agentDir): kimlik doğrulama profilleri, model kayıt defteri, agent başına yapılandırma. - Oturum deposu:
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqliteiçindeki sohbet geçmişi ve yönlendirme durumu.
sessions_history, oturumlar arası hatırlama için daha güvenli yoldur: ham bir döküm dökümü değil, sınırlandırılmış ve sansürlenmiş bir görünüm döndürür. Düşünme bloğu imzalarını, araç sonucu yüklerinin ayrıntılarını, <relevant-memories> iskeletini, araç çağrısı XML etiketlerini (<tool_call>, <function_call> ve bunların çoğul/indirgenmiş biçimleri) ve MiniMax araç çağrısı XML’ini kaldırır; ardından çıktıyı bayt boyutuna göre kısaltır ve sınırlar.~/.openclaw/skills gibi paylaşılan köklerden yüklenir, ardından geçerli agent becerisi izin listesine göre filtrelenir. Paylaşılan bir temel için agents.defaults.skills, agent başına değiştirme için agents.entries.*.skills kullanın (açık girdiler varsayılanın yerini alır, onunla birleştirilmez). Bkz. Skills: agent başına ve paylaşılan ve Skills: agent izin listeleri.
Plugin’e ait depolama, ilgili Plugin’in yapılandırmasını izler; ikinci bir agent eklemek
her genel Plugin deposunu otomatik olarak ayırmaz. Örneğin personaların derlenmiş
wiki bilgisini paylaşmaması gerektiğinde agent başına Memory Wiki kasalarını
yapılandırın.
Çalışma alanı notu: her agent’ın çalışma alanı varsayılan cwd’dir, katı bir korumalı alan değildir. Göreli yollar çalışma alanı içinde çözümlenir, ancak korumalı alan etkinleştirilmedikçe mutlak yollar ana makinedeki diğer konumlara erişebilir. Bkz. Korumalı alan.
Yollar
Tek agent modu (varsayılan)
Hiçbir şey yapılandırmazsanız OpenClaw tek bir agent çalıştırır:agentIdvarsayılan olarakmaindeğerini alır.- Oturumlar
agent:main:<mainKey>olarak anahtarlanır (varsayılanmainKey,maindeğeridir). - Çalışma alanı varsayılan olarak
~/.openclaw/workspacedeğerini alır (OPENCLAW_PROFILE,defaultdışında bir değere ayarlandığındaworkspace-<profile>). - Durum varsayılan olarak
~/.openclaw/agents/main/agentdeğerini alır.
Agent yardımcısı
Yeni bir yalıtılmış agent ekleyin:--workspace <dir>, --model <id>, --agent-dir <dir>, --bind <channel[:accountId]> (tekrarlanabilir), --non-interactive (--workspace gerektirir).
Gelen mesajları yönlendirmek için bindings ekleyin (sihirbaz bunu sizin için yapmayı önerir), ardından doğrulayın:
Hızlı başlangıç
1
Her agent çalışma alanını oluşturun
SOUL.md, AGENTS.md ve isteğe bağlı USER.md içeren kendi çalışma alanının yanı sıra özel bir agentDir ve ~/.openclaw/agents/<agentId> altında bir oturum deposu edinir.2
Kanal hesaplarını oluşturun
Tercih ettiğiniz kanallarda her agent için bir hesap oluşturun:Kanal kılavuzlarına bakın: Discord, Telegram, WhatsApp.
- Discord: agent başına bir bot oluşturun, Message Content Intent seçeneğini etkinleştirin ve her belirteci kopyalayın.
- Telegram: BotFather aracılığıyla agent başına bir bot oluşturun ve her belirteci kopyalayın.
- WhatsApp: her hesap için ilgili telefon numarasını bağlayın.
3
Agent'ları, hesapları ve bağlamaları ekleyin
Agent’ları
agents.entries altında, kanal hesaplarını channels.<channel>.accounts altında ekleyin ve bunları bindings ile bağlayın (aşağıdaki örneklere bakın).4
Yeniden başlatın ve doğrulayın
Birden fazla agent, birden fazla persona
Yapılandırılan heragentId, temel agent durumu için ayrı bir persona sınırıdır:
- Kanal başına farklı hesaplar (
accountIdbaşına). - Farklı kişilikler (agent başına
AGENTS.md/SOUL.md). - Agent’lar arası erişimin yalnızca açık özellikler veya Plugin yapılandırması aracılığıyla etkinleştirildiği ayrı kimlik doğrulama ve oturumlar.
Agent başına Memory Wiki kasaları
Memory Wiki varsayılan olarak tek bir genel kasa kullanır. Bir destek agent’ının derlenmiş bilgisini bir pazarlama agent’ının bilgisinden ayrı tutmak içinplugins.entries.memory-wiki.config.vault.scope değerini agent olarak ayarlayın:
~/.openclaw/wiki/support ve
~/.openclaw/wiki/marketing gibi yollar oluşturur. Birden fazla agent yapılandırıldığında
agent kapsamlı CLI ve Gateway işlemleri açıkça bir agent belirtilmesini gerektirir. Köprü
filtreleme, geçiş ve güven sınırı ayrıntıları için
Agent başına Memory Wiki kasaları bölümüne bakın.
Agent’lar arası QMD bellek araması
Bir agent’ın başka bir agent’ın QMD oturum dökümlerinde arama yapmasına izin vermek içinagents.entries.*.memory.search.qmd.extraCollections altına ek koleksiyonlar ekleyin. Her agent’ın aynı koleksiyonları paylaşması gerektiğinde memory.search.qmd.extraCollections kullanın.
name açıkça belirtilmiş olarak kalır. Çalışma alanının içindeki yollar agent kapsamlı kalır; böylece her agent kendi döküm arama kümesini korur.
Tek WhatsApp numarası, birden fazla kişi (DM ayrımı)
Gönderenin E.164 (+15551234567) değerini peer.kind: "direct" ile eşleştirerek tek bir WhatsApp hesabındaki farklı WhatsApp DM’lerini farklı agent’lara yönlendirin. Yanıtlar yine aynı WhatsApp numarasından gelir; agent başına gönderen kimliği yoktur.
Doğrudan sohbetler varsayılan olarak agent’ın ana oturum anahtarında birleştirilir; bu nedenle gerçek yalıtım kişi başına bir agent gerektirir.
Yönlendirme kuralları
Bağlamalar deterministiktir ve en özel eşleşme kazanır. Tam katman sıralaması (tam eş, üst eş, eş joker karakteri, lonca+roller, lonca, ekip, hesap, kanal, varsayılan agent) için Kanal yönlendirme bölümüne bakın. Burada özellikle belirtilmesi gereken birkaç kural:- Aynı katmanda birden fazla bağlama eşleşirse yapılandırma sırasındaki ilk bağlama kazanır.
- Bir bağlama birden fazla eşleşme alanı ayarlarsa (örneğin
peer+guildId), belirtilen tüm alanlar eşleşmelidir (ANDsemantiği). accountIddeğerini atlayan bir bağlama, tüm hesaplarla değil yalnızca varsayılan hesapla eşleşir. Kanal genelinde geri dönüş içinaccountId: "*", tek bir hesap içinaccountId: "<name>"kullanın. Aynı bağlamayı açık bir hesap kimliğiyle yeniden eklemek, mevcut yalnızca kanal bağlamasını çoğaltmak yerine yükseltir.
Birden fazla hesap / telefon numarası
Birden fazla hesabı destekleyen kanallar (ör. WhatsApp), her oturum açma işlemini tanımlamak içinaccountId kullanır. Her accountId kendi agent’ına yönlendirilir; böylece tek bir sunucu, oturumları karıştırmadan birden fazla telefon numarasını barındırabilir.
accountId belirtilmediğinde kullanılacak hesabı seçmek için channels.<channel>.defaultAccount değerini ayarlayın. Ayarlanmadığında OpenClaw, varsa default değerini; yoksa yapılandırılan ilk hesap kimliğini (sıralanmış olarak) kullanır.
Birden fazla hesabı destekleyen kanallar: discord, feishu, googlechat, imessage, irc, line, mattermost, matrix, nextcloud-talk, nostr, signal, slack, telegram, whatsapp, zalo, zalouser.
Kavramlar
agentId: tek bir “beyin” (çalışma alanı, aracı başına kimlik doğrulama, aracı başına oturum deposu).accountId: tek bir kanal hesabı örneği (ör. WhatsApp hesabıpersonalilebiz).binding: gelen mesajları(channel, accountId, peer)ve isteğe bağlı olarak guild/ekip kimliklerine göre biragentIdöğesine yönlendirir.- Doğrudan sohbetler
agent:<agentId>:<mainKey>altında birleştirilir (aracı başına “ana”; bkz.session.mainKey).
Platform örnekleri
Aracı başına Discord botları
Aracı başına Discord botları
Her Discord bot hesabı benzersiz bir
accountId ile eşleşir. Her hesabı bir aracıya bağlayın ve izin listelerini bot başına ayrı tutun.- Her botu guild’e davet edin ve Message Content Intent seçeneğini etkinleştirin.
- Tokenlar
channels.discord.accounts.<id>.tokeniçinde bulunur (varsayılan hesapDISCORD_BOT_TOKENkullanabilir).
Aracı başına Telegram botları
Aracı başına Telegram botları
- BotFather ile her aracı için bir bot oluşturun ve her tokenı kopyalayın.
- Tokenlar
channels.telegram.accounts.<id>.botTokeniçinde bulunur (varsayılan hesapTELEGRAM_BOT_TOKENkullanabilir). - Aynı Telegram grubunda birden fazla bot için her botu davet edin ve yanıtlaması gereken bottan @bahsedin.
- Her grup botu için BotFather Privacy Mode’u devre dışı bırakın (
/setprivacy-> Disable), ardından Telegram’ın ayarı uygulaması için botu kaldırıp yeniden ekleyin. - Gruplara
channels.telegram.groupsile izin verin veya yalnızca güvenilen grup dağıtımlarındagroupPolicy: "open"kullanın. - Gönderen kullanıcı kimliklerini
groupAllowFromiçine yerleştirin. Grup ve süper grup kimliklerigroupAllowFromiçine değil,channels.telegram.groupsiçine konulmalıdır. - Her botun kendi aracısına yönlendirilmesi için
accountIdile bağlayın.
Aracı başına WhatsApp numaraları
Aracı başına WhatsApp numaraları
Gateway’i başlatmadan önce her hesabı bağlayın:
~/.openclaw/openclaw.json (JSON5):Yaygın kalıplar
- Günlük WhatsApp + Telegram'da derin çalışma
- Aynı kanal, bir eş düzeyi Opus'a
- Bir WhatsApp grubuna bağlı aile aracısı
Kanala göre ayırın: WhatsApp’ı hızlı bir gündelik aracıya, Telegram’ı ise bir Opus aracısına yönlendirin.Bu örneklerde
accountId: "*" kullanıldığından daha sonra hesap ekleseniz bile bağlamalar çalışmayı sürdürür. Geri kalanını sohbet aracısında tutarken tek bir DM/grubu Opus’a yönlendirmek için o eş düzeyi adına bir match.peer bağlaması ekleyin; eş düzeyi eşleşmeleri her zaman kanal genelindeki kurallardan önce gelir.Aracı başına sandbox ve araç yapılandırması
Her aracının kendi sandbox ve araç kısıtlamaları olabilir:setupCommand, sandbox.docker altında bulunur ve container oluşturulurken bir kez çalışır. Çözümlenen kapsam "shared" olduğunda aracı başına sandbox.docker.* geçersiz kılmaları yok sayılır.- Güvenlik yalıtımı: güvenilmeyen aracılar için araçları kısıtlayın.
- Kaynak denetimi: bazı aracıları sandbox içinde çalıştırırken diğerlerini ana sistemde tutun.
- Esnek politikalar: aracı başına farklı izinler.
tools.elevated hem genel bir geçide (tools.elevated.enabled/allowFrom) hem de aracı başına bir geçide (agents.entries.*.tools.elevated.enabled/allowFrom) sahiptir. Aracı başına geçit, genel geçidi yalnızca daha fazla kısıtlayabilir; yükseltilmiş komutların çalışması için her ikisinin de bir gönderene izin vermesi gerekir. Grup hedeflemesinde @bahsetmelerin amaçlanan aracıyla düzgün biçimde eşleşmesi için agents.entries.*.groupChat.mentionPatterns kullanın.İlgili
- ACP ajanları — harici kodlama sistemlerini çalıştırma
- Kanal yönlendirme — iletilerin ajanlara nasıl yönlendirildiği
- Varlık — ajan varlığı ve kullanılabilirliği
- Oturum — oturum yalıtımı ve yönlendirme
- Alt ajanlar — arka planda ajan çalıştırmaları başlatma