Sessions and memory
チャネルのドッキング
チャネルドッキングは、1 つの OpenClaw セッションに対する着信転送です。同じ 会話コンテキストを維持しながら、そのセッションの今後の応答の 配信先を変更します。ドッキングはダイレクトチャットからのみ機能し、グループ チャットからは実行できません。
例
Alice は Telegram と Discord で OpenClaw にメッセージを送信できます。
{ session: { identityLinks: { alice: ["telegram:123", "discord:456"], }, },}Alice が Telegram のダイレクトチャットから次を送信すると、
/dock_discordOpenClaw は現在のセッションコンテキストを維持し、応答経路を変更します。
| ドッキング前 | /dock_discord 後 |
|---|---|
応答は Telegram 123 に送信される |
応答は Discord 456 に送信される |
セッションは再作成されません。トランスクリプト履歴は 同じセッションに関連付けられたままです。
使用する理由
あるチャットアプリでタスクを開始し、その後の応答を 別の場所で受け取りたい場合にドッキングを使用します。
一般的な流れ:
- Telegram からエージェントタスクを開始します。
- 作業を調整している Discord に移動します。
- Telegram のダイレクトチャットから
/dock_discordを送信します。 - 同じ OpenClaw セッションを維持しながら、今後の応答を Discord で受信します。
必須設定
ドッキングには session.identityLinks が必要です。送信元の送信者と対象ピアは、
同じ ID グループに属している必要があります。
{ 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)は、共有 ID グループ名にすぎません。ドック
コマンドはチャネルプレフィックス付きの値を使用し、送信元の送信者と
対象ピアが同一人物であることを確認します。
コマンド
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:123 と discord:456 の両方を含めます。
コマンドに、ドッキングはダイレクトチャットからのみ利用可能と表示されます。
ドックコマンドは、グループチャットではなく OpenClaw とのダイレクトチャットから送信します。
コマンドに、アクティブなセッションが存在しないと表示されます。
既存のダイレクトチャットセッションからドッキングします。新しい経路を永続化するには、 アクティブなセッションエントリが必要です。
応答が引き続き以前のチャネルに送信されます。
コマンドから成功メッセージが返されたことを確認し、対象の ピア ID がそのチャネルで使用されている ID と一致することを確認します。ドッキングで変更されるのはアクティブな セッション経路だけであり、別のセッションは引き続き別の場所にルーティングされる場合があります。
元に戻す必要があります。
リンク済みの送信者から、/dock_telegram や
/dock-telegram など、元のチャネルに対応するコマンドを送信します。