Sessions and memory

チャネルのドッキング

チャネルドッキングは、1 つの OpenClaw セッションに対する着信転送です。同じ会話コンテキストを維持したまま、そのセッションの今後の返信の配信先を変更します。ドッキングはダイレクトチャットからのみ機能し、グループチャットからは実行できません。

Alice は Telegram と Discord で OpenClaw にメッセージを送信できます。

json5
{  session: {    identityLinks: {      alice: ["telegram:123", "discord:456"],    },  },}

Alice が Telegram のダイレクトチャットから次のコマンドを送信した場合:

text
/dock_discord

OpenClaw は現在のセッションコンテキストを維持し、返信経路を変更します。

ドッキング前 /dock_discord の実行後
返信は Telegram 123 に送られる 返信は Discord 456 に送られる

セッションは再作成されません。トランスクリプト履歴は同じセッションに関連付けられたままです。

使用する理由

あるチャットアプリでタスクを開始し、その後の返信を別の場所で受け取りたい場合にドッキングを使用します。

一般的な流れ:

  1. Telegram からエージェントタスクを開始します。
  2. 作業を調整している Discord に移動します。
  3. Telegram のダイレクトチャットから /dock_discord を送信します。
  4. 同じ OpenClaw セッションを維持したまま、今後の返信を Discord で受信します。

必須設定

ドッキングには session.identityLinks が必要です。送信元の送信者と対象ピアは、同じアイデンティティグループに属している必要があります。

json5
{  session: {    identityLinks: {      alice: ["telegram:123", "discord:456", "slack:U123"],    },  },}

値はチャネル接頭辞付きのピア ID です。

意味
telegram:123 Telegram の送信者 ID 123
discord:456 Discord のダイレクトピア ID 456
slack:U123 Slack のユーザー ID U123

正規キー(上記の alice)は、共有アイデンティティグループの名前にすぎません。ドックコマンドは、チャネル接頭辞付きの値を使用して、送信元の送信者と対象ピアが同一人物であることを証明します。

コマンド

OpenClaw は、ネイティブコマンドをサポートする読み込み済みのチャネル Plugin ごとに /dock-<channel> コマンドを 1 つ生成するため、Plugin が追加されるにつれて一覧も増えます。現在これをサポートする同梱 Plugin は次のとおりです。

対象チャネル コマンド エイリアス
Discord /dock-discord /dock_discord
Mattermost /dock-mattermost /dock_mattermost
Slack /dock-slack /dock_slack
Telegram /dock-telegram /dock_telegram

アンダースコア形式は、スラッシュコマンドを直接公開する Telegram などのインターフェースで使用されるネイティブコマンド名でもあります。

変更されるもの

ドッキングは、アクティブセッションの配信フィールドを更新します。

セッションフィールド /dock_discord 実行後の例
lastChannel discord
lastTo 456
lastAccountId 対象チャネルのアカウント、または default

これらのフィールドはセッションストアに永続化され、そのセッションの以後の返信配信に使用されます。

変更されないもの

ドッキングでは、次のことは行われません。

  • チャネルアカウントの作成
  • 新しい Discord、Telegram、Slack、Mattermost ボットへの接続
  • ユーザーへのアクセス権の付与
  • チャネルの許可リストや DM ポリシーの回避
  • トランスクリプト履歴の別セッションへの移動
  • 無関係なユーザー間でのセッション共有

変更されるのは、現在のセッションの配信経路だけです。

トラブルシューティング

コマンドで送信者がリンクされていないと表示される。

現在の送信者と対象ピアの両方を、同じ session.identityLinks グループに追加してください。たとえば、Telegram の送信者 123 を Discord のピア 456 にドッキングする場合は、telegram:123discord:456 の両方を含めます。

コマンドでドッキングはダイレクトチャットからのみ利用可能と表示される。

グループチャットではなく、OpenClaw とのダイレクトチャットからドックコマンドを送信してください。

コマンドでアクティブなセッションが存在しないと表示される。

既存のダイレクトチャットセッションからドッキングしてください。新しい経路を永続化するには、アクティブなセッションエントリが必要です。

返信が引き続き以前のチャネルに送られる。

コマンドへの返信が成功メッセージであることを確認し、対象ピア ID がそのチャネルで使用されている ID と一致していることを確認してください。ドッキングで変更されるのはアクティブセッションの経路だけです。別のセッションは引き続き別の場所に転送される可能性があります。

元に戻す必要がある。

リンク済みの送信者から、元のチャネルに対応する /dock_telegram/dock-telegram などのコマンドを送信してください。

Was this useful?
On this page

On this page