install
source · Clone the upstream repo
git clone https://github.com/openclaw/skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/bkmashiro/vfs/skill" ~/.claude/skills/openclaw-skills-skill-d8f47b && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/openclaw/skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/bkmashiro/vfs/skill" ~/.openclaw/skills/openclaw-skills-skill-d8f47b && rm -rf "$T"
manifest:
skills/bkmashiro/vfs/skill/SKILL.mdsource content
AVM Memory Skill
AI Virtual Memory for agents. Token-aware recall, knowledge graphs, multi-agent support.
Quick Start
1. Configure AVM Daemon
# ~/.config/avm/mounts.yaml mounts: - mountpoint: ~/.openclaw/workspace-{agent}/avm agent_id: {agent}
# Start daemon avm-daemon start --daemon # Verify ls ~/.openclaw/workspace-{agent}/avm/
2. Basic Usage
# Store a memory echo "RSI > 70 indicates overbought" > avm/notes/rsi_rule.md # Recall with query cat "avm/:recall?q=RSI trading" # See what's in memory cat avm/:topics # Browse structure cat avm/:list
3. Virtual Paths
| Path | Description |
|---|---|
| Semantic search |
| Topic overview |
| List all memories |
| Available handlers |
| Specific handler docs |
| Read/write memories |
For Sub-Agents
When spawning a sub-agent that needs memory:
Step 1: Add to mounts.yaml
# ~/.config/avm/mounts.yaml mounts: - mountpoint: ~/.openclaw/workspace-{subagent}/avm agent_id: {subagent}
# Reload daemon avm-daemon reload
Step 2: Add to AGENTS.md
## Memory This agent has AVM memory mounted at `avm/`. ### Recall \`\`\`bash cat "avm/:recall?q=your query" \`\`\` ### Remember \`\`\`bash echo "content" > avm/notes/title.md \`\`\` ### Topics \`\`\`bash cat avm/:topics \`\`\`
Step 3: Verify
# Test recall cat "avm/:recall?q=test"
Commands
# Daemon management avm-daemon start --daemon # Start in background avm-daemon status # Show mounts avm-daemon reload # Reload config avm-daemon stop # Stop all # CLI operations avm recall "query" --agent {id} avm remember "content" --title "name" --agent {id} avm topics --agent {id} # Import existing memories avm import /path/to/*.md --agent {id}
Multi-Agent Setup
Shared Namespace
Multiple agents can share memories:
# Agent A writes to shared echo "market signal" > avm/shared/market/signal.md # Agent B reads shared cat "avm/:recall?q=market signal" # Finds it
Private Memories
Each agent's writes go to their private namespace by default:
avm/ ├── private/{agent}/*.md # Only this agent └── shared/{namespace}/*.md # All agents
Tips
- Write in English - FTS has no Chinese tokenizer; English searches work better
- Use recall, not search -
ranks by relevance + importancecat avm/:recall?q=... - Use delta for collaboration -
shows only changes since last readcat shared/file.md:delta - Set importance - High importance memories surface first
- Use tags - Add tags via file content:
tags: [trading, risk] - Link memories - Use
to build knowledge graphavm link - Check topics first -
to see what's availablecat avm/:topics
Troubleshooting
Mount fails
# Check daemon status avm-daemon status # Restart daemon avm-daemon stop && avm-daemon start --daemon # Force unmount (macOS) umount -f /path/to/mount # Force unmount (Linux) fusermount -uz /path/to/mount
Permission denied
# Check ownership ls -la ~/.local/share/avm/ # Fix if needed chown -R $USER ~/.local/share/avm/
No results
# Check if memories exist avm list --agent {id} # Check topics cat avm/:topics