Summary
Add Moorcheh as a new vector store backend for SuperAGI agent long-term memory (LTM), following the existing VectorStore + VectorFactory pattern used by Redis, Pinecone, Qdrant, and Weaviate.
Motivation
- SuperAGI has no unified memory provider - LTM is wired via
VectorStore subclasses and VectorFactory
- Moorcheh is a managed, text-first semantic search/memory service - fits the existing
add_texts / get_matching_text flow without requiring self-hosted vector DB infra
- Useful for teams that want serverless agent memory without running Redis/Pinecone/Qdrant
Proposed scope (v1)
- Add
MOORCHEH to VectorStoreType enum
- New
superagi/vector_store/moorcheh.py implementing VectorStore
- Wire into
VectorFactory.get_vector_storage() and build_vector_storage()
- Config:
MOORCHEH_API_KEY in config_template.yaml
- Add
moorcheh-sdk to requirements.txt
- Unit tests under
tests/unit_tests/vector_store/
- Allow LTM when
LTM_DB=Moorcheh even for non-OpenAI models (Moorcheh handles embeddings)
Out of scope (follow-up PRs)
- Resource uploads via
LlamaVectorStoreFactory
- Knowledge marketplace
/connect/moorcheh endpoint
- GUI LTM picker update
- Per-agent
LTM_DB wiring (stored in config but not used at runtime today)
Integration points
| Layer |
Files |
| Write |
superagi/agent/output_handler.py |
| Read |
superagi/tools/tool_response_query_manager.py |
| Bootstrap |
superagi/jobs/agent_executor.py |
Acceptance criteria
Summary
Add Moorcheh as a new vector store backend for SuperAGI agent long-term memory (LTM), following the existing
VectorStore+VectorFactorypattern used by Redis, Pinecone, Qdrant, and Weaviate.Motivation
VectorStoresubclasses andVectorFactoryadd_texts/get_matching_textflow without requiring self-hosted vector DB infraProposed scope (v1)
MOORCHEHtoVectorStoreTypeenumsuperagi/vector_store/moorcheh.pyimplementingVectorStoreVectorFactory.get_vector_storage()andbuild_vector_storage()MOORCHEH_API_KEYinconfig_template.yamlmoorcheh-sdktorequirements.txttests/unit_tests/vector_store/LTM_DB=Moorcheheven for non-OpenAI models (Moorcheh handles embeddings)Out of scope (follow-up PRs)
LlamaVectorStoreFactory/connect/moorchehendpointLTM_DBwiring (stored in config but not used at runtime today)Integration points
superagi/agent/output_handler.pysuperagi/tools/tool_response_query_manager.pysuperagi/jobs/agent_executor.pyAcceptance criteria
LTM_DB=Moorchehcreates memory viaVectorFactoryToolResponseQueryManagercan recall relevant past tool outputget_matching_textreturns{"documents": [...], "search_res": "..."}]