praxis-persist
MongoDB persistence layer for AI agent conversations with intelligent context management.
Overview
This crate provides a complete persistence solution for AI agent conversations:
- Thread Management: Create, list, and delete conversation threads
- Message Storage: Store user and assistant messages
- Context Management: Token-aware context window management
- Auto-Summarization: Automatic summarization when context exceeds limits
Features
- Full async MongoDB integration
- Token-aware context management
- Automatic context summarization
- Thread-based conversation organization
- Built-in error handling
Installation
[]
= "0.1"
Usage
Basic Setup
use PersistClient;
// Connect to MongoDB
let client = connect
.await?;
Thread Management
// Create new thread
let thread = client.create_thread.await?;
println!;
// List user's threads
let threads = client.list_threads.await?;
// Delete thread
client.delete_thread.await?;
Message Storage
use Message;
// Store user message
let message = client.store_message.await?;
// Store assistant message
let response = client.store_message.await?;
// List thread messages
let messages = client.list_messages.await?;
for msg in messages
Context Management
use ContextManager;
// Get context-aware message history
let context = client.get_context.await?;
// Returns messages that fit within token limit
// Automatically summarizes old messages if needed
Message Accumulator
Convert streaming events into persisted messages:
use MessageAccumulator;
use StreamEvent;
let mut accumulator = new;
// Process streaming events
while let Some = stream.next.await
Context Management Strategy
The context manager uses a token-aware approach:
- Calculate total tokens in conversation history
- If under limit: Return all messages
- If over limit:
- Summarize old messages
- Keep recent messages intact
- Inject summary as system message
This ensures:
- No context window overflow
- Important recent context preserved
- Cost-effective token usage
Part of Praxis Framework
This crate is part of the Praxis AI Agent Framework:
- praxis-graph - React agent orchestrator
- praxis-llm - LLM client (OpenAI, Azure)
- praxis-types - Core types and event model
- praxis-mcp - MCP client
License
MIT