Tlon(プラグイン)
TlonはUrbit上に構築された分散型メッセンジャーです。OpenClawはあなたのUrbit shipに接続し、DMおよびグループチャットメッセージに応答できます。グループの返信はデフォルトで@メンションが必要であり、許可リストでさらに制限できます。
ステータス:プラグイン経由でサポート。DM、グループメンション、スレッド返信、リッチテキストフォーマット、画像アップロードがサポートされています。リアクションと投票はまだサポートされていません。
プラグインが必要
Tlonはプラグインとして提供され、コアインストールにはバンドルされていません。
CLI経由でインストール(npmレジストリ):
openclaw plugins install @openclaw/tlon
ローカルチェックアウト(gitリポジトリから実行する場合):
openclaw plugins install ./extensions/tlon
詳細:プラグイン
セットアップ
- Tlonプラグインをインストールします。
- shipのURLとログインコードを準備します。
channels.tlonを設定します。- ゲートウェイを再起動します。
- BotにDMを送るか、グループチャンネルでメンションします。
最小設定(シングルアカウント):
{
channels: {
tlon: {
enabled: true,
ship: "~sampel-palnet",
url: "https://your-ship-host",
code: "lidlut-tabwed-pillex-ridrup",
ownerShip: "~your-main-ship", // 推奨:あなたのship、常に許可
},
},
}
プライベート/LAN ship
デフォルトでは、OpenClawはSSRF保護のためにプライベート/内部ホスト名およびIP範囲をブロックします。shipがプライベートネットワーク(localhost、LAN IP、または内部ホスト名)で動作している場合、明示的にオプトインする必要があります:
{
channels: {
tlon: {
url: "http://localhost:8080",
allowPrivateNetwork: true,
},
},
}
これは以下のようなURLに適用されます:
http://localhost:8080http://192.168.x.x:8080http://my-ship.local:8080
警告: ローカルネットワークを信頼できる場合にのみ有効にしてください。この設定はship URLへのリクエストに対するSSRF保護を無効にします。
グループチャンネル
自動検出はデフォルトで有効です。チャンネルを手動でピン留めすることもできます:
{
channels: {
tlon: {
groupChannels: ["chat/~host-ship/general", "chat/~host-ship/support"],
},
},
}
自動検出を無効にする:
{
channels: {
tlon: {
autoDiscoverChannels: false,
},
},
}
アクセス制御
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",
},
},
},
},
},
}
オーナーと承認システム
非認証ユーザーが操作しようとした際に承認リクエストを受け取るため、オーナーshipを設定します:
{
channels: {
tlon: {
ownerShip: "~your-main-ship",
},
},
}
オーナーshipはあらゆる場所で自動的に認証されます — DM招待は自動承認され、チャンネルメッセージは常に許可されます。オーナーを dmAllowlist や defaultAuthorizedShips に追加する必要はありません。
設定すると、オーナーは以下のDM通知を受け取ります:
- 許可リストにないshipからのDMリクエスト
- 認証なしのチャンネルでのメンション
- グループ招待リクエスト
自動承認設定
DM招待の自動承認(dmAllowlistのship向け):
{
channels: {
tlon: {
autoAcceptDmInvites: true,
},
},
}
グループ招待の自動承認:
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
},
},
}
配信ターゲット(CLI/cron)
openclaw message send またはcron配信で使用します:
- DM:
~sampel-palnetまたはdm/~sampel-palnet - グループ:
chat/~host-ship/channelまたはgroup:~host-ship/channel
バンドルスキル
Tlonプラグインにはバンドルスキル(@tloncorp/tlon-skill)が含まれており、Tlon操作へのCLIアクセスを提供します:
- 連絡先:プロフィールの取得/更新、連絡先の一覧
- チャンネル:一覧、作成、メッセージ投稿、履歴の取得
- グループ:一覧、作成、メンバー管理
- DM:メッセージ送信、メッセージへのリアクション
- リアクション:投稿やDMへの絵文字リアクションの追加/削除
- 設定:スラッシュコマンドによるプラグイン権限の管理
スキルはプラグインのインストール時に自動的に利用可能になります。
機能
| 機能 | ステータス |
|---|---|
| ダイレクトメッセージ | ✅ サポート済み |
| グループ/チャンネル | ✅ サポート済み(デフォルトでメンションゲーティング) |
| スレッド | ✅ サポート済み(スレッド内に自動返信) |
| リッチテキスト | ✅ MarkdownをTlon形式に変換 |
| 画像 | ✅ Tlonストレージにアップロード |
| リアクション | ✅ バンドルスキル経由 |
| 投票 | ❌ 未サポート |
| ネイティブコマンド | ✅ サポート済み(デフォルトでオーナーのみ) |
トラブルシューティング
まず以下の手順を実行してください:
openclaw status
openclaw gateway status
openclaw logs --follow
openclaw doctor
よくある障害:
- DMが無視される:送信者が
dmAllowlistに含まれておらず、承認フローのownerShipが設定されていません。 - グループメッセージが無視される:チャンネルが検出されていないか、送信者が認証されていません。
- 接続エラー:ship URLが到達可能か確認してください。ローカルshipの場合は
allowPrivateNetworkを有効にしてください。 - 認証エラー:ログインコードが最新か確認してください(コードはローテーションされます)。
設定リファレンス
完全な設定:Configuration
プロバイダーオプション:
channels.tlon.enabled:チャンネルの起動を有効/無効にします。channels.tlon.ship:BotのUrbit ship名(例:~sampel-palnet)。channels.tlon.url:ship URL(例:https://sampel-palnet.tlon.network)。channels.tlon.code:shipのログインコード。channels.tlon.allowPrivateNetwork:localhost/LAN URLを許可(SSRFバイパス)。channels.tlon.ownerShip:承認システムのオーナーship(常に認証済み)。channels.tlon.dmAllowlist:DMを許可されたship(空 = なし)。channels.tlon.autoAcceptDmInvites:許可リストのshipからのDMを自動承認。channels.tlon.autoAcceptGroupInvites:すべてのグループ招待を自動承認。channels.tlon.autoDiscoverChannels:グループチャンネルの自動検出(デフォルト:true)。channels.tlon.groupChannels:手動でピン留めされたチャンネルネスト。channels.tlon.defaultAuthorizedShips:すべてのチャンネルで認証されたship。channels.tlon.authorization.channelRules:チャンネルごとの認証ルール。channels.tlon.showModelSignature:メッセージにモデル名を付加。
注意事項
- グループの返信はメンション(例:
~your-bot-ship)が必要です。 - スレッド返信:インバウンドメッセージがスレッド内にある場合、OpenClawはスレッド内で返信します。
- リッチテキスト:Markdownフォーマット(太字、斜体、コード、見出し、リスト)はTlonのネイティブフォーマットに変換されます。
- 画像:URLはTlonストレージにアップロードされ、画像ブロックとして埋め込まれます。