Skip to main content
The ADK plugin selects an artifact storage backend at initialization time based on whether a database connection is available.

In-Memory Backend

  • Default when no database connection is configured.
  • Best for local development and stateless testing.
  • Artifact data is lost on process restart.

Database Backend

  • Used when a database connection is available.
  • Best for production deployments where artifacts must survive restarts or be shared across instances.
  • Requires POSTGRES_URL to be configured.

Artifact Namespaces

Artifact scope is controlled by the filename prefix used when saving via ctx.artifact_service:
PrefixScope
user:...User-scoped — shared across all sessions for this user
(none)Session-scoped — private to the current context
For how to save and declare artifacts during agent execution, see Streaming API.