Developer and self-hosted
Tlon
Tlon adalah messenger terdesentralisasi yang dibangun di atas Urbit. OpenClaw terhubung ke ship Urbit Anda dan dapat menanggapi DM dan pesan obrolan grup. Balasan grup memerlukan sebutan @ secara default dan dapat dibatasi lebih lanjut melalui daftar izin.
Status: Plugin terbundel. DM, sebutan grup, balasan utas, pemformatan teks kaya, dan unggahan gambar didukung. Reaksi dan jajak pendapat belum didukung.
Plugin terbundel
Tlon dikirim sebagai Plugin terbundel dalam rilis OpenClaw saat ini, sehingga build paket normal tidak memerlukan instalasi terpisah.
Jika Anda menggunakan build lama atau instalasi kustom yang mengecualikan Tlon, instal paket npm saat ini:
Instal melalui CLI (registri npm):
openclaw plugins install @openclaw/tlon
Gunakan paket polos untuk mengikuti tag rilis resmi saat ini. Sematkan versi persis hanya ketika Anda membutuhkan instalasi yang dapat direproduksi.
Checkout lokal (saat menjalankan dari repo git):
openclaw plugins install ./path/to/local/tlon-plugin
Detail: Plugin
Penyiapan
- Pastikan Plugin Tlon tersedia.
- Rilis paket OpenClaw saat ini sudah membundelnya.
- Instalasi lama/kustom dapat menambahkannya secara manual dengan perintah di atas.
- Kumpulkan URL ship dan kode login Anda.
- Konfigurasikan
channels.tlon. - Mulai ulang Gateway.
- Kirim DM ke bot atau sebut bot di channel grup.
Konfigurasi minimal (satu akun):
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
ownerShip: "~your-main-ship", // recommended: your ship, always allowed
},
},
}
Ship privat/LAN
Secara default, OpenClaw memblokir hostname dan rentang IP privat/internal untuk perlindungan SSRF. Jika ship Anda berjalan di jaringan privat (localhost, IP LAN, atau hostname internal), Anda harus memilih ikut serta secara eksplisit:
{
channels: {
tlon: {
url: "http://localhost:8080",
allowPrivateNetwork: true,
},
},
}
Ini berlaku untuk URL seperti:
http://localhost:8080http://192.168.x.x:8080http://my-ship.local:8080
⚠️ Aktifkan ini hanya jika Anda memercayai jaringan lokal Anda. Pengaturan ini menonaktifkan perlindungan SSRF untuk permintaan ke URL ship Anda.
Channel grup
Penemuan otomatis diaktifkan secara default. Anda juga dapat menyematkan channel secara manual:
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
Nonaktifkan penemuan otomatis:
{
channels: {
tlon: {
autoDiscoverChannels: false,
},
},
}
Kontrol akses
Daftar izin DM (kosong = tidak ada DM yang diizinkan, gunakan ownerShip untuk alur persetujuan):
{
channels: {
tlon: {
dmAllowlist: ["~zod", "~nec"],
},
},
}
Otorisasi grup (dibatasi secara default):
{
channels: {
tlon: {
defaultAuthorizedShips: ["~zod"],
authorization: {
channelRules: {
"chat/~host-ship/general": {
mode: "restricted",
allowedShips: ["~zod", "~nec"],
},
"chat/~host-ship/announcements": {
mode: "open",
},
},
},
},
},
}
Pemilik dan sistem persetujuan
Atur ship pemilik untuk menerima permintaan persetujuan ketika pengguna yang tidak berwenang mencoba berinteraksi:
{
channels: {
tlon: {
ownerShip: "~your-main-ship",
},
},
}
Ship pemilik secara otomatis diotorisasi di mana saja — undangan DM diterima otomatis dan
pesan channel selalu diizinkan. Anda tidak perlu menambahkan pemilik ke dmAllowlist atau
defaultAuthorizedShips.
Ketika diatur, pemilik menerima notifikasi DM untuk:
- Permintaan DM dari ship yang tidak ada dalam daftar izin
- Sebutan di channel tanpa otorisasi
- Permintaan undangan grup
Pengaturan terima otomatis
Terima otomatis undangan DM (untuk ship dalam dmAllowlist):
{
channels: {
tlon: {
autoAcceptDmInvites: true,
},
},
}
Terima otomatis undangan grup dari ship tepercaya:
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
groupInviteAllowlist: ["~zod"],
},
},
}
autoAcceptGroupInvites gagal tertutup ketika groupInviteAllowlist kosong. Atur
daftar izin ke ship yang undangan grupnya harus diterima secara otomatis.
Target pengiriman (CLI/Cron)
Gunakan ini dengan openclaw message send atau pengiriman Cron:
- DM:
~sampel-palnetataudm/~sampel-palnet - Grup:
chat/~host-ship/channelataugroup:~host-ship/channel
Skill terbundel
Plugin Tlon menyertakan skill terbundel (@tloncorp/tlon-skill)
yang menyediakan akses CLI ke operasi Tlon:
- Kontak: dapatkan/perbarui profil, cantumkan kontak
- Channel: cantumkan, buat, kirim pesan, ambil riwayat
- Grup: cantumkan, buat, kelola anggota
- DM: kirim pesan, beri reaksi ke pesan
- Reaksi: tambah/hapus reaksi emoji ke postingan dan DM
- Pengaturan: kelola izin Plugin melalui perintah slash
Skill tersedia secara otomatis ketika Plugin diinstal.
Kapabilitas
| Fitur | Status |
|---|---|
| Pesan langsung | ✅ Didukung |
| Grup/channel | ✅ Didukung (dibatasi sebutan secara default) |
| Utas | ✅ Didukung (balasan otomatis dalam utas) |
| Teks kaya | ✅ Markdown dikonversi ke format Tlon |
| Gambar | ✅ Diunggah ke penyimpanan Tlon |
| Reaksi | ✅ Melalui skill terbundel |
| Jajak pendapat | ❌ Belum didukung |
| Perintah native | ✅ Didukung (hanya pemilik secara default) |
Pemecahan masalah
Jalankan tangga ini terlebih dahulu:
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
Kegagalan umum:
- DM diabaikan: pengirim tidak ada di
dmAllowlistdan tidak adaownerShipyang dikonfigurasi untuk alur persetujuan. - Pesan grup diabaikan: channel tidak ditemukan atau pengirim tidak diotorisasi.
- Kesalahan koneksi: periksa URL ship dapat dijangkau; aktifkan
allowPrivateNetworkuntuk ship lokal. - Kesalahan auth: verifikasi kode login masih berlaku (kode berotasi).
Referensi konfigurasi
Konfigurasi lengkap: Konfigurasi
Opsi penyedia:
channels.tlon.enabled: aktifkan/nonaktifkan startup channel.channels.tlon.ship: nama ship Urbit bot (mis.~sampel-palnet).channels.tlon.url: URL ship (mis.https://sampel-palnet.tlon.network).channels.tlon.code: kode login ship.channels.tlon.allowPrivateNetwork: izinkan URL localhost/LAN (bypass SSRF).channels.tlon.ownerShip: ship pemilik untuk sistem persetujuan (selalu diotorisasi).channels.tlon.dmAllowlist: ship yang diizinkan mengirim DM (kosong = tidak ada).channels.tlon.autoAcceptDmInvites: terima otomatis DM dari ship yang ada di daftar izin.channels.tlon.autoAcceptGroupInvites: terima otomatis undangan grup dari ship yang ada di daftar izin.channels.tlon.groupInviteAllowlist: ship yang undangan grupnya boleh diterima otomatis.channels.tlon.autoDiscoverChannels: temukan channel grup secara otomatis (default: true).channels.tlon.groupChannels: nest channel yang disematkan secara manual.channels.tlon.defaultAuthorizedShips: ship yang diotorisasi untuk semua channel.channels.tlon.authorization.channelRules: aturan auth per channel.channels.tlon.showModelSignature: tambahkan nama model ke pesan.
Catatan
- Balasan grup memerlukan sebutan (mis.
~your-bot-ship) untuk menanggapi. - Balasan utas: jika pesan masuk berada dalam utas, OpenClaw membalas di dalam utas.
- Teks kaya: pemformatan Markdown (tebal, miring, kode, header, daftar) dikonversi ke format native Tlon.
- Gambar: URL diunggah ke penyimpanan Tlon dan disematkan sebagai blok gambar.
Terkait
- Ikhtisar Channel — semua channel yang didukung
- Pemasangan — autentikasi DM dan alur pemasangan
- Grup — perilaku obrolan grup dan pembatasan sebutan
- Perutean Channel — perutean sesi untuk pesan
- Keamanan — model akses dan pengerasan