xiaohongshu
xiaohongshu
helix-memory
Long-term memory system for Claude Code using HelixDB graph-vector database. Store and retrieve facts, preferences, context, and relationships across sessions using semantic search, reasoning chains, and time-window filtering.
Full skill instructions
Store and retrieve persistent memory across sessions using HelixDB's graph-vector database. Features semantic search (via Ollama), reasoning chains (IMPLIES/CONTRADICTS/BECAUSE), time-window filtering, and hybrid search.
ALWAYS use the memory bash script - never call Python scripts directly.
The memory script is located in the helix-memory repo root. After installation, use it directly or via alias:
# Direct path (update to your install location)
/path/to/helix-memory/memory <command>
# Or if you set up an alias
memory <command>
# Start HelixDB (auto-starts Docker Desktop if needed)
memory start
# Stop HelixDB
memory stop
# Restart
memory restart
# Check status
memory status
# Search memories
memory search "topic"
# List all (sorted by importance)
memory list --limit 10
# Quick store with auto-categorization (uses Ollama/Gemini)
memory remember "User prefers FastAPI over Flask"
# Store with explicit category
memory store "content" -t preference -i 9 -g "tags"
# Delete by ID (prefix OK)
memory delete abc123
# Find by tag
memory tag "wordpress"
# Help
memory help
The common.py module provides high-level functions:
import sys
sys.path.insert(0, '/path/to/helix-memory/hooks')
from common import (
# Storage
store_memory, store_memory_embedding, generate_embedding,
# Retrieval
get_all_memories, get_high_importance_memories,
# Search
search_by_similarity, search_by_text, hybrid_search,
get_memories_by_time_window,
# Reasoning chains
create_implication, create_contradiction, create_causal_link, create_supersedes,
get_implications, get_contradictions, get_reasoning_chain,
# Utils
check_helix_running, ensure_helix_running
)
Real vector similarity using nomic-embed-text model:
# Search finds semantically related content, not just keywords
results = search_by_similarity("verify code works", k=5)
# Finds: "test before completing" even without keyword match
Filter memories by recency:
# Time windows: "recent" (4h), "contextual" (30d), "deep" (90d), "full" (all)
recent = get_memories_by_time_window("recent") # Last 4 hours
contextual = get_memories_by_time_window("contextual") # Last 30 days
all_time = get_memories_by_time_window("full") # Everything
Combines vector similarity + text matching for best results:
results = hybrid_search("python testing preferences", k=10, window="contextual")
Create logical relationships between memories:
# "prefers Python" IMPLIES "avoid Node.js suggestions"
create_implication(python_pref_id, avoid_node_id, confidence=9, reason="Language preference")
# "always use tabs" CONTRADICTS "always use spaces"
create_contradiction(tabs_id, spaces_id, severity=8, resolution="newer_wins")
# "migrated to FastAPI" BECAUSE "Flask too slow"
create_causal_link(fastapi_id, flask_slow_id, strength=9)
# New preference SUPERSEDES old one
create_supersedes(new_pref_id, old_pref_id)
Query reasoning chains:
implications = get_implications(memory_id) # What does this imply?
contradictions = get_contradictions(memory_id) # What conflicts with this?
chain = get_reasoning_chain(memory_id) # Full reasoning graph
| Category | Importance | Description |
|---|---|---|
| preference | 7-10 | User preferences that guide interactions |
| fact | 5-9 | Factual info about user/projects/environment |
| context | 4-8 | Project/domain background |
| decision | 6-10 | Architectural decisions with rationale |
| task | 3-9 | Ongoing/future tasks |
| solution | 6-9 | Bug fixes, problem solutions |
memory_id = store_memory(
content="User prefers Python over Node.js for backend",
category="preference",
importance=9,
tags="python,nodejs,backend,language",
source="session-abc123" # or "manual"
)
# Generate real embedding via Ollama
vector, model = generate_embedding(content)
# Store embedding for semantic search
store_memory_embedding(memory_id, vector, content, model)
all_mems = get_all_memories()
important = get_high_importance_memories(min_importance=8)
prefs = [m for m in all_mems if m.get('category') == 'preference']
# Semantic (finds related meanings)
results = search_by_similarity("testing workflow", k=10)
# Text (exact substring match)
results = search_by_text("pytest")
# Hybrid (best of both)
results = hybrid_search("python testing", k=10, window="contextual")
All endpoints: POST http://localhost:6969/{endpoint} with JSON body.
# Store memory
curl -X POST http://localhost:6969/StoreMemory -H "Content-Type: application/json" \
-d '{"content":"...", "category":"preference", "importance":9, "tags":"...", "source":"manual"}'
# Create implication
curl -X POST http://localhost:6969/CreateImplication -H "Content-Type: application/json" \
-d '{"from_id":"...", "to_id":"...", "confidence":8, "reason":"..."}'
# Get all memories
curl -X POST http://localhost:6969/GetAllMemories -H "Content-Type: application/json" -d '{}'
# Get implications
curl -X POST http://localhost:6969/GetImplications -H "Content-Type: application/json" \
-d '{"memory_id":"..."}'
# Vector search
curl -X POST http://localhost:6969/SearchBySimilarity -H "Content-Type: application/json" \
-d '{"query_vector":[...], "k":10}'
Memory storage/retrieval happens automatically via Claude Code hooks:
load_memories.py): Loads relevant memories before processingreflect_and_store.py): Analyzes conversation, stores important items (every 5 prompts)session_start.py): Initializes session context# Service
memory start # Start HelixDB (auto-starts Docker Desktop)
memory stop # Stop HelixDB
memory restart # Restart HelixDB
memory status # Check status and memory count
# Memory operations
memory search "pytest"
memory list --limit 10
memory remember "User prefers pytest over unittest"
memory store "content" -t category -i importance -g "tags"
memory delete <memory-id>
memory tag "tagname"
memory help
Memories are automatically tagged with project names based on working directory. Project detection uses directory name as fallback.
# Start Ollama service
brew services start ollama
# Pull embedding model (274MB)
ollama pull nomic-embed-text
# Verify
curl http://localhost:11434/api/tags
Without Ollama, falls back to Gemini API (if key set) or hash-based pseudo-embeddings.
# Use the memory script (handles Docker auto-start)
memory start
# Check container status
docker ps | grep helix
brew services restart ollama
ollama list # Should show nomic-embed-text
HelixDB expects 1536-dim vectors. The code auto-pads smaller embeddings.
docker logs $(docker ps -q --filter "name=helix-memory") 2>&1 | tail -20
~/.local/bin/helixxiaohongshu
technical spec
product ux expert
database patterns
Conduct multi-agent task orchestration and workflow coordination.
Initialize project with Conductor artifacts (product definition,
Expert in web animations, transitions, and motion design using Framer Motion and CSS
Creates Mermaid and ASCII diagrams for flowcharts, architecture, ERDs, state machines, mindmaps, and more. Use when user mentions diagram, flowchart, mermaid, ASCII diagram, text diagram, terminal diagram, visualize, C4, mindmap, architecture diagram, sequence diagram, ERD, or needs visual docume...
PostgreSQL bindings for H3 hexagonal grid system. Use when working with H3 cells in Postgres, including spatial indexing, geometry/geography integration, and raster analysis.
Context-Driven Development skill for projects using Conductor. Use this skill when you detect a `conductor/` directory in the project, when working on tasks defined in a `plan.md` file, or when the user asks about tracks, specs, or plans. Automatically applies TDD workflow, tracks task completion...
Display project status, active tracks, and next actions
Official Stakpak application containerization standard operating procedure, a step-by-step guidline to properly dockerize applications. This is a rule book curated by the Stakpak Team.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience