Rename to hkt.sh
This commit is contained in:
168
skills/memory-tools/SKILL.md
Normal file
168
skills/memory-tools/SKILL.md
Normal file
@@ -0,0 +1,168 @@
|
||||
---
|
||||
name: memory-tools
|
||||
description: Agent-controlled memory plugin for OpenClaw with confidence scoring, decay, and semantic search. The agent decides WHEN to store/retrieve memories — no auto-capture noise.
|
||||
homepage: https://github.com/Purple-Horizons/openclaw-memory-tools
|
||||
metadata:
|
||||
openclaw:
|
||||
emoji: 🧠
|
||||
kind: plugin
|
||||
requires:
|
||||
env:
|
||||
- OPENAI_API_KEY
|
||||
---
|
||||
|
||||
# Memory Tools
|
||||
|
||||
Agent-controlled persistent memory for OpenClaw.
|
||||
|
||||
## Why Memory-as-Tools?
|
||||
|
||||
Traditional memory systems auto-capture everything, flooding context with irrelevant information. Memory Tools follows the [AgeMem](https://arxiv.org/abs/2409.02634) approach: **the agent decides** when to store and retrieve memories.
|
||||
|
||||
## Features
|
||||
|
||||
- **6 Memory Tools**: `memory_store`, `memory_update`, `memory_forget`, `memory_search`, `memory_summarize`, `memory_list`
|
||||
- **Confidence Scoring**: Track how certain you are (1.0 = explicit, 0.5 = inferred)
|
||||
- **Importance Scoring**: Prioritize critical instructions over nice-to-know facts
|
||||
- **Decay/Expiration**: Temporal memories automatically become stale
|
||||
- **Semantic Search**: Vector-based similarity via LanceDB
|
||||
- **Hybrid Storage**: SQLite (debuggable) + LanceDB (fast vectors)
|
||||
- **Conflict Resolution**: New info auto-supersedes old (no contradictions)
|
||||
|
||||
## Installation
|
||||
|
||||
### Step 1: Install from ClawHub
|
||||
|
||||
```bash
|
||||
clawhub install memory-tools
|
||||
```
|
||||
|
||||
### Step 2: Build the plugin
|
||||
|
||||
```bash
|
||||
cd skills/memory-tools
|
||||
npm install
|
||||
npm run build
|
||||
```
|
||||
|
||||
### Step 3: Activate the plugin
|
||||
|
||||
```bash
|
||||
openclaw plugins install --link .
|
||||
openclaw plugins enable memory-tools
|
||||
```
|
||||
|
||||
### Step 4: Restart the gateway
|
||||
|
||||
**Standard (systemd):**
|
||||
```bash
|
||||
openclaw gateway restart
|
||||
```
|
||||
|
||||
**Docker (no systemd):**
|
||||
```bash
|
||||
# Kill existing gateway
|
||||
pkill -f openclaw-gateway
|
||||
|
||||
# Start in background
|
||||
nohup openclaw gateway --port 18789 --verbose > /tmp/openclaw-gateway.log 2>&1 &
|
||||
```
|
||||
|
||||
### Requirements
|
||||
|
||||
- `OPENAI_API_KEY` environment variable (for embeddings)
|
||||
|
||||
## Memory Categories
|
||||
|
||||
| Category | Use For | Example |
|
||||
|----------|---------|---------|
|
||||
| fact | Static information | "User's dog is named Rex" |
|
||||
| preference | Likes/dislikes | "User prefers dark mode" |
|
||||
| event | Temporal things | "Dentist Tuesday 3pm" |
|
||||
| relationship | People connections | "Sarah is user's wife" |
|
||||
| instruction | Standing orders | "Always respond in Spanish" |
|
||||
| decision | Choices made | "We decided to use PostgreSQL" |
|
||||
| context | Situational info | "User is job hunting" |
|
||||
| entity | Named things | "Project Apollo is their startup" |
|
||||
|
||||
## Tool Reference
|
||||
|
||||
### memory_store
|
||||
```
|
||||
memory_store({
|
||||
content: "User prefers bullet points",
|
||||
category: "preference",
|
||||
confidence: 0.9,
|
||||
importance: 0.7,
|
||||
tags: ["formatting", "communication"]
|
||||
})
|
||||
```
|
||||
|
||||
### memory_search
|
||||
```
|
||||
memory_search({
|
||||
query: "formatting preferences",
|
||||
category: "preference",
|
||||
limit: 10
|
||||
})
|
||||
```
|
||||
|
||||
### memory_update
|
||||
```
|
||||
memory_update({
|
||||
id: "abc123",
|
||||
content: "User now prefers numbered lists",
|
||||
confidence: 1.0
|
||||
})
|
||||
```
|
||||
|
||||
### memory_forget
|
||||
```
|
||||
memory_forget({
|
||||
query: "bullet points",
|
||||
reason: "User corrected preference"
|
||||
})
|
||||
```
|
||||
|
||||
### memory_summarize
|
||||
```
|
||||
memory_summarize({
|
||||
topic: "user's work projects",
|
||||
maxMemories: 20
|
||||
})
|
||||
```
|
||||
|
||||
### memory_list
|
||||
```
|
||||
memory_list({
|
||||
category: "instruction",
|
||||
sortBy: "importance",
|
||||
limit: 20
|
||||
})
|
||||
```
|
||||
|
||||
## Debugging
|
||||
|
||||
Inspect what your agent knows:
|
||||
```bash
|
||||
sqlite3 ~/.openclaw/memory/tools/memory.db "SELECT id, category, content FROM memories"
|
||||
```
|
||||
|
||||
Export all memories:
|
||||
```bash
|
||||
openclaw memory-tools export > memories.json
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
**"Database connection not open" error:**
|
||||
- Hard restart the gateway: `pkill -f openclaw-gateway`
|
||||
- Check permissions: `chown -R $(whoami) ~/.openclaw/memory/tools`
|
||||
|
||||
**Plugin not loading:**
|
||||
- Verify build: `ls skills/memory-tools/dist/index.js`
|
||||
- Check doctor: `openclaw doctor --non-interactive`
|
||||
|
||||
## License
|
||||
|
||||
MIT — [Purple Horizons](https://github.com/Purple-Horizons)
|
||||
Reference in New Issue
Block a user