crewai-dxmt
DXMT, the open-source memory database for personal agents, as CrewAI's memory storage backend, knowledge storage and search tool.
pip install crewai-dxmt
A DXMT server has to be running: vectordb serve, or
docker run -p 127.0.0.1:9999:9999 -v dxmt:/data dxmtai/dxmt.
Memory
CrewAI's unified Memory does the thinking (an LLM infers scope, categories and importance;
recall blends similarity, recency and importance) and hands the storage records with their
embeddings. DXMTStorageBackend implements CrewAI's StorageBackend protocol over one DXMT
table, so every selection the protocol asks for -- scope prefix, categories, metadata,
older_than -- is a server filter.
from crewai import Memory
from crewai_dxmt import DXMTStorageBackend
memory = Memory(storage=DXMTStorageBackend("crewai_memory", host="localhost", port=9999))
memory.remember("We decided to use PostgreSQL for the user database.")
memory.recall("What database did we choose?")
Crew(memory=True) builds its Memory without a storage argument, so to route every
crew to DXMT register the backend once at startup:
import crewai_dxmt
crewai_dxmt.install(host="localhost", port=9999)
Why DXMT rather than the LanceDB default: a server process, so agent memory and crew memory,
or several crews on one machine, share one store with no file lock; a write-ahead log, so
kill -9 loses nothing acknowledged; and the same store is reachable over MCP, REST and the
Python, JavaScript, Rust and Go clients.
Knowledge
DXMTKnowledgeStorage is a BaseKnowledgeStorage. It embeds on the server
(embedding={"model": ...}, any OpenAI-compatible endpoint via base_url) or with a function
(embedder=); with enable_full_text_search=True queries are hybrid (vector + BM25).
from crewai import Knowledge
from crewai_dxmt import DXMTKnowledgeStorage
storage = DXMTKnowledgeStorage(table_name="docs", embedding={"model": "text-embedding-3-small"})
knowledge = Knowledge(collection_name="docs", sources=[...], storage=storage)
install() registers a knowledge factory too, using the embedder CrewAI resolved for the
collection, or knowledge_embedding={...} for server-side embedding.
Tool
from crewai import Agent
from crewai_dxmt import DXMTVectorSearchTool
tool = DXMTVectorSearchTool(table_name="docs", search_mode="hybrid", limit=5)
agent = Agent(role="Researcher", goal="...", backstory="...", tools=[tool])
The query is embedded by the table's server-side model, or by embedder=; search_mode is
vector, hybrid or text.
Tests
tests/test_memory_backend.py drives CrewAI's real Memory engine end to end (remember,
recall with composite scoring, scopes, categories, forget, update) with a deterministic
embedder and a mocked LLM, against a live server: DXMT_HOST=127.0.0.1 DXMT_PORT=9999 pytest.
Metadata
Release files for crewai-dxmt 1.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| crewai_dxmt-1.6.0.tar.gz | 19.6 kB | Without provenance | Details for crewai_dxmt-1.6.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| crewai_dxmt-1.6.0-py3-none-any.whl | Python 3 | none | any | Details for crewai_dxmt-1.6.0-py3-none-any.whl |
Total release size: 36.8 kB
Release files / crewai_dxmt-1.6.0.tar.gz
| Download URL | crewai_dxmt-1.6.0.tar.gz |
|---|---|
| Size | 19.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d301c95b9f43ca0a0ce19b8a5a04df487ec7240d3870198209a8a5179cb90a5
|
|
BLAKE2b-256 checksum How to use checksums |
d8f9c8ebce03ee71f7b7060446ffbb464786965755aa5264b471aae69c77cd74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Release files / crewai_dxmt-1.6.0-py3-none-any.whl
| Download URL | crewai_dxmt-1.6.0-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ea58f6532b3a1c2afaa07ab96d5a87f32c219d82e7a1f32d271070b33e0b5dd7
|
|
BLAKE2b-256 checksum How to use checksums |
91e68c7ed3d957bb0f973da302c1af6b4c55240bb3102f1e4139ca3aa84593ea
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.12
|
Security for crewai-dxmt 1.6.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.