Integration
Long-term memory for PraisonAI
PraisonAI runs production multi-agent crews, meaning long-lived, cost-aware, and observable. Built-in memory is per-process. `engram_tools(bucket='my-team')` returns two plain Python functions, and PraisonAI inspects their signatures and docstrings to build the agent-facing schema. The team gets shared durable memory with no schema dance.
Install
Three steps: sign up for an Engram API key, paste a BYOK LLM-provider key on /models, then drop the snippet below into PraisonAI.
Three steps to memory in your agent
- Sign up. Free, no card. You'll land on a Getting Started page that walks the next two steps.
- Add your LLM key. Engram is BYOK. Paste an OpenAI / Anthropic / Groq / Together / Fireworks key and we'll route every extraction and query call through your provider. You pay your provider directly. We never see your inference.
- Paste the snippet below into your agent and restart it. Use
Authorization: Bearer <api-key>with the API key from your portal.
engram-praisonai: durable shared memory for production multi-agent crews
Two plain Python functions (PraisonAI inspects signature + docstring to build the agent-facing schema). Pass the same bucket= across agents for a team-wide memory layer. Source: github.com/lumetra-io/engram-praisonai.
- Install:
- Vendor
engram_praisonai.py(~40 LOC) and export your API key: - Bind the tools to every agent on the team:
pip install lumetra-engram praisonaiagentscurl -fsSL https://raw.githubusercontent.com/lumetra-io/engram-praisonai/main/engram_praisonai.py -o engram_praisonai.py
export ENGRAM_API_KEY="<api-key>"from praisonaiagents import Agent
from engram_praisonai import engram_tools
researcher = Agent(
instructions="Research and remember findings. Use engram_query_memory before answering.",
tools=engram_tools(bucket="my-team"),
)
writer = Agent(
instructions="Synthesize findings. Consult Engram via engram_query_memory.",
tools=engram_tools(bucket="my-team"), # same bucket → shared team memory
)What you can do once memory's wired in
- Run a research-and-writer crew where findings persist across `Agent` lifetimes
- Per-crew buckets via `engram_tools(bucket=f'crew-{crew_id}')`
- Stack with PraisonAI's tracing so every memory call is observable in the crew's run log
- Compose with other PraisonAI tools: Engram memory alongside web search, code execution, and the rest
FAQ
Why plain Python functions instead of `Tool` classes?
PraisonAI inspects signatures and docstrings to build the schema. Plain functions are the idiomatic path, with no subclass boilerplate, and the docstring IS the contract. (PraisonAI also supports a `BaseTool` subclass path if you need it, but the function-based form is what their docs lead with.)
Does the docstring matter for tool discovery?
Yes. PraisonAI uses the docstring as the tool description shown to the agent, and the Engram tools ship with docstrings explicitly tuned for that.
Is it PyPI-installable?
Vendor `engram_praisonai.py` (~40 LOC) for now. PyPI coming.
Related integrations
Ship durable memory in PraisonAI today
Free tier: 10K memories and 50K retrievals per month. No credit card. Same Engram backend powers all 41 integrations, so memories you write from one client are immediately queryable from the rest.