5.5 KiB
5.5 KiB
name, description, metadata
| name | description | metadata | |||||||
|---|---|---|---|---|---|---|---|---|---|
| qdrant-memory | Manual memory backup to Qdrant vector database. Memories are stored ONLY when explicitly requested by the user. No automatic storage, no proactive retrieval, no background consolidation. Enhanced metadata (confidence, source, expiration) available for manual use. Includes separate KB collection for documents, web data, etc. |
|
Qdrant Memory - Manual Mode
Overview
MODE: MANUAL ONLY
This system provides manual memory storage to Qdrant vector database for semantic search.
- File-based logs: Daily notes (
memory/YYYY-MM-DD.md) continue normally - Vector storage: Qdrant available ONLY when user explicitly requests storage
- No automatic operations: No auto-storage, no proactive retrieval, no auto-consolidation
Collections
kimi_memories (Personal Memories)
- Purpose: Personal memories, preferences, rules, lessons learned
- Vector size: 1024 (snowflake-arctic-embed2)
- Distance: Cosine
- Usage: "q remember", "q save", "q recall"
kimi_kb (Knowledge Base)
- Purpose: Web search results, documents, scraped data, reference materials
- Vector size: 1024 (snowflake-arctic-embed2)
- Distance: Cosine
- Usage: Manual storage of external data only when requested
Architecture
Storage Layers
Session Memory (this conversation) - Normal operation
↓
Daily Logs (memory/YYYY-MM-DD.md) - Automatic, file-based
↓
Manual Qdrant Storage - ONLY when user says "store this" or "q [command]"
↓
├── kimi_memories (personal) - "q remember", "q recall"
└── kimi_kb (knowledge base) - web data, docs, manual only
Memory Metadata
Available when manually storing:
- text: The memory content
- date: Creation date
- tags: Topics/keywords
- importance: low/medium/high
- confidence: high/medium/low (accuracy of the memory)
- source_type: user/inferred/external (how it was obtained)
- verified: bool (has this been confirmed)
- expires_at: Optional expiration date
- related_memories: IDs of connected memories
- access_count: How many times retrieved
- last_accessed: When last retrieved
Scripts
For kimi_memories (Personal)
store_memory.py
Manual storage only - Store with full metadata support:
# Basic manual storage
python3 store_memory.py "Memory text" --importance high
# With full metadata
python3 store_memory.py "Memory text" \
--importance high \
--confidence high \
--source-type user \
--verified \
--tags "preference,voice" \
--expires 2026-03-01 \
--related id1,id2
search_memories.py
Manual search of stored memories:
# Basic search
python3 search_memories.py "voice setup"
# Filter by tag
python3 search_memories.py "voice" --filter-tag "preference"
# JSON output
python3 search_memories.py "query" --json
For kimi_kb (Knowledge Base)
kb_store.py
Store external data to KB:
# Store web page content
python3 kb_store.py "Content text" \
--title "Page Title" \
--url "https://example.com" \
--domain "Tech" \
--tags "docker,containerization"
# Store document excerpt
python3 kb_store.py "Document content" \
--title "API Documentation" \
--source "docs.openclaw.ai" \
--domain "OpenClaw" \
--tags "api,reference"
kb_search.py
Search knowledge base:
# Basic search
python3 kb_search.py "docker volumes"
# Filter by domain
python3 kb_search.py "query" --domain "OpenClaw"
# Include source URLs
python3 kb_search.py "query" --include-urls
Hybrid Search (Both Collections)
hybrid_search.py
Search both files and vectors (manual use):
python3 hybrid_search.py "query" --file-limit 3 --vector-limit 3
Usage Rules
When to Store to Qdrant
ONLY when user explicitly requests:
- "Remember this..." → kimi_memories
- "Store this in Qdrant..." → kimi_memories
- "q save..." → kimi_memories
- "Add to KB..." → kimi_kb
- "Store this document..." → kimi_kb
What NOT to Do
❌ DO NOT automatically store any memories to either collection ❌ DO NOT auto-scrape web data to kimi_kb ❌ DO NOT run proactive retrieval ❌ DO NOT auto-consolidate
Manual Integration
Personal Memories (kimi_memories)
# Only when user explicitly says "q remember"
python3 store_memory.py "User prefers X" --importance high --tags "preference"
# Only when user explicitly says "q recall"
python3 search_memories.py "query"
Knowledge Base (kimi_kb)
# Only when user explicitly requests KB storage
python3 kb_store.py "Content" --title "X" --domain "Y" --tags "z"
# Search KB only when requested
python3 kb_search.py "query"
Best Practices
- Wait for explicit request - Never auto-store to either collection
- Use right collection:
- Personal/lessons →
kimi_memories - Documents/web data →
kimi_kb
- Personal/lessons →
- Always tag memories - Makes retrieval more accurate
- Include source for KB - URL, document name, etc.
- File-based memory continues normally - Daily logs still automatic
Troubleshooting
Q: Qdrant not storing?
- Check Qdrant is running:
curl http://10.0.0.40:6333/ - Verify user explicitly requested storage
Q: Search returning wrong results?
- Try hybrid search for better recall
- Use
--filter-tagfor precision
CONFIGURATION: Manual Mode Only Collections: kimi_memories (personal), kimi_kb (knowledge base) Last Updated: 2026-02-10