Kurulum
Kanalı yapılandırmadan önce LINE’ı kurun:Ayarlama
- Bir LINE Developers hesabı oluşturun ve Console’u açın: https://developers.line.biz/console/
- Bir Provider oluşturun (veya seçin) ve bir Messaging API kanalı ekleyin.
- Kanal ayarlarından Channel access token ve Channel secret değerlerini kopyalayın.
- Messaging API ayarlarında Use webhook seçeneğini etkinleştirin.
- Webhook URL’sini Gateway uç noktanıza ayarlayın (HTTPS gereklidir):
200 döndürmeden önce her olayı kalıcı giriş kuyruğuna yazar;
ajan işlemesi eşzamansız olarak devam eder. Başarısız teslimat, Gateway yeniden
başlatıldıktan sonra da kuyruktan yeniden denenir ve sorunlu olaylar sınırlı sayıda
yeniden denemeden sonra başarısız kuyruk kayıtlarına dönüşür. Kalıcı depolama başarısız
olursa istek, kaybolabilecek bir olayı onaylamak yerine 500 döndürür.
Kuyruktan ajana geçiş sınırında teslimat en az bir kez gerçekleşir: etkin bir teslimat
sırasında Gateway’in kapanması veya çökmesi, turun yeniden oynatılmasına neden olabilir.
Mesaj olaylarının yinelenmesi LINE mesaj kimliğine göre önlenir; diğer olay türleri
webhookEventId kullanır. Saklanan tamamlanma kayıtları sıradan yinelenen Webhook’ları
engeller, ancak harici yan etkiler gerçekleştiren işleyiciler yine de eş etkili olmalıdır.
Özel bir yol gerekiyorsa channels.line.webhookPath veya
channels.line.accounts.<id>.webhookPath ayarını belirleyin ve URL’yi buna göre güncelleyin.
Güvenlik notları:
- LINE imza doğrulaması gövdeye bağlıdır (ham gövde üzerinden HMAC); bu nedenle OpenClaw, doğrulamadan önce katı bir kimlik doğrulama öncesi gövde sınırı (64 KB) ve okuma zaman aşımı uygular.
- OpenClaw, Webhook olaylarını doğrulanmış ham istek baytlarından işler. İmza bütünlüğü güvenliği için üst katman ara yazılımı tarafından dönüştürülen
req.bodydeğerleri yok sayılır.
Yapılandırma
Asgari yapılandırma:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile ve secretFile normal dosyalara işaret etmelidir. Sembolik bağlantılar reddedilir.
Satır içi yapılandırma değerleri dosyalara göre önceliklidir; ortam değişkenleri varsayılan hesap için son geri dönüş seçeneğidir.
Birden fazla hesap:
Erişim denetimi
Doğrudan mesajlar varsayılan olarak eşleştirmeyi kullanır. Bilinmeyen gönderenler bir eşleştirme kodu alır ve onaylanana kadar mesajları yok sayılır:channels.line.dmPolicy:pairing | allowlist | open | disabled(varsayılanpairing)channels.line.allowFrom: DM’ler için izin verilen LINE kullanıcı kimlikleri;dmPolicy: "open",["*"]gerektirirchannels.line.groupPolicy:allowlist | open | disabled(varsayılanallowlist)channels.line.groupAllowFrom: gruplar için izin verilen LINE kullanıcı kimlikleri; DMallowFromgirdileri grup gönderenlerine izin vermez- Grup başına geçersiz kılmalar:
channels.line.groups.<groupId>.allowFrom(ayrıcaenabled,requireMention,systemPrompt,skills).groupPolicy: "allowlist"ilegroupAllowFromveya grup başınaallowFromdeğerini ayarlayın; boş bir grup izin listesi, DM’ler açık olsa bile grup mesajlarını engeller. - Statik gönderen erişim gruplarına
allowFrom,groupAllowFromve grup başınaallowFromiçindenaccessGroup:<name>ile başvurulabilir; bkz. Erişim grupları. - Çalışma zamanı notu:
channels.linetamamen eksikse çalışma zamanı,channels.defaults.groupPolicyayarlanmış olsa bile grup denetimleri içingroupPolicy="allowlist"değerine geri döner.
- Kullanıcı:
U+ 32 onaltılık karakter - Grup:
C+ 32 onaltılık karakter - Oda:
R+ 32 onaltılık karakter
Mesaj davranışı
- Metin, 5000 karakterlik parçalara bölünür.
- Markdown biçimlendirmesi kaldırılır; kod blokları ve tablolar mümkün olduğunda Flex kartlarına dönüştürülür.
- Akış yanıtları arabelleğe alınır; ajan çalışırken LINE, yükleme animasyonuyla birlikte tam parçalar alır.
- Medya indirmeleri
channels.line.mediaMaxMbile sınırlandırılır (varsayılan 10). - Gelen medya, ajana aktarılmadan önce
~/.openclaw/media/inbound/altına kaydedilir; bu, diğer kanal Plugin’lerinin kullandığı ortak medya deposuyla aynıdır.
Kanal verileri (zengin mesajlar)
Hızlı yanıtlar, konumlar, Flex kartları veya şablon mesajları göndermek içinchannelData.line kullanın.
/card komutuyla birlikte gelir:
ACP desteği
LINE, ACP (Ajan İletişim Protokolü) konuşma bağlamalarını destekler:/acp spawn <agent> --bind here, alt ileti dizisi oluşturmadan mevcut LINE sohbetini bir ACP oturumuna bağlar.- Yapılandırılmış ACP bağlamaları ve konuşmaya bağlı etkin ACP oturumları, LINE’da diğer konuşma kanallarındaki gibi çalışır.
Giden medya
LINE Plugin’i, ajan mesaj aracılığıyla görüntü, video ve ses gönderir:- Görüntüler: LINE görüntü mesajları olarak gönderilir; önizleme görüntüsü varsayılan olarak medya URL’sidir.
- Videolar: bir önizleme görüntüsü gerektirir;
channelData.line.previewImageUrldeğerini bir görüntü URL’sine ayarlayın. - Ses: LINE ses mesajları olarak gönderilir;
channelData.line.durationMsayarlanmadığı sürece süre varsayılan olarak 60 saniyedir.
channelData.line.mediaKind değerinden alınır; aksi takdirde
diğer LINE seçeneklerinden veya URL dosya uzantısından çıkarılır ve geri dönüş
seçeneği görüntüdür.
Giden medya URL’leri, en fazla 2000 karakter uzunluğunda herkese açık HTTPS URL’leri olmalıdır. OpenClaw,
URL’yi LINE’a iletmeden önce hedef ana bilgisayar adını doğrular ve geri döngü,
bağlantı-yerel ve özel ağ hedeflerini reddeder.
LINE’a özgü seçenekler içermeyen genel medya gönderimleri görüntü yolunu kullanır.
Sorun giderme
- Webhook doğrulaması başarısız oluyor: Webhook URL’sinin HTTPS olduğundan ve
channelSecretdeğerinin LINE Console ile eşleştiğinden emin olun. - Gelen olay yok: Webhook yolunun
channels.line.webhookPathile eşleştiğini ve Gateway’e LINE tarafından erişilebildiğini doğrulayın. - Medya indirme hataları: Medya varsayılan sınırı aşıyorsa
channels.line.mediaMaxMbdeğerini artırın.
İlgili
- Kanallara Genel Bakış — desteklenen tüm kanallar
- Eşleştirme — DM kimlik doğrulaması ve eşleştirme akışı
- Gruplar — grup sohbeti davranışı ve bahsetme denetimi
- Kanal Yönlendirme — mesajlar için oturum yönlendirmesi
- Güvenlik — erişim modeli ve güvenliği sağlamlaştırma