Regional platforms
LINE
LINE terhubung ke OpenClaw melalui LINE Messaging API. Plugin berjalan sebagai penerima Webhook di Gateway dan menggunakan token akses channel + rahasia channel Anda untuk autentikasi.
Status: Plugin yang dapat diunduh. Pesan langsung, obrolan grup, media, lokasi, pesan Flex, pesan template, dan balasan cepat didukung. Reaksi dan utas tidak didukung.
Instal
Instal LINE sebelum mengonfigurasi channel:
openclaw plugins install @openclaw/lineCheckout lokal (saat menjalankan dari repo git):
openclaw plugins install ./path/to/local/line-pluginPenyiapan
- Buat akun LINE Developers dan buka Console: https://developers.line.biz/console/
- Buat (atau pilih) Penyedia dan tambahkan channel Messaging API.
- Salin Token akses channel dan Rahasia channel dari pengaturan channel.
- Aktifkan Gunakan webhook di pengaturan Messaging API.
- Atur URL Webhook ke endpoint Gateway Anda (HTTPS wajib):
https://gateway-host/line/webhookGateway merespons verifikasi Webhook LINE (GET) dan mengakui peristiwa masuk bertanda tangan
(POST) segera setelah validasi tanda tangan dan payload; pemrosesan agen
berlanjut secara asinkron.
Jika Anda memerlukan path khusus, atur channels.line.webhookPath atau
channels.line.accounts.<id>.webhookPath dan perbarui URL sesuai kebutuhan.
Catatan keamanan:
- Verifikasi tanda tangan LINE bergantung pada body (HMAC atas body mentah), jadi OpenClaw menerapkan batas body pra-autentikasi yang ketat dan timeout sebelum verifikasi.
- OpenClaw memproses peristiwa Webhook dari byte permintaan mentah yang telah diverifikasi. Nilai
req.bodyyang ditransformasi middleware upstream diabaikan demi keamanan integritas tanda tangan.
Konfigurasi
Konfigurasi minimal:
{ channels: { line: { enabled: true, channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN", channelSecret: "LINE_CHANNEL_SECRET", dmPolicy: "pairing", }, },}Konfigurasi DM publik:
{ channels: { line: { enabled: true, channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN", channelSecret: "LINE_CHANNEL_SECRET", dmPolicy: "open", allowFrom: ["*"], }, },}Variabel env (hanya akun default):
LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
File token/rahasia:
{ channels: { line: { tokenFile: "/path/to/line-token.txt", secretFile: "/path/to/line-secret.txt", }, },}tokenFile dan secretFile harus mengarah ke file reguler. Symlink ditolak.
Beberapa akun:
{ channels: { line: { accounts: { marketing: { channelAccessToken: "...", channelSecret: "...", webhookPath: "/line/marketing", }, }, }, },}Kontrol akses
Pesan langsung default ke pairing. Pengirim yang tidak dikenal mendapatkan kode pairing dan pesan mereka diabaikan hingga disetujui.
openclaw pairing list lineopenclaw pairing approve line <CODE>Allowlist dan kebijakan:
channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom: ID pengguna LINE yang masuk allowlist untuk DM;dmPolicy: "open"memerlukan["*"]channels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom: ID pengguna LINE yang masuk allowlist untuk grup- Override per grup:
channels.line.groups.<groupId>.allowFrom - Grup akses pengirim statis dapat dirujuk dari
allowFrom,groupAllowFrom, danallowFromper grup denganaccessGroup:<name>. - Catatan runtime: jika
channels.linesepenuhnya tidak ada, runtime fallback kegroupPolicy="allowlist"untuk pemeriksaan grup (meskipunchannels.defaults.groupPolicydiatur).
ID LINE peka huruf besar-kecil. ID yang valid terlihat seperti:
- Pengguna:
U+ 32 karakter hex - Grup:
C+ 32 karakter hex - Ruang:
R+ 32 karakter hex
Perilaku pesan
- Teks dipecah pada 5000 karakter.
- Pemformatan Markdown dihapus; blok kode dan tabel dikonversi menjadi kartu Flex jika memungkinkan.
- Respons streaming dibuffer; LINE menerima chunk lengkap dengan animasi pemuatan saat agen bekerja.
- Unduhan media dibatasi oleh
channels.line.mediaMaxMb(default 10). - Media masuk disimpan di bawah
~/.openclaw/media/inbound/sebelum diteruskan ke agen, sesuai dengan penyimpanan media bersama yang digunakan oleh Plugin channel bawaan lainnya.
Data channel (pesan kaya)
Gunakan channelData.line untuk mengirim balasan cepat, lokasi, kartu Flex, atau pesan
template.
{ text: "Here you go", channelData: { line: { quickReplies: ["Status", "Help"], location: { title: "Office", address: "123 Main St", latitude: 35.681236, longitude: 139.767125, }, flexMessage: { altText: "Status card", contents: { /* Flex payload */ }, }, templateMessage: { type: "confirm", text: "Proceed?", confirmLabel: "Yes", confirmData: "yes", cancelLabel: "No", cancelData: "no", }, }, },}Plugin LINE juga menyertakan perintah /card untuk preset pesan Flex:
/card info "Welcome" "Thanks for joining!"Dukungan ACP
LINE mendukung binding percakapan ACP (Agent Communication Protocol):
/acp spawn <agent> --bind heremengikat obrolan LINE saat ini ke sesi ACP tanpa membuat utas turunan.- Binding ACP yang dikonfigurasi dan sesi ACP aktif yang terikat percakapan bekerja di LINE seperti channel percakapan lainnya.
Lihat Agen ACP untuk detail.
Media keluar
Plugin LINE mendukung pengiriman gambar, video, dan file audio melalui alat pesan agen. Media dikirim melalui jalur pengiriman khusus LINE dengan penanganan pratinjau dan pelacakan yang sesuai:
- Gambar: dikirim sebagai pesan gambar LINE dengan pembuatan pratinjau otomatis.
- Video: dikirim dengan penanganan pratinjau dan tipe konten eksplisit.
- Audio: dikirim sebagai pesan audio LINE.
URL media keluar harus berupa URL HTTPS publik. OpenClaw memvalidasi hostname target sebelum menyerahkan URL ke LINE dan menolak target loopback, link-local, dan jaringan privat.
Pengiriman media generik fallback ke rute khusus gambar yang sudah ada jika jalur khusus LINE tidak tersedia.
Pemecahan masalah
- Verifikasi Webhook gagal: pastikan URL Webhook menggunakan HTTPS dan
channelSecretcocok dengan konsol LINE. - Tidak ada peristiwa masuk: konfirmasi path Webhook cocok dengan
channels.line.webhookPathdan Gateway dapat dijangkau dari LINE. - Kesalahan unduhan media: naikkan
channels.line.mediaMaxMbjika media melebihi batas default.
Terkait
- Ikhtisar Channel — semua channel yang didukung
- Pairing — autentikasi DM dan alur pairing
- Grup — perilaku obrolan grup dan gating mention
- Perutean Channel — perutean sesi untuk pesan
- Keamanan — model akses dan hardening