2026-03-10 12:08:53 -05:00
|
|
|
# TrueRecall Gems (v2)
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**Purpose:** Memory curation (gems) + context injection
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**Status:** ⚠️ Requires true-recall-base to be installed first
|
2026-02-25 13:34:32 -06:00
|
|
|
|
2026-02-25 13:34:12 -06:00
|
|
|
---
|
|
|
|
|
|
2026-02-24 20:27:44 -06:00
|
|
|
## Overview
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
TrueRecall Gems adds **curation** and **injection** on top of Base's capture foundation.
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**Gems is an ADDON:**
|
|
|
|
|
- Requires true-recall-base
|
|
|
|
|
- Independent from openclaw-true-recall-blocks
|
|
|
|
|
- Choose Gems OR Blocks, not both
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
## Three-Tier Architecture
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
```
|
2026-03-10 12:08:53 -05:00
|
|
|
true-recall-base (REQUIRED)
|
|
|
|
|
├── Watcher daemon
|
|
|
|
|
└── memories_tr (raw capture)
|
|
|
|
|
│
|
|
|
|
|
└──▶ true-recall-gems (THIS ADDON)
|
|
|
|
|
├── Curator extracts gems
|
|
|
|
|
├── gems_tr (curated)
|
|
|
|
|
└── Plugin injection
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
Note: Don't install with openclaw-true-recall-blocks.
|
|
|
|
|
Choose one addon: Gems OR Blocks.
|
|
|
|
|
```
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
## Prerequisites
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**REQUIRED: Install TrueRecall Base first**
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
Base provides the capture infrastructure (`memories_tr` collection).
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
```bash
|
2026-03-10 12:08:53 -05:00
|
|
|
# Verify base is running
|
|
|
|
|
curl -s http://<QDRANT_IP>:6333/collections/memories_tr | jq '.result.points_count'
|
2026-02-24 20:27:44 -06:00
|
|
|
```
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
## Installation
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
### 1. Curator Setup
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**Install cron job:**
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
```bash
|
2026-03-10 12:08:53 -05:00
|
|
|
# Edit path and add to crontab
|
|
|
|
|
echo "*/5 * * * * cd <INSTALL_PATH>/true-recall-gems/tr-continuous && /usr/bin/python3 curator_timer.py >> /var/log/true-recall-timer.log 2>&1" | sudo crontab -
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
sudo touch /var/log/true-recall-timer.log
|
|
|
|
|
sudo chmod 644 /var/log/true-recall-timer.log
|
2026-02-24 20:27:44 -06:00
|
|
|
```
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**Configure curator_config.json:**
|
2026-02-24 20:27:44 -06:00
|
|
|
```json
|
|
|
|
|
{
|
2026-03-10 12:08:53 -05:00
|
|
|
"timer_minutes": 5,
|
|
|
|
|
"max_batch_size": 100,
|
|
|
|
|
"user_id": "your-user-id",
|
|
|
|
|
"source_collection": "memories_tr",
|
|
|
|
|
"target_collection": "gems_tr"
|
2026-02-24 20:27:44 -06:00
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**Edit curator_timer.py:**
|
|
|
|
|
- Replace `<QDRANT_IP>`, `<OLLAMA_IP>` with your endpoints
|
|
|
|
|
- Replace `<USER_ID>` with your identifier
|
|
|
|
|
- Replace `<CURATOR_MODEL>` with your LLM (e.g., `qwen3:30b`)
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
### 2. Injection Setup
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
Add to your OpenClaw `openclaw.json`:
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
```json
|
2026-02-24 20:27:44 -06:00
|
|
|
{
|
2026-03-10 12:08:53 -05:00
|
|
|
"plugins": {
|
|
|
|
|
"entries": {
|
|
|
|
|
"memory-qdrant": {
|
|
|
|
|
"config": {
|
|
|
|
|
"autoCapture": true,
|
|
|
|
|
"autoRecall": true,
|
|
|
|
|
"captureCollection": "memories_tr",
|
|
|
|
|
"collectionName": "gems_tr",
|
|
|
|
|
"embeddingModel": "snowflake-arctic-embed2",
|
|
|
|
|
"maxRecallResults": 2,
|
|
|
|
|
"minRecallScore": 0.8,
|
|
|
|
|
"ollamaUrl": "http://<OLLAMA_IP>:11434",
|
|
|
|
|
"qdrantUrl": "http://<QDRANT_IP>:6333"
|
|
|
|
|
},
|
|
|
|
|
"enabled": true
|
2026-02-24 20:27:44 -06:00
|
|
|
}
|
2026-03-10 12:08:53 -05:00
|
|
|
},
|
|
|
|
|
"slots": {
|
|
|
|
|
"memory": "memory-qdrant"
|
2026-02-24 20:27:44 -06:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
## Files
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
| File | Purpose |
|
|
|
|
|
|------|---------|
|
2026-03-10 12:08:53 -05:00
|
|
|
| `tr-continuous/curator_timer.py` | Timer-based curator |
|
|
|
|
|
| `tr-continuous/curator_config.json` | Curator settings template |
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
## Verification
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
```bash
|
2026-03-10 12:08:53 -05:00
|
|
|
# Check v1 capture
|
2026-02-24 21:02:53 -06:00
|
|
|
curl -s http://<QDRANT_IP>:6333/collections/memories_tr | jq '.result.points_count'
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
# Check v2 curation
|
|
|
|
|
curl -s http://<QDRANT_IP>:6333/collections/gems_tr | jq '.result.points_count'
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
# Check curator logs
|
|
|
|
|
tail -20 /var/log/true-recall-timer.log
|
2026-02-24 20:27:44 -06:00
|
|
|
```
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
## Dependencies
|
2026-02-24 20:27:44 -06:00
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
| Component | Provided By | Required For |
|
|
|
|
|
|-----------|-------------|--------------|
|
|
|
|
|
| Capture | v1 | v2 (input) |
|
|
|
|
|
| Curation | v2 | Injection |
|
|
|
|
|
| Injection | v2 | Context recall |
|
2026-02-24 20:27:44 -06:00
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
2026-03-10 12:08:53 -05:00
|
|
|
**Version:** 2.0
|
|
|
|
|
**Requires:** TrueRecall v1
|
|
|
|
|
**Collections:** `memories_tr` (v1), `gems_tr` (v2)
|