Developer and self-hosted
Tlon
Tlon یک پیامرسان غیرمتمرکز است که بر پایه Urbit ساخته شده است. OpenClaw به کشتی Urbit شما وصل میشود و میتواند به DMها و پیامهای گفتوگوی گروهی پاسخ دهد. پاسخهای گروهی بهطور پیشفرض به mention با @ نیاز دارند و میتوانند از طریق allowlistها بیشتر محدود شوند.
وضعیت: Plugin همراه. DMها، mentionهای گروهی، پاسخهای thread، قالببندی متن غنی، و بارگذاری تصویر پشتیبانی میشوند. واکنشها و نظرسنجیها هنوز پشتیبانی نمیشوند.
Plugin همراه
Tlon در نسخههای فعلی OpenClaw بهصورت یک Plugin همراه عرضه میشود، بنابراین buildهای بستهبندیشده معمولی به نصب جداگانه نیاز ندارند.
اگر روی یک build قدیمیتر هستید یا نصب سفارشیای دارید که Tlon را حذف کرده است، یک بسته npm فعلی نصب کنید:
نصب از طریق CLI (رجیستری npm):
openclaw plugins install @openclaw/tlon
برای دنبال کردن تگ انتشار رسمی فعلی از بسته بدون نسخه استفاده کنید. فقط زمانی یک نسخه دقیق را pin کنید که به نصب قابل بازتولید نیاز دارید.
checkout محلی (هنگام اجرا از یک مخزن git):
openclaw plugins install ./path/to/local/tlon-plugin
جزئیات: Pluginها
راهاندازی
- مطمئن شوید Plugin Tlon در دسترس است.
- نسخههای بستهبندیشده فعلی OpenClaw از قبل آن را همراه دارند.
- نصبهای قدیمیتر/سفارشی میتوانند آن را با دستورهای بالا بهصورت دستی اضافه کنند.
- URL کشتی و کد ورود خود را جمعآوری کنید.
channels.tlonرا پیکربندی کنید.- Gateway را راهاندازی مجدد کنید.
- به بات DM بدهید یا آن را در یک کانال گروهی mention کنید.
پیکربندی حداقلی (یک حساب):
{
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
},
},
}
کشتیهای خصوصی/LAN
OpenClaw بهطور پیشفرض hostnameها و محدودههای IP خصوصی/داخلی را برای محافظت در برابر SSRF مسدود میکند. اگر کشتی شما روی یک شبکه خصوصی اجرا میشود (localhost، IP شبکه LAN، یا hostname داخلی)، باید صریحا opt in کنید:
{
channels: {
tlon: {
url: "http://localhost:8080",
allowPrivateNetwork: true,
},
},
}
این برای URLهایی مانند موارد زیر اعمال میشود:
http://localhost:8080http://192.168.x.x:8080http://my-ship.local:8080
⚠️ این گزینه را فقط اگر به شبکه محلی خود اعتماد دارید فعال کنید. این تنظیم محافظتهای SSRF را برای درخواستها به URL کشتی شما غیرفعال میکند.
کانالهای گروهی
کشف خودکار بهطور پیشفرض فعال است. همچنین میتوانید کانالها را بهصورت دستی pin کنید:
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
غیرفعال کردن کشف خودکار:
{
channels: {
tlon: {
autoDiscoverChannels: false,
},
},
}
کنترل دسترسی
allowlist DM (خالی = هیچ DM مجاز نیست، برای جریان تأیید از ownerShip استفاده کنید):
{
channels: {
tlon: {
dmAllowlist: ["~zod", "~nec"],
},
},
}
مجوزدهی گروهی (بهطور پیشفرض محدود):
{
channels: {
tlon: {
defaultAuthorizedShips: ["~zod"],
authorization: {
channelRules: {
"chat/~host-ship/general": {
mode: "restricted",
allowedShips: ["~zod", "~nec"],
},
"chat/~host-ship/announcements": {
mode: "open",
},
},
},
},
},
}
مالک و سیستم تأیید
یک کشتی مالک تنظیم کنید تا وقتی کاربران غیرمجاز تلاش میکنند تعامل داشته باشند، درخواستهای تأیید را دریافت کند:
{
channels: {
tlon: {
ownerShip: "~your-main-ship",
},
},
}
کشتی مالک بهطور خودکار همهجا مجاز است — دعوتهای DM بهصورت خودکار پذیرفته میشوند و
پیامهای کانال همیشه مجاز هستند. لازم نیست مالک را به dmAllowlist یا
defaultAuthorizedShips اضافه کنید.
وقتی تنظیم شده باشد، مالک برای موارد زیر اعلانهای DM دریافت میکند:
- درخواستهای DM از کشتیهایی که در allowlist نیستند
- mentionها در کانالهای بدون مجوزدهی
- درخواستهای دعوت گروهی
تنظیمات پذیرش خودکار
پذیرش خودکار دعوتهای DM (برای کشتیهای موجود در dmAllowlist):
{
channels: {
tlon: {
autoAcceptDmInvites: true,
},
},
}
پذیرش خودکار دعوتهای گروهی از کشتیهای مورد اعتماد:
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
groupInviteAllowlist: ["~zod"],
},
},
}
وقتی groupInviteAllowlist خالی باشد، autoAcceptGroupInvites بهصورت بسته شکست میخورد. allowlist را
روی کشتیهایی تنظیم کنید که دعوتهای گروهی آنها باید بهطور خودکار پذیرفته شود.
مقصدهای تحویل (CLI/cron)
از اینها با openclaw message send یا تحویل cron استفاده کنید:
- DM:
~sampel-palnetیاdm/~sampel-palnet - گروه:
chat/~host-ship/channelیاgroup:~host-ship/channel
Skill همراه
Plugin Tlon شامل یک Skill همراه (@tloncorp/tlon-skill)
است که دسترسی CLI به عملیات Tlon را فراهم میکند:
- مخاطبین: دریافت/بهروزرسانی پروفایلها، فهرست کردن مخاطبین
- کانالها: فهرست کردن، ایجاد، ارسال پیامها، واکشی تاریخچه
- گروهها: فهرست کردن، ایجاد، مدیریت اعضا
- DMها: ارسال پیامها، واکنش به پیامها
- واکنشها: افزودن/حذف واکنشهای ایموجی به پستها و DMها
- تنظیمات: مدیریت مجوزهای Plugin از طریق دستورهای slash
وقتی Plugin نصب شده باشد، Skill بهطور خودکار در دسترس است.
قابلیتها
| قابلیت | وضعیت |
|---|---|
| پیامهای مستقیم | ✅ پشتیبانی میشود |
| گروهها/کانالها | ✅ پشتیبانی میشود (بهطور پیشفرض با mention کنترل میشود) |
| Threadها | ✅ پشتیبانی میشود (پاسخهای خودکار در thread) |
| متن غنی | ✅ Markdown به قالب Tlon تبدیل میشود |
| تصاویر | ✅ در فضای ذخیرهسازی Tlon بارگذاری میشود |
| واکنشها | ✅ از طریق Skill همراه |
| نظرسنجیها | ❌ هنوز پشتیبانی نمیشود |
| دستورهای بومی | ✅ پشتیبانی میشود (بهطور پیشفرض فقط مالک) |
عیبیابی
ابتدا این نردبان را اجرا کنید:
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
خرابیهای رایج:
- DMها نادیده گرفته میشوند: فرستنده در
dmAllowlistنیست و هیچownerShipبرای جریان تأیید پیکربندی نشده است. - پیامهای گروهی نادیده گرفته میشوند: کانال کشف نشده یا فرستنده مجاز نیست.
- خطاهای اتصال: بررسی کنید URL کشتی قابل دسترس باشد؛ برای کشتیهای محلی
allowPrivateNetworkرا فعال کنید. - خطاهای احراز هویت: تأیید کنید کد ورود فعلی است (کدها میچرخند).
مرجع پیکربندی
پیکربندی کامل: پیکربندی
گزینههای ارائهدهنده:
channels.tlon.enabled: فعال/غیرفعال کردن راهاندازی کانال.channels.tlon.ship: نام کشتی Urbit بات (مثلا~sampel-palnet).channels.tlon.url: URL کشتی (مثلاhttps://sampel-palnet.tlon.network).channels.tlon.code: کد ورود کشتی.channels.tlon.allowPrivateNetwork: اجازه دادن به URLهای localhost/LAN (دور زدن SSRF).channels.tlon.ownerShip: کشتی مالک برای سیستم تأیید (همیشه مجاز).channels.tlon.dmAllowlist: کشتیهایی که مجاز به DM هستند (خالی = هیچکدام).channels.tlon.autoAcceptDmInvites: پذیرش خودکار DMها از کشتیهای موجود در allowlist.channels.tlon.autoAcceptGroupInvites: پذیرش خودکار دعوتهای گروهی از کشتیهای موجود در allowlist.channels.tlon.groupInviteAllowlist: کشتیهایی که دعوتهای گروهی آنها میتواند بهطور خودکار پذیرفته شود.channels.tlon.autoDiscoverChannels: کشف خودکار کانالهای گروهی (پیشفرض: true).channels.tlon.groupChannels: nestهای کانال pin شده بهصورت دستی.channels.tlon.defaultAuthorizedShips: کشتیهای مجاز برای همه کانالها.channels.tlon.authorization.channelRules: قواعد احراز مجوز برای هر کانال.channels.tlon.showModelSignature: افزودن نام مدل به پیامها.
یادداشتها
- پاسخهای گروهی برای پاسخ دادن به یک mention (مثلا
~your-bot-ship) نیاز دارند. - پاسخهای thread: اگر پیام ورودی در یک thread باشد، OpenClaw در همان thread پاسخ میدهد.
- متن غنی: قالببندی Markdown (bold، italic، code، headers، lists) به قالب بومی Tlon تبدیل میشود.
- تصاویر: URLها در فضای ذخیرهسازی Tlon بارگذاری میشوند و بهصورت بلوکهای تصویر جاسازی میشوند.
مرتبط
- نمای کلی کانالها — همه کانالهای پشتیبانیشده
- Pairing — احراز هویت DM و جریان pairing
- گروهها — رفتار گفتوگوی گروهی و کنترل با mention
- مسیریابی کانال — مسیریابی نشست برای پیامها
- امنیت — مدل دسترسی و سختسازی