Skip to content

Conversation

@forrestbao
Copy link
Collaborator

@forrestbao forrestbao commented Jan 22, 2026

PLEASE DO NOT MERGE THIS PR. This PR is for GoodMem team to clearly see what files are changed/added. Later, we will create a formal PR and submitted to google's adk-python-community repo.

GOODMEM TEAM: Please make changes in the plugin branch.

Add GoodmemChatPlugin for persistent conversation memory using Goodmem.ai
service. The plugin automatically logs user messages and LLM responses,
retrieves relevant historical context, and augments prompts with memory.

Features:

  • Auto-logging of text messages and file attachments to Goodmem spaces
  • Context retrieval using semantic search with configurable top-k
  • Per-user memory isolation with automatic space management
  • Comprehensive error handling and debug mode
  • Support for binary attachments (PDFs, images, etc.)

File structure:

.
├── src/google/adk_community/
│   ├── __init__.py                      (modified: added plugins import)
│   └── plugins/
│       ├── __init__.py                  (new: module exports)
│       └── goodmem.py                   (new: 736 lines, plugin implementation)
│
├── tests/unittests/
│   └── plugins/
│       ├── __init__.py                  (new: test module)
│       └── test_goodmem.py              (new: 31 unit tests, 725 lines)
│
├── contributing/samples/goodmem/
│   ├── README.md                        (new: overview and setup guide)
│   ├── PLUGIN.md                        (new: detailed plugin documentation)
│   └── agent.py                         (new: sample agent with plugin)
│
└── pyproject.toml                       (modified: added requests dependency)

Test coverage: 31/31 tests passing (100%)

  • 8 tests for GoodmemClient (API operations)
  • 23 tests for GoodmemChatPlugin (lifecycle, callbacks, error handling)

Related: Follows patterns from OpenMemory (PR google#36) and Redis Sessions (PR google#32)

forrestbao and others added 4 commits January 21, 2026 15:53
Add GoodmemChatPlugin for persistent conversation memory using Goodmem.ai
service. The plugin automatically logs user messages and LLM responses,
retrieves relevant historical context, and augments prompts with memory.

Features:
- Auto-logging of text messages and file attachments to Goodmem spaces
- Context retrieval using semantic search with configurable top-k
- Per-user memory isolation with automatic space management
- Comprehensive error handling and debug mode
- Support for binary attachments (PDFs, images, etc.)

File structure:
.
├── src/google/adk_community/
│   ├── __init__.py                      (modified: added plugins import)
│   └── plugins/
│       ├── __init__.py                  (new: module exports)
│       └── goodmem.py                   (new: 736 lines, plugin implementation)
│
├── tests/unittests/
│   └── plugins/
│       ├── __init__.py                  (new: test module)
│       └── test_goodmem.py              (new: 31 unit tests, 725 lines)
│
├── contributing/samples/goodmem/
│   ├── README.md                        (new: overview and setup guide)
│   ├── PLUGIN.md                        (new: detailed plugin documentation)
│   └── agent.py                         (new: sample agent with plugin)
│
└── pyproject.toml                       (modified: added requests dependency)

Test coverage: 31/31 tests passing (100%)
- 8 tests for GoodmemClient (API operations)
- 23 tests for GoodmemChatPlugin (lifecycle, callbacks, error handling)

Related: Follows patterns from OpenMemory (PR google#36) and Redis Sessions (PR google#32)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants