Tlon (plugin)

Tlon to zdecentralizowany komunikator zbudowany na Urbit. OpenClaw laczy sie z twoim statkiem Urbit i moze odpowiadac na DM i wiadomosci czatu grupowego. Odpowiedzi grupowe domyslnie wymagaja @-wzmianki i moga byc dodatkowo ograniczone listami dozwolonych.

Status: obslugiwany przez plugin. DM, wzmianki grupowe, odpowiedzi w watkach, formatowanie tekstu sformatowanego i przesylanie obrazow sa obslugiwane. Reakcje i ankiety nie sa jeszcze obslugiwane.

Wymagany plugin

Tlon jest dostarczany jako plugin i nie jest dolaczony do instalacji podstawowej.

Instalacja przez CLI (rejestr npm):

openclaw plugins install @openclaw/tlon

Lokalny checkout (przy uruchomieniu z repozytorium git):

openclaw plugins install ./extensions/tlon

Szczegoly: Pluginy

Konfiguracja

  1. Zainstaluj plugin Tlon.
  2. Przygotuj URL statku i kod logowania.
  3. Skonfiguruj channels.tlon.
  4. Zrestartuj gateway.
  5. Wyslij DM do bota lub wspomnij go na kanale grupowym.

Minimalna konfiguracja (jedno konto):

{
  channels: {
    tlon: {
      enabled: true,
      ship: "~sampel-palnet",
      url: "https://your-ship-host",
      code: "lidlut-tabwed-pillex-ridrup",
      ownerShip: "~your-main-ship", // zalecane: twoj statek, zawsze dozwolony
    },
  },
}

Prywatne statki / LAN

Domyslnie OpenClaw blokuje prywatne/wewnetrzne nazwy hostow i zakresy IP w ramach ochrony SSRF. Jesli twoj statek dziala w sieci prywatnej (localhost, IP LAN lub wewnetrzna nazwa hosta), musisz jawnie wyrazic zgode:

{
  channels: {
    tlon: {
      url: "http://localhost:8080",
      allowPrivateNetwork: true,
    },
  },
}

Dotyczy to URL-i takich jak:

  • http://localhost:8080
  • http://192.168.x.x:8080
  • http://my-ship.local:8080

Ostrzezenie: Wlacz to tylko jesli ufasz swojej sieci lokalnej. To ustawienie wylacza zabezpieczenia SSRF dla zadan do URL twojego statku.

Kanaly grupowe

Automatyczne odkrywanie jest domyslnie wlaczone. Mozesz tez recznie przypiac kanaly:

{
  channels: {
    tlon: {
      groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
    },
  },
}

Wylaczenie automatycznego odkrywania:

{
  channels: {
    tlon: {
      autoDiscoverChannels: false,
    },
  },
}

Kontrola dostepu

Lista dozwolonych DM (pusta = brak dozwolonych DM, uzyj ownerShip do przeplywu zatwierdzania):

{
  channels: {
    tlon: {
      dmAllowlist: ["~zod", "~nec"],
    },
  },
}

Autoryzacja grupowa (domyslnie ograniczona):

{
  channels: {
    tlon: {
      defaultAuthorizedShips: ["~zod"],
      authorization: {
        channelRules: {
          "chat/~host-ship/general": {
            mode: "restricted",
            allowedShips: ["~zod", "~nec"],
          },
          "chat/~host-ship/announcements": {
            mode: "open",
          },
        },
      },
    },
  },
}

Wlasciciel i system zatwierdzania

Ustaw statek wlasciciela, aby otrzymywac prosby o zatwierdzenie, gdy nieautoryzowani uzytkownicy probuja wchodzic w interakcje:

{
  channels: {
    tlon: {
      ownerShip: "~your-main-ship",
    },
  },
}

Statek wlasciciela jest automatycznie autoryzowany wszedzie — zaproszenia DM sa automatycznie akceptowane, a wiadomosci na kanalach sa zawsze dozwolone. Nie musisz dodawac wlasciciela do dmAllowlist ani defaultAuthorizedShips.

Gdy ustawiony, wlasciciel otrzymuje powiadomienia DM dotyczace:

  • Zadan DM od statkow spoza listy dozwolonych
  • Wzmianek na kanalach bez autoryzacji
  • Zadan zaproszenia do grup

Ustawienia automatycznego akceptowania

Automatyczne akceptowanie zaproszen DM (dla statkow z dmAllowlist):

{
  channels: {
    tlon: {
      autoAcceptDmInvites: true,
    },
  },
}

Automatyczne akceptowanie zaproszen grupowych:

{
  channels: {
    tlon: {
      autoAcceptGroupInvites: true,
    },
  },
}

Cele dostarczania (CLI/cron)

Uzyj z openclaw message send lub dostarczaniem cron:

  • DM: ~sampel-palnet lub dm/~sampel-palnet
  • Grupa: chat/~host-ship/channel lub group:~host-ship/channel

Dolaczony skill

Plugin Tlon zawiera dolaczony skill (@tloncorp/tlon-skill), ktory zapewnia dostep CLI do operacji Tlon:

  • Kontakty: pobieranie/aktualizacja profili, lista kontaktow
  • Kanaly: lista, tworzenie, publikowanie wiadomosci, pobieranie historii
  • Grupy: lista, tworzenie, zarzadzanie czlonkami
  • DM: wysylanie wiadomosci, reagowanie na wiadomosci
  • Reakcje: dodawanie/usuwanie reakcji emoji do postow i DM
  • Ustawienia: zarzadzanie uprawnieniami pluginu przez polecenia slash

Skill jest automatycznie dostepny po zainstalowaniu pluginu.

Mozliwosci

FunkcjaStatus
Wiadomosci bezposrednieObslugiwane
Grupy/kanalyObslugiwane (domyslnie bramkowane wzmiankami)
WatkiObslugiwane (automatyczne odpowiedzi w watku)
Tekst sformatowanyMarkdown konwertowany do formatu Tlon
ObrazyPrzesylane do magazynu Tlon
ReakcjePrzez dolaczony skill
AnkietyJeszcze nieobslugiwane
Natywne poleceniaObslugiwane (domyslnie tylko wlasciciel)

Rozwiazywanie problemow

Najpierw uruchom te polecenia:

openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor

Czeste bledy:

  • DM ignorowane: nadawca nie jest na dmAllowlist i brak ownerShip skonfigurowanego dla przeplywu zatwierdzania.
  • Wiadomosci grupowe ignorowane: kanal nie zostal odkryty lub nadawca nie jest autoryzowany.
  • Bledy polaczenia: sprawdz, czy URL statku jest osiagalny; wlacz allowPrivateNetwork dla lokalnych statkow.
  • Bledy autoryzacji: zweryfikuj, czy kod logowania jest aktualny (kody sa rotowane).

Referencja konfiguracji

Pelna konfiguracja: Konfiguracja

Opcje dostawcy:

  • channels.tlon.enabled: wlaczenie/wylaczenie startu kanalu.
  • channels.tlon.ship: nazwa statku Urbit bota (np. ~sampel-palnet).
  • channels.tlon.url: URL statku (np. https://sampel-palnet.tlon.network).
  • channels.tlon.code: kod logowania statku.
  • channels.tlon.allowPrivateNetwork: zezwol na URL-e localhost/LAN (obejscie SSRF).
  • channels.tlon.ownerShip: statek wlasciciela dla systemu zatwierdzania (zawsze autoryzowany).
  • channels.tlon.dmAllowlist: statki dozwolone do DM (puste = brak).
  • channels.tlon.autoAcceptDmInvites: automatyczne akceptowanie DM od statkow z listy dozwolonych.
  • channels.tlon.autoAcceptGroupInvites: automatyczne akceptowanie wszystkich zaproszen grupowych.
  • channels.tlon.autoDiscoverChannels: automatyczne odkrywanie kanalow grupowych (domyslnie: true).
  • channels.tlon.groupChannels: recznie przypiete gniazda kanalow.
  • channels.tlon.defaultAuthorizedShips: statki autoryzowane dla wszystkich kanalow.
  • channels.tlon.authorization.channelRules: reguly autoryzacji per kanal.
  • channels.tlon.showModelSignature: dolaczanie nazwy modelu do wiadomosci.

Uwagi

  • Odpowiedzi grupowe wymagaja wzmianki (np. ~your-bot-ship) aby odpowiedziec.
  • Odpowiedzi w watkach: jesli wiadomosc przychodzaca jest w watku, OpenClaw odpowiada w watku.
  • Tekst sformatowany: formatowanie Markdown (pogrubienie, kursywa, kod, naglowki, listy) jest konwertowane do natywnego formatu Tlon.
  • Obrazy: URL-e sa przesylane do magazynu Tlon i osadzane jako bloki obrazow.