memory-service

command module
v0.0.0-...-5bc5eca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 7, 2026 License: Apache-2.0 Imports: 7 Imported by: 0

README

Memory Service

Build

A persistent memory service for AI agents that stores and manages conversation history, enabling agents to maintain context across sessions, replay conversations, fork conversations at any point, and perform semantic search across all conversations.

Features

  • Persistent conversation storage - All messages are stored with full context and metadata
  • Resumable response streams - Long lived response streams can survive client reconnects or user device swtiching
  • Conversation replay/audit - Reconstruct converstation history and agent memory state as it was at any point in time
  • Conversation forking - Fork a conversation at any message to explore alternative paths
  • Access control - User-based ownership and sharing with fine-grained permissions
  • Multi-database support - Works with PostgreSQL and MongoDB; local, Redis, and Infinispan caching; PGVector, Qdrant, and Infinispan for vector search
  • Semantic & Fulltext Search - Search across all conversations using vector and/or Fulltext
  • File Attachments - Durably store files attached to messages sent to your agent, or generated by you agent.
  • Encrypted - All database/file stortage data is encrypted while at rest

Project Status

This is a proof of concept (POC) currently under development.

Architecture

Diagram

MCP Server

The Memory Service includes an MCP server that lets AI coding assistants (Claude Code, Cursor, etc.) persist and search session notes across conversations.

Install:

go install github.com/chirino/memory-service/memory-service-mcp@latest

Or use the mcp subcommand of the main binary:

go install github.com/chirino/memory-service@latest
memory-service mcp

See memory-service-mcp/README.md for full configuration and usage details.

Documentation

Visit the Memory Service Documentation for complete guides:

License

Apache 2.0

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
bdd
cmd/generate command
Package main orchestrates all code generation for the memory service.
Package main orchestrates all code generation for the memory service.
dataencryption
Package dataencryption provides the MSEH envelope format and DataEncryptionService.
Package dataencryption provides the MSEH envelope format and DataEncryptionService.
episodic
Package episodic provides namespace encoding/decoding helpers and OPA policy integration for the namespaced episodic memory system.
Package episodic provides namespace encoding/decoding helpers and OPA policy integration for the namespaced episodic memory system.
generated/admin
Package admin provides primitives to interact with the openapi HTTP API.
Package admin provides primitives to interact with the openapi HTTP API.
generated/api
Package api provides primitives to interact with the openapi HTTP API.
Package api provides primitives to interact with the openapi HTTP API.
generated/apiclient
Package apiclient provides primitives to interact with the openapi HTTP API.
Package apiclient provides primitives to interact with the openapi HTTP API.
plugin/cache/infinispan
Package infinispan provides a cache plugin that connects to Infinispan via its RESP (Redis protocol) endpoint, reusing the Redis cache implementation.
Package infinispan provides a cache plugin that connects to Infinispan via its RESP (Redis protocol) endpoint, reusing the Redis cache implementation.
plugin/encrypt/awskms
Package awskms registers the "kms" encryption provider backed by AWS KMS.
Package awskms registers the "kms" encryption provider backed by AWS KMS.
plugin/encrypt/dek
Package dek registers the "dek" encryption provider.
Package dek registers the "dek" encryption provider.
plugin/encrypt/dekstore
Package dekstore provides a thin database layer for vault and kms encryption providers to manage their wrapped DEK record in the application database.
Package dekstore provides a thin database layer for vault and kms encryption providers to manage their wrapped DEK record in the application database.
plugin/encrypt/plain
Package plain registers the "plain" no-op encryption provider.
Package plain registers the "plain" no-op encryption provider.
plugin/encrypt/vault
Package vault registers the "vault" encryption provider backed by HashiCorp Vault Transit.
Package vault registers the "vault" encryption provider backed by HashiCorp Vault Transit.
plugin/eventbus/local
Package local implements an in-process event bus using bounded channels.
Package local implements an in-process event bus using bounded channels.
plugin/eventbus/postgres
Package postgres implements a cross-node event bus using PostgreSQL LISTEN/NOTIFY.
Package postgres implements a cross-node event bus using PostgreSQL LISTEN/NOTIFY.
plugin/eventbus/redis
Package redis implements a cross-node event bus backed by Redis Pub/Sub.
Package redis implements a cross-node event bus backed by Redis Pub/Sub.
plugin/vector/infinispan
Package infinispan provides a vector store implementation using Infinispan REST API v3.
Package infinispan provides a vector store implementation using Infinispan REST API v3.
registry/episodic
Package episodic defines the EpisodicStore interface and its registry.
Package episodic defines the EpisodicStore interface and its registry.
registry/eventbus
Package eventbus defines the EventBus plugin interface for real-time event fan-out.
Package eventbus defines the EventBus plugin interface for real-time event fan-out.
testutil/cucumber
Package cucumber provides a godog-based BDD test framework with HTTP API testing support.
Package cucumber provides a godog-based BDD test framework with HTTP API testing support.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL