Repo of the Day
OpenDCAI/DataMind
Published: Oct 10, 2026
Open repository ↗All-in-one intelligent assistant powered by LlamaIndex — RAG, GraphRAG, NL2SQL, Skills & Memory with multimodal support
Summary
DataMind is a Python-based intelligent assistant built on LlamaIndex that splits work between a StoreAgent (writes) and a RetrieveAgent (reads) backed by a shared "inference-time data plane." It unifies five storage surfaces—KB/RAG, SQL databases, Knowledge Graphs (GraphRAG), Skills, and scoped Memory—behind one retrieval interface. The current v1.1.0 release ships a stable native backend with local profile storage; optional SDK and CCR adapters are documented as integration paths to validate in your own environment.
What it is useful for
DataMind fits when an agent needs persistent, inspectable state that can change mid-conversation—not training data or batch ETL. The StoreAgent can ingest documents, CSV tables, graph triples, profile skills, and durable memories; the RetrieveAgent then queries the same plane with 19 read/utility tools across the five surfaces. Typical patterns include importing a quarterly CSV into SQL and immediately asking "which rep has the largest Q2 pipeline?", or extracting bounded triples from a notes folder and asking multi-hop graph questions. Every tool call passes through PathAllowlistHook, DestructiveSqlHook, and AuditLogHook before reaching the model. Default providers are Chroma plus BM25, SQLAlchemy (SQLite, MySQL, or PostgreSQL), NetworkX, profile-scoped SKILL.md files, and SQLite memory. Optional install targets add support for MySQL, Postgres, Voyage embeddings, HuggingFace, and dev tooling.
How engineers can use it
The README documents three entry points. First, a Codex plugin for single-user work: clone the repo and run ./scripts/install_codex_plugin.sh, which exposes RetrieveAgent, StoreAgent, GraphRAG, and Memory to Codex via MCP. Second, a service deployment: python -m uvicorn datamind.server:app --host 0.0.0.0 --port 8000 exposes /api/health, /api/tools, /api/ask, /api/store, /api/chat (SSE), and /api/upload. Third, embedding inside another app: pip install datamind, then set DATAMIND__LLM__API_BASE, DATAMIND__LLM__API_KEY, DATAMIND__LLM__PROTOCOL (anthropic or openai_chat_completions), and DATAMIND__LLM__MODEL, and call build_datamind(Settings()) from Python or run datamind chat. A bundled enterprise_demo seed script loads 17 documents, 64 graph nodes, 6 tables, and 101 rows for testing.
Documented limitations: the local SQLite profile is a single-user baseline—public deployments must add authentication, authorization, TLS, and rate limits, and multi-process use needs a shared backend. Verify a local install with pytest and python -m datamind.scripts.verify_sqlite_demo.