Skip to main content

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)

Source distribution for crewai-dxmt 1.6.0
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)

Table of built distributions (wheels) for crewai-dxmt 1.6.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

1.6.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page