Long-term memory for Strands Agents, stored in Couchbase and recalled with vector search. This repository contains a Python and a TypeScript package. Each implements the Strands MemoryStore interface on top of Couchbase Hyperscale Vector Search.
The TypeScript package is published to npm as @couchbase-ecosystem/strands-couchbase, and the Python package to PyPI as strands-couchbase.
- Give a Strands agent memory that survives restarts and new sessions, backed by Couchbase Capella or Couchbase Server.
- Store short facts that the agent's model extracts from the conversation (not raw conversation turns), and have Strands
MemoryManageradd the relevant ones to the prompt automatically. - Share one Couchbase bucket across users, tenants or agents, each isolated in its own namespace.
The packages don't create embeddings. You pass an embedding function, so you can use OpenAI, Amazon Bedrock, a local model or anything else.
| Language | Package | Start here |
|---|---|---|
| TypeScript | @couchbase-ecosystem/strands-couchbase |
typescript/README.md: install, a 10-minute quickstart, configuration and troubleshooting |
| Python | strands-couchbase |
python/README.md: install, a 10-minute quickstart, configuration and troubleshooting |
Both need Couchbase Server 8.0 or later (or Capella) with the Data, Query and Index services. Both packages implement the store's initialize(), which Strands MemoryManager awaits when an agent starts, so a missing or mismatched vector index or bad credentials fail there with a clear error instead of leaving the agent without memory.
docs/couchbase-setup.md: Couchbase with Docker or the Capella free tier, and creating the vector index.docs/tutorial.md: a walkthrough of both packages against the same collection.docs/memorymanager-usage.md: how StrandsMemoryManageruses the store for recall, injection and extraction.docs/vector-backends.md: Hyperscale, Composite and Search-service vector indexes, andAPPROX_VECTOR_DISTANCEtuning.docs/security-and-multitenancy.md: tenant namespaces, credentials and prompt injection.docs/research-and-feasibility.md: the Strands contract, reference integrations and design decisions.
Each package README lists its checks. Repository-wide:
./scripts/secret-scan.shReleases are described in RELEASING.md. Contributor and agent conventions, including PR labels for release notes, are in AGENTS.md.
Apache-2.0.