All Products
Search
Document Center

Tablestore:Limitations and notes

Last Updated:May 22, 2026

This topic summarizes the quotas and limitations for MemoryStore, including regions, memory stores, write and retrieval operations, Scope, SDK versions, and agent plugins.

Region

The service is currently available only in the China (Beijing) region.

Memory store limitations

Item

Limit

Memory store name characters

Can only contain letters, digits, and underscores (_).

Memory store name length

Up to 32 characters

Memory store description length

Up to 1,024 characters

After you create a memory store, the index takes about one minute to initialize. Perform write and retrieval operations only after the index is initialized.

AddMemories limitations

Item

Limit

Number of messages

Up to 20

Total content length of messages

Up to 32,000 characters

Length of text

Up to 32,000 characters

Length of messageId

Up to 256 characters

Number of keys in metadata

Up to 16

Length of a key in metadata

Up to 64 characters

Length of a value in metadata

Up to 1,024 characters

You must provide at least one of messages or text. When writing to memory, Scope does not allow the wildcard character *.

SearchMemories default values

Parameter

Default

Description

topK

10

The number of results to return. The valid range is 0-50.

enableRerank

true

Specifies whether to enable Rerank.

To retrieve long-term memory, appId and tenantId are required. You can use the wildcard * for agentId and runId.

Scope rules

Actions

Scope requirement

Wildcard (*) allowed

Write memory

appId is required. If other levels are empty, they are automatically set to __default__.

No

Retrieve long-term memory

appId and tenantId are required.

Yes, for agentId and runId

Query short-term memory

All four Scope levels are required.

No

Get a single long-term memory

All four Scope levels are required.

No

Update a single long-term memory

All four Scope levels are required.

No

Delete a single long-term memory

All four Scope levels are required.

No

List long-term memories

You can specify Scope by level.

Yes

Query request audits

You can specify Scope by level.

Yes

Wildcards must be used hierarchically. If you use the wildcard * at a certain level, all subsequent levels must also use * or be left empty. For example, app-001/user-001/*/* is a valid Scope, but app-001/*/agent-001/* is not.

Asynchronous write visibility

The default value of AddMemories.sync is false, which indicates an asynchronous write. The visibility of asynchronous writes is as follows:

  • The raw message is written first and is immediately available for short-term memory queries.

  • Long-term memory extraction runs in the background.

  • After a write operation is complete, long-term memory can be recalled by SearchMemories within approximately 15 seconds.

When you need to view the extraction results immediately after writing in a test scenario, set sync to true. After a synchronous write is complete, long-term memory retrieval is still subject to a brief index refresh delay.

Short-term memory query

The ListMemoryStoreMessages operation queries original session messages. You must specify all four levels of the Scope: appId, tenantId, agentId, and runId. Wildcards are not supported.

Use cases:

  • View raw session messages.

  • Replay a specific session.

  • Troubleshoot long-term memory extraction issues.

CLI pagination behavior

The CLI's list commands return only a single page of results and do not automatically paginate. To retrieve the next page, use the nextToken from the response.

Example:

tablestore-agent-cli memory list-units \
  --store agent_memory \
  --app-id app-001 \
  --next-token <token>

CLI automatic instance creation

If ots_endpoint and ots_instance_name are not configured, the CLI automatically creates and reuses a managed Tablestore instance in the China North 2 (Beijing) region when you run the doctor command or perform other operations. The automatic creation takes some time, and the result is written to the local configuration file.

If you later manually configure the instance endpoint and name, the CLI will use that instance.

SDK versions

SDK

Version requirement

Python SDK

tablestore >= 6.4.5

Node.js SDK

tablestore >= 5.6.5

CLI

tablestore-agent-cli >= 0.1.8

Agent plugin

By default, the Hermes and OpenClaw plugins use a cross-agent and cross-session scope for retrieval within the current tenant, that is, agentId=* and runId=*. If your application does not allow cross-agent or cross-session memory sharing, you can control the retrieval Scope by using the SDK or adjust the plugin configuration.