loom-openclaw-plugin/) that integrates Loom as a Context Engine, providing structured long-term memory for OpenClaw.
Quick Start
Features
- Auto-extract and auto-recall — extracts information into structured schemas and injects it into the system prompt each turn
- Schema-based memory — organizes knowledge into typed domains and fields
- Multi-schema management — create, switch, backup, and restore independent schema files
- Template system — bootstrap schemas from built-in, shared, or custom templates; full template CRUD via slash commands
- Agent tools — 5 registered tools for LLM-driven memory management
- Slash commands — full
/loomcommand suite for manual memory management
Configuration
Configure via environment variables oropenclaw.json:
| Option | Env Variable | Default | Description |
|---|---|---|---|
loomBaseUrl | LOOM_BASE_URL | http://localhost:8000 | Loom backend URL |
sessionId | LOOM_SESSION_ID | default | Loom session ID |
schemaId | LOOM_SCHEMA_ID | default | Shared schema file ID |
schemaTemplate | LOOM_SCHEMA_TEMPLATE | — | Initial template |
buildEveryNTurns | LOOM_BUILD_EVERY_N_TURNS | 1 | Extraction frequency (same as Loom build_every_n_turns) |
openclaw.json:
Slash Commands
View & Recall| Command | Description |
|---|---|
/loom or /loom status | Show connection status and schema overview |
/loom inspect | View schema structure with field values |
/loom recall | Recall all stored memory data |
| Command | Description |
|---|---|
/loom forget <domain> | Delete a specific schema domain |
/loom forget --all | Clear all memory |
/loom reset | Backup current schema and start fresh |
| Command | Description |
|---|---|
/loom schemas | List all schema files and backups |
/loom new [name] | Create a new blank schema and switch to it |
/loom switch <schema_id> | Switch to an existing schema |
/loom restore <backup_id> | Restore a schema from backup |
| Command | Description |
|---|---|
/loom templates | List all available templates (grouped by source) |
/loom templates show <name> | Preview template domains and fields |
/loom templates use <name> | Create a schema from template and switch to it |
/loom templates create | Show format help for creating custom templates |
/loom templates create <definition> | Create a custom template (compact text or --json) |
/loom templates delete <name> | Delete a custom template |
/loom templates help | Show template command help |
| Command | Description |
|---|---|
/loom config | View current runtime configuration |
/loom config buildEveryNTurns <N> | Update extraction frequency |
/loom help | Show help |
Creating Custom Templates via Slash Command
Create templates directly from the chat using the compact text format:- First line:
template_name description(name allows letters, numbers,_,-) - Following lines:
domain_name: field1 | description, field2 | description
/loom templates create --json {"_meta":{"name":"..."},...}
Agent Tools
Five tools are registered for the OpenClaw agent:| Tool | Description |
|---|---|
loom_inspect | Inspect schema structure and field values |
loom_recall | Recall all schema memory data |
loom_build | Manually trigger information extraction |
loom_forget | Delete a domain or clear all memory |
loom_update | Trigger schema update from chat history |
Context Engine Lifecycle
| OpenClaw Hook | Plugin Behavior | Loom API |
|---|---|---|
bootstrap | Verify backend, create session, load template | POST /api/sessions, GET /api/schemas/recall-all |
assemble | Fetch schema data, inject into system prompt | GET /api/schemas/recall-all |
afterTurn | Format messages, extract info | POST /api/build |
compact | Delegate to runtime | — |
Data Flow
Data Storage
Loom stores data under the OpenClaw Agent Workspace:configs/loom.yaml: