Releases: memoryoss/memwire
Releases · memoryoss/memwire
Release list
v0.1.2
What's Changed
- Updates by @harshalmore31 in #5
- updates by @harshalmore31 in #6
Full Changelog: v0.1.0...v0.1.2
v0.1.0
[0.1.0] — 2026-03-17
🚀 Initial Release
We're excited to launch MemWire, an open-source, enterprise-grade memory infrastructure layer for AI agents and applications.
MemWire gives your AI applications persistent, auditable, and graph-structured memory — without shipping your data to a third-party service.
What's included
Core memory engine
memory.add()— extract and store structured memory from chat messagesmemory.recall()— graph-aware retrieval with supporting and conflicting memory pathsmemory.search()— hybrid semantic + keyword search across stored memoriesmemory.feedback()— reinforce memory paths based on response quality; unused edges decay over time
Memory categories
- Automatic classification into
fact,preference,instruction,event, andentity
Knowledge base
memory.add_knowledge()/memory.search_knowledge()— ingest and query document chunks alongside conversation memory
Graph-based recall
- Memory items are connected in a weighted graph; recall traverses paths to surface the most relevant and consistent context
Hybrid search
- Dense vector + BM25 sparse retrieval fused with Reciprocal Rank Fusion (RRF)
Cross-encoder reranker (optional)
- FastEmbed-based cross-encoder for precision reranking of recall results
Storage
- Qdrant — embedded file mode (zero infra) or local/cloud server
- SQLite — metadata, graph edges, and memory records
Embeddings
- FastEmbed (local, no API key required) — default
- OpenAI / Azure OpenAI embeddings — optional
Multi-tenancy
- Isolate memory by
user_id,app_id, andworkspace_id
Self-hosted REST API
- FastAPI server with endpoints: store, recall, search, knowledge CRUD, health
- OpenAPI spec included
Examples
examples/openai/— streaming chat with memory (OpenAI)examples/azure-openai/— streaming chat with memory (Azure OpenAI)
Install
pip install memwireQuickstart
from memwire import MemWire, MemWireConfig
memory = MemWire(config=MemWireConfig(qdrant_path="./memwire_data"))
memory.add(user_id="alice", messages=[
{"role": "user", "content": "I prefer dark mode and short answers."}
])
result = memory.recall("How should I format my answers?", user_id="alice")
print(result.formatted)
# → "alice prefers dark mode and short answers."📖 Documentation · 💬 Discord · 🐛 Issues