adk-docs
adk-docs copied to clipboard
docs: Add OpenMemory product as ADK MemoryService option
Summary
This PR adds comprehensive documentation for OpenMemory, a self-hosted, open-source memory system for AI agents that was recently added to ADK. The PR includes:
- Complete documentation for OpenMemory in
docs/sessions/memory.md, including installation, configuration, setup instructions, and usage examples - CLI usage examples showing how to use OpenMemory with
--memory_service_uriflag - Comparison table updates adding OpenMemory as a third memory service option alongside InMemoryMemoryService and VertexAiMemoryBankService
This documentation makes OpenMemory fully accessible to users, providing clear guidance on installation, setup, configuration, and usage patterns.
Related PRs
- Implementation PR: https://github.com/google/adk-python/pull/3386
- This PR implements the OpenMemory feature documented here
- Includes core OpenMemoryService implementation, CLI URI support, and sample agent
- The CLI examples in this documentation match the implementation in that PR
Link to Issue or Description of Change
2. No existing issue - documentation for existing OpenMemory feature
Problem:
Following the OpenMemory implementation in adk-python, users needed:
- Complete documentation covering installation, setup, configuration, and usage patterns
- Comparison with other memory services to help users choose the right option
- Examples showing both CLI and programmatic usage
- Self-hosted setup instructions for Docker and Node.js deployments
Solution:
This PR provides:
- Full documentation section in
docs/sessions/memory.mdfollowing the same pattern as Vertex AI Memory Bank - Updated comparison table with OpenMemory as a third option
- CLI usage examples matching the implementation in
adk-python - Self-hosted setup instructions for Docker and Node.js deployments
- Advanced usage patterns and configuration options
Changes
Documentation Updates (docs/sessions/memory.md)
-
Updated comparison table: Added
OpenMemoryServiceas a third column with feature comparisons- Updated intro text from "two distinct" to "three distinct" implementations
- Added rows for: Persistence, Primary Use Case, Memory Extraction, Search Capability, Setup Complexity, Dependencies, When to use it
-
New OpenMemory section (after Vertex AI Memory Bank):
- Overview: Description of OpenMemory as self-hosted, open-source memory system
- How It Works: Explanation of two key operations (storing and retrieving memories)
- Key Features: Multi-sector embeddings, graceful decay, server-side filtering, self-hosted, cost-effective
- Installation:
pip install google-adk[openmemory] - Prerequisites: Self-hosted backend setup and environment variables
- Configuration: Two options:
- Option 1: CLI Usage - Examples for
adk webandadk api_serverwith URI formats - Option 2: Python Code - Manual instantiation examples
- Option 1: CLI Usage - Examples for
- Advanced Configuration:
OpenMemoryServiceConfigparameters documentation - Self-Hosted Setup: Docker and Node.js setup instructions with step-by-step guides
- Advanced Usage: Multi-user isolation, app-level filtering, enriched content format
- Sample Agent: Reference to sample agent in adk-python repository
-
Updated multi-memory service section: Added OpenMemoryService to examples and updated code samples
Technical Decisions
Documentation Structure
The documentation follows the exact same structure as Vertex AI Memory Bank, ensuring consistency and making it easy for users to compare options. The side-by-side comparison table helps users quickly identify which memory service fits their needs.
CLI Examples Alignment
All CLI examples in the documentation match the URI format implementation in adk-python:
openmemory://localhost:3000format- Query parameter support for API keys
- Full URL support
The examples are tested against the actual CLI implementation to ensure accuracy.
Testing Plan
Documentation Validation
- [x] All code examples are syntactically correct
- [x] All links are valid (OpenMemory docs, sample agent)
- [x] URI formats match CLI implementation in
adk-python - [x] Comparison table accurately reflects OpenMemory capabilities
- [x] Markdown formatting consistent with existing documentation
- [x] Installation steps verified against actual package structure
Manual Review
- [x] Documentation follows existing patterns (matches Vertex AI Memory Bank structure)
- [x] All installation steps are accurate
- [x] Setup instructions are clear and complete
- [x] Code examples are copy-paste ready
- [x] CLI examples match the implementation
- [x] All referenced features exist in the implementation
Checklist
- [x] I have read the CONTRIBUTING.md document.
- [x] I have performed a self-review of my own documentation.
- [x] Documentation follows existing patterns and style guides.
- [x] Code examples in documentation are tested and correct.
- [x] All links are valid and working.
- [x] Any dependent changes have been merged and published in downstream modules.
Additional Context
Documentation Structure
The documentation is organized to match Vertex AI Memory Bank:
- Comparison table for quick decision-making
- Configuration section with CLI and Python options
- Setup instructions for self-hosted deployment
- Advanced usage for power users
- Sample agent reference for complete examples
Markdown Quality
- ✅ Consistent formatting with existing documentation
- ✅ Proper code block syntax highlighting
- ✅ Valid markdown links and references
- ✅ Consistent with Material for MkDocs theme
Related Implementation
This documentation covers the OpenMemory feature implemented in adk-python (https://github.com/google/adk-python/pull/3386), including:
- Core OpenMemoryService implementation
- CLI URI support via
openmemory://scheme - Sample agent demonstrating usage
- Configuration options and advanced features
Thanks for your contribution! Marking this as blocked for the review and discussion in the feature PR: https://github.com/google/adk-python/pull/3387.