Skip to content

Conversation

Ryado
Copy link
Contributor

@Ryado Ryado commented Sep 8, 2025

⚠️ This is an experiment and not ready to be merged.

This PR introduces experimental memory management tools that allow storing and retrieving key-value data using ClickHouse as the backend storage.

New Tools Added

  • save_memory: Store user-provided information as key-value pairs
  • get_memories_titles: Retrieve all memory keys/titles with timestamps
  • get_memory: Retrieve all memory entries matching a specific key
  • get_all_memories: Retrieve all saved memories (use with caution for large datasets)
  • delete_memory: Delete all memory entries matching a specific key

Implementation Details

  • Memory data is stored in a user_memory table with automatic timestamps
  • Tools are conditionally registered based on CLICKHOUSE_MEMORY environment variable
  • Uses existing ClickHouse write query functionality for persistence
  • Includes comprehensive test coverage for all memory operations
  • Follows existing error handling patterns with structured responses
screen_record.mp4

@Ryado Ryado added the enhancement New feature or request label Sep 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant