すべてのプロダクト
Search
ドキュメントセンター

Tablestore:エージェントエコシステム連携

最終更新日:May 22, 2026

OpenClaw および Hermes 向けの公式プラグインを使用して、メモリサービスと連携します。これらのプラグインは、会話の前に関連する長期記憶を自動的に取得してコンテキストに挿入し、会話の終了後に書き戻します。

OpenClaw プラグイン

openclaw-tablestore-memory は OpenClaw 用のメモリプラグインです。Tablestore Node.js SDK を使用してメモリサービスを呼び出します。

インストール

openclaw plugins install @tablestore/openclaw-tablestore-memory

設定

最小構成は次のとおりです:

{
  "plugins": {
    "slots": {
      "memory": "tablestore-mem"
    },
    "entries": {
      "tablestore-mem": {
        "enabled": true,
        "config": {
          "endpoint": "https://<instance>.cn-beijing.ots.aliyuncs.com",
          "otsInstanceName": "<instance-name>",
          "accessKeyId": "<AccessKey ID>",
          "accessKeySecret": "<AccessKey Secret>"
        }
      }
    }
  }
}

オプション設定

パラメーター

デフォルト

説明

appId

openclaw

アプリケーション識別子。

tenantId

セッションのユーザー情報から導出

テナントまたはユーザーの識別子。

memoryStoreName

openclaw_mem

メモリストア名。

autoCreateMemoryStore

true

メモリストアが存在しない場合、自動的に作成します。

writebackEnabled

true

会話終了後にメモリを書き戻す機能を有効化または無効化します。

searchTopK

5

返却する検索結果の件数。

enableRerank

true

リランクを有効化または無効化します。

スコープマッピング

OpenClaw プラグインは、書き込み操作に現在のランタイムのアイデンティティを使用します:

{
  "appId": "openclaw",
  "tenantId": "<current-user>",
  "agentId": "<runtime-agent>",
  "runId": "<runtime-session>"
}

検索操作では、テナント内のエージェントおよびセッションにまたがるスコープを使用します。agentIdrunId パラメータは、ワイルドカード文字 * に設定されます:

{
  "appId": "openclaw",
  "tenantId": "<current-user>",
  "agentId": "*",
  "runId": "*"
}

ランタイムの動作

  • before_prompt_build フェーズで関連する長期記憶を取得します。

  • 取得したメモリは、可視のセッション履歴に直接書き込むのではなく、非表示のコンテキストに挿入します。

  • agent_end フェーズで、現在のターンのユーザーメッセージとアシスタントメッセージを収集します。

  • デフォルトでは、メモリストアに書き戻すために AddMemories を非同期に呼び出します。

CLI およびスラッシュコマンド

OpenClaw プラグインは、次のデバッグコマンドを提供します:

openclaw tablestore-mem add "Alice likes jasmine tea" --uid alice
openclaw tablestore-mem search "what does Alice like" --uid alice

OpenClaw のセッション内では、次のコマンドを使用できます:

/tablestore-mem-add Alice likes jasmine tea
/tablestore-mem-search jasmine tea

Hermes プラグイン

hermes-tablestore-memory は Hermes エージェント向けの外部メモリプロバイダーです。Tablestore Python SDK を使用してメモリサービスを呼び出します。

インストール

hermes plugins install https://github.com/aliyun/hermes-tablestore-memory
hermes memory setup

hermes memory setup の実行時に、tablestore-mem を選択します。

このプラグインには tablestore>=6.4.5 が必要です。Hermes で使用する Python 環境にこの依存関係がインストールされていない場合は、その環境に SDK をインストールする必要があります。

シークレットキーの設定

シークレットキーは ~/.hermes/.env に書き込むことを推奨します:

TABLESTORE_MEMORY_AK=<AccessKey ID>
TABLESTORE_MEMORY_SK=<AccessKey Secret>

メモリサービスの設定

機密性のない設定は $HERMES_HOME/tablestore_memory.json に記述します:

{
  "endpoint": "https://<instance>.cn-beijing.ots.aliyuncs.com",
  "instance_name": "<instance-name>",
  "memory_store_name": "hermes_mem",
  "description": "",
  "app_id": "hermes",
  "tenant_id": "",
  "enable_rerank": true,
  "auto_create_store": true,
  "timeout": 30
}

デフォルト値

パラメーター

デフォルト

説明

memory_store_name

hermes_mem

メモリストア名。

app_id

hermes

アプリケーション識別子。

tenant_id

空の文字列

空の場合、セッションコンテキストから推論されるか、デフォルトで __default__ が使用されます。

enable_rerank

true

リランクを有効化または無効化します。

auto_create_store

true

メモリストアが存在しない場合に、自動的に作成します。

timeout

30

リクエストのタイムアウト (秒)。

スコープマッピング

Hermes プラグインは、次のルールに従って 4 パートのスコープを設定します:

フィールド

ソース

appId

tablestore_memory.jsonapp_id。デフォルトは hermes です。

tenantId

Hermes セッションの user_id を使用します。利用できない場合は設定の tenant_id を使用し、それも利用できない場合は __default__ を使用します。

agentId

Hermes セッションのアイデンティティ。デフォルトは hermes です。

runId

優先度の高い順に gateway_session_keysession_titlesession_id を使用し、いずれも利用できない場合は __default__ を使用します。

書き込み操作では、現在のセッションの厳密なスコープを使用します。検索操作では、エージェントおよびセッションにまたがるテナントレベルのスコープを使用し、agentIdrunId"" に設定します。

ツール

ツール

説明

tablestore_profile

現在のスコープ内のメモリを表示します。

tablestore_search

長期記憶を検索します。

tablestore_remember

長期記憶に新しいエントリを追加します。

tablestore_forget

長期記憶からエントリを削除します。

また、このプラグインは、各会話ターンの後にユーザーとアシスタントのメッセージを自動的に同期し、次のターンが始まる前に関連するメモリをプリフェッチします。

Hermes CLI コマンド

memory.providertablestore-mem に設定した後、次のコマンドを使用できます:

hermes tablestore-mem add "User prefers concise answers"
hermes tablestore-mem add "User likes Rust" --metadata source=manual --metadata topic=preferences
hermes tablestore-mem add "Write this memory synchronously" --sync
hermes tablestore-mem search "concise answers"
hermes tablestore-mem search "Rust" --top-k 10

連携の推奨事項

  • アプリケーションですでに OpenClaw または Hermes を使用している場合は、対応する公式プラグインの使用を推奨します。

  • メモリの書き込み戦略、検索戦略、またはコンテキストの組み立て方法をカスタマイズする必要がある場合は、SDK を直接使用してください。詳細については、Python SDK 使用ガイドまたは Node.js SDK 使用ガイドをご参照ください。

  • デフォルトでは、プラグインは同一テナント内のすべてのエージェントおよびセッションにまたがって長期記憶を検索します。これは、ほとんどの個人向けおよびビジネス向けアシスタントのシナリオに適しています。

  • ビジネス要件として検索をセッション単位で厳密に分離する必要がある場合は、SDK を使用して完全なスコープを指定してください。フィールドのセマンティクスについては、API リファレンスをご参照ください。

  • 2 つのエージェントがメモリを共有する場合、同じ Tablestore インスタンスを使用します。両方のエージェントで appIdtenantIdmemoryStoreName が同一である必要があります。agentId は各エージェントのランタイムによって決まり、取得時にはワイルドカードの * が使用されます。