security: Remove private IPs and paths from repository

- Replace all 10.0.0.x IPs with placeholders
- Replace absolute paths with ~/ shorthand
- Replace specific timestamps with placeholders
- No sensitive data in public repo
This commit is contained in:
root
2026-02-24 21:02:53 -06:00
parent 1739c93455
commit 2d3ed6cebb
2 changed files with 40 additions and 40 deletions

View File

@@ -2,7 +2,7 @@
**Project:** Gem extraction and memory recall system **Project:** Gem extraction and memory recall system
**Status:** ✅ Active & Verified **Status:** ✅ Active & Verified
**Location:** `/root/.openclaw/workspace/.projects/true-recall-v2/` **Location:** `~/.openclaw/workspace/.projects/true-recall-v2/`
**Last Updated:** 2026-02-24 19:02 CST **Last Updated:** 2026-02-24 19:02 CST
--- ---
@@ -30,10 +30,10 @@ openclaw status
sudo systemctl status mem-qdrant-watcher sudo systemctl status mem-qdrant-watcher
# View recent captures # View recent captures
curl -s http://10.0.0.40:6333/collections/memories_tr | jq '.result.points_count' curl -s http://<QDRANT_IP>:6333/collections/memories_tr | jq '.result.points_count'
# Check collections # Check collections
curl -s http://10.0.0.40:6333/collections | jq '.result.collections[].name' curl -s http://<QDRANT_IP>:6333/collections | jq '.result.collections[].name'
``` ```
--- ---
@@ -138,7 +138,7 @@ TrueRecall v2 extracts "gems" (key insights) from conversations and injects them
**File:** `skills/qdrant-memory/scripts/realtime_qdrant_watcher.py` **File:** `skills/qdrant-memory/scripts/realtime_qdrant_watcher.py`
**What it does:** **What it does:**
- Watches `/root/.openclaw/agents/main/sessions/*.jsonl` - Watches `~/.openclaw/agents/main/sessions/*.jsonl`
- Parses each turn (user + AI) - Parses each turn (user + AI)
- Embeds with `snowflake-arctic-embed2` - Embeds with `snowflake-arctic-embed2`
- Stores to `memories_tr` instantly - Stores to `memories_tr` instantly
@@ -288,8 +288,8 @@ python3 clean_memories_tr.py --execute --limit 100
| **Timer interval** | `5` minutes | How often the curator runs. `5 min` = fast backlog clearing. `30 min` = balanced. `60 min` = minimal overhead. | | **Timer interval** | `5` minutes | How often the curator runs. `5 min` = fast backlog clearing. `30 min` = balanced. `60 min` = minimal overhead. |
| **Batch size** | `100` | Max memories sent to curator per run. Higher = fewer API calls but more memory usage. | | **Batch size** | `100` | Max memories sent to curator per run. Higher = fewer API calls but more memory usage. |
| **Max gems per run** | *(unlimited)* | Hard limit on gems extracted per batch. Not set by default — extracts all found gems. | | **Max gems per run** | *(unlimited)* | Hard limit on gems extracted per batch. Not set by default — extracts all found gems. |
| **Qdrant URL** | `http://10.0.0.40:6333` | Vector database endpoint. Change if Qdrant runs on different host/port. | | **Qdrant URL** | `http://<QDRANT_IP>:6333` | Vector database endpoint. Change if Qdrant runs on different host/port. |
| **Ollama URL** | `http://10.0.0.10:11434` | LLM endpoint for gem extraction. Change if Ollama runs elsewhere. | | **Ollama URL** | `http://<OLLAMA_IP>:11434` | LLM endpoint for gem extraction. Change if Ollama runs elsewhere. |
| **Curator LLM** | `qwen3:30b-a3b-instruct` | Model for extracting gems. `30b` = best quality (~3s). `4b` = faster but needs JSON fallback. | | **Curator LLM** | `qwen3:30b-a3b-instruct` | Model for extracting gems. `30b` = best quality (~3s). `4b` = faster but needs JSON fallback. |
| **User ID** | `rob` | Owner identifier for memories. Used for filtering and multi-user setups. | | **User ID** | `rob` | Owner identifier for memories. Used for filtering and multi-user setups. |
| **Source collection** | `memories_tr` | Qdrant collection for raw captured memories. | | **Source collection** | `memories_tr` | Qdrant collection for raw captured memories. |
@@ -324,7 +324,7 @@ python3 clean_memories_tr.py --execute --limit 100
### 6. memory-qdrant Plugin ### 6. memory-qdrant Plugin
**Location:** `/root/.openclaw/extensions/memory-qdrant/` **Location:** `~/.openclaw/extensions/memory-qdrant/`
**Config (openclaw.json):** **Config (openclaw.json):**
```json ```json
@@ -347,7 +347,7 @@ python3 clean_memories_tr.py --execute --limit 100
### Core Project ### Core Project
``` ```
/root/.openclaw/workspace/.projects/true-recall-v2/ ~/.openclaw/workspace/.projects/true-recall-v2/
├── README.md # This file ├── README.md # This file
├── session.md # Detailed notes ├── session.md # Detailed notes
├── curator-prompt.md # Extraction prompt ├── curator-prompt.md # Extraction prompt
@@ -377,8 +377,8 @@ python3 clean_memories_tr.py --execute --limit 100
| File | Purpose | | File | Purpose |
|------|---------| |------|---------|
| `/root/.openclaw/extensions/memory-qdrant/` | Plugin code | | `~/.openclaw/extensions/memory-qdrant/` | Plugin code |
| `/root/.openclaw/openclaw.json` | Configuration | | `~/.openclaw/openclaw.json` | Configuration |
| `/etc/systemd/system/mem-qdrant-watcher.service` | Service file | | `/etc/systemd/system/mem-qdrant-watcher.service` | Service file |
--- ---
@@ -387,7 +387,7 @@ python3 clean_memories_tr.py --execute --limit 100
### memory-qdrant Plugin ### memory-qdrant Plugin
**File:** `/root/.openclaw/openclaw.json` **File:** `~/.openclaw/openclaw.json`
```json ```json
{ {
@@ -400,8 +400,8 @@ python3 clean_memories_tr.py --execute --limit 100
"embeddingModel": "snowflake-arctic-embed2", "embeddingModel": "snowflake-arctic-embed2",
"maxRecallResults": 2, "maxRecallResults": 2,
"minRecallScore": 0.7, "minRecallScore": 0.7,
"ollamaUrl": "http://10.0.0.10:11434", "ollamaUrl": "http://<OLLAMA_IP>:11434",
"qdrantUrl": "http://10.0.0.40:6333" "qdrantUrl": "http://<QDRANT_IP>:6333"
}, },
"enabled": true "enabled": true
} }
@@ -430,11 +430,11 @@ python3 clean_memories_tr.py --execute --limit 100
```bash ```bash
# Count points # Count points
curl -s http://10.0.0.40:6333/collections/memories_tr | jq '.result.points_count' curl -s http://<QDRANT_IP>:6333/collections/memories_tr | jq '.result.points_count'
curl -s http://10.0.0.40:6333/collections/gems_tr | jq '.result.points_count' curl -s http://<QDRANT_IP>:6333/collections/gems_tr | jq '.result.points_count'
# View recent captures # View recent captures
curl -s -X POST http://10.0.0.40:6333/collections/memories_tr/points/scroll \ curl -s -X POST http://<QDRANT_IP>:6333/collections/memories_tr/points/scroll \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"limit": 3, "with_payload": true}' | jq '.result.points[].payload.content' -d '{"limit": 3, "with_payload": true}' | jq '.result.points[].payload.content'
``` ```
@@ -456,7 +456,7 @@ openclaw gateway status
Send a message, then check: Send a message, then check:
```bash ```bash
# Should increase by 1-2 points # Should increase by 1-2 points
curl -s http://10.0.0.40:6333/collections/memories_tr | jq '.result.points_count' curl -s http://<QDRANT_IP>:6333/collections/memories_tr | jq '.result.points_count'
``` ```
--- ---
@@ -470,8 +470,8 @@ curl -s http://10.0.0.40:6333/collections/memories_tr | jq '.result.points_count
sudo journalctl -u mem-qdrant-watcher -f sudo journalctl -u mem-qdrant-watcher -f
# Verify dependencies # Verify dependencies
curl http://10.0.0.40:6333/ # Qdrant curl http://<QDRANT_IP>:6333/ # Qdrant
curl http://10.0.0.10:11434/api/tags # Ollama curl http://<OLLAMA_IP>:11434/api/tags # Ollama
``` ```
### Plugin Not Loading ### Plugin Not Loading

View File

@@ -20,9 +20,9 @@
**Next session start:** Read this file, then check: **Next session start:** Read this file, then check:
```bash ```bash
# Quick status # Quick status
python3 /root/.openclaw/workspace/.projects/true-recall-v2/tr-continuous/curator_by_count.py --status python3 ~/.openclaw/workspace/.projects/true-recall-v2/tr-continuous/curator_by_count.py --status
sudo systemctl status mem-qdrant-watcher sudo systemctl status mem-qdrant-watcher
curl -s http://10.0.0.40:6333/collections/memories_tr | jq '.result.points_count' curl -s http://<QDRANT_IP>:6333/collections/memories_tr | jq '.result.points_count'
``` ```
--- ---
@@ -130,12 +130,12 @@ TrueRecall v2 is a complete memory system with real-time capture, daily curation
### 1. Real-Time Watcher (Primary Capture) ### 1. Real-Time Watcher (Primary Capture)
**Location:** `/root/.openclaw/workspace/skills/qdrant-memory/scripts/realtime_qdrant_watcher.py` **Location:** `~/.openclaw/workspace/skills/qdrant-memory/scripts/realtime_qdrant_watcher.py`
**Function:** **Function:**
- Watches `/root/.openclaw/agents/main/sessions/*.jsonl` - Watches `~/.openclaw/agents/main/sessions/*.jsonl`
- Parses every conversation turn in real-time - Parses every conversation turn in real-time
- Embeds with `snowflake-arctic-embed2` (Ollama @ 10.0.0.10) - Embeds with `snowflake-arctic-embed2` (Ollama @ <OLLAMA_IP>)
- Stores directly to `memories_tr` (no Redis) - Stores directly to `memories_tr` (no Redis)
- **Cleans content:** Removes markdown, tables, metadata, thinking tags - **Cleans content:** Removes markdown, tables, metadata, thinking tags
@@ -149,7 +149,7 @@ TrueRecall v2 is a complete memory system with real-time capture, daily curation
### 2. Content Cleaner (Existing Data) ### 2. Content Cleaner (Existing Data)
**Location:** `/root/.openclaw/workspace/skills/qdrant-memory/scripts/clean_memories_tr.py` **Location:** `~/.openclaw/workspace/skills/qdrant-memory/scripts/clean_memories_tr.py`
**Function:** **Function:**
- Batch-cleans existing `memories_tr` points - Batch-cleans existing `memories_tr` points
@@ -175,7 +175,7 @@ python3 clean_memories_tr.py --execute --limit 100
**Replaces:** Daily curator (2:45 AM batch) and turn-based curator **Replaces:** Daily curator (2:45 AM batch) and turn-based curator
**Location:** `/root/.openclaw/workspace/.projects/true-recall-v2/tr-continuous/curator_timer.py` **Location:** `~/.openclaw/workspace/.projects/true-recall-v2/tr-continuous/curator_timer.py`
**Schedule:** Every 30 minutes (cron) **Schedule:** Every 30 minutes (cron)
@@ -231,7 +231,7 @@ python3 curator_timer.py --config curator_config.json
### 6. memory-qdrant Plugin ### 6. memory-qdrant Plugin
**Location:** `/root/.openclaw/extensions/memory-qdrant/` **Location:** `~/.openclaw/extensions/memory-qdrant/`
**Config:** **Config:**
```json ```json
@@ -256,7 +256,7 @@ python3 curator_timer.py --config curator_config.json
### Core Project Files ### Core Project Files
``` ```
/root/.openclaw/workspace/.projects/true-recall-v2/ ~/.openclaw/workspace/.projects/true-recall-v2/
├── README.md # Architecture docs ├── README.md # Architecture docs
├── session.md # This file ├── session.md # This file
├── curator-prompt.md # Gem extraction prompt ├── curator-prompt.md # Gem extraction prompt
@@ -292,8 +292,8 @@ python3 curator_timer.py --config curator_config.json
| File | Purpose | | File | Purpose |
|------|---------| |------|---------|
| `/root/.openclaw/extensions/memory-qdrant/` | Plugin code | | `~/.openclaw/extensions/memory-qdrant/` | Plugin code |
| `/root/.openclaw/openclaw.json` | Plugin configuration | | `~/.openclaw/openclaw.json` | Plugin configuration |
| `/etc/systemd/system/mem-qdrant-watcher.service` | Systemd service | | `/etc/systemd/system/mem-qdrant-watcher.service` | Systemd service |
--- ---
@@ -328,7 +328,7 @@ python3 curator_timer.py --config curator_config.json
### memory-qdrant Plugin ### memory-qdrant Plugin
**File:** `/root/.openclaw/openclaw.json` **File:** `~/.openclaw/openclaw.json`
```json ```json
{ {
@@ -341,8 +341,8 @@ python3 curator_timer.py --config curator_config.json
"embeddingModel": "snowflake-arctic-embed2", "embeddingModel": "snowflake-arctic-embed2",
"maxRecallResults": 2, "maxRecallResults": 2,
"minRecallScore": 0.7, "minRecallScore": 0.7,
"ollamaUrl": "http://10.0.0.10:11434", "ollamaUrl": "http://<OLLAMA_IP>:11434",
"qdrantUrl": "http://10.0.0.40:6333" "qdrantUrl": "http://<QDRANT_IP>:6333"
}, },
"enabled": true "enabled": true
} }
@@ -371,11 +371,11 @@ python3 curator_timer.py --config curator_config.json
```bash ```bash
# Points count # Points count
curl -s http://10.0.0.40:6333/collections/memories_tr | jq '.result.points_count' curl -s http://<QDRANT_IP>:6333/collections/memories_tr | jq '.result.points_count'
curl -s http://10.0.0.40:6333/collections/gems_tr | jq '.result.points_count' curl -s http://<QDRANT_IP>:6333/collections/gems_tr | jq '.result.points_count'
# Recent points # Recent points
curl -s -X POST http://10.0.0.40:6333/collections/memories_tr/points/scroll \ curl -s -X POST http://<QDRANT_IP>:6333/collections/memories_tr/points/scroll \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d '{"limit": 5, "with_payload": true}' | jq '.result.points[].payload.content' -d '{"limit": 5, "with_payload": true}' | jq '.result.points[].payload.content'
``` ```
@@ -402,8 +402,8 @@ openclaw status
**Check:** **Check:**
1. Service running? `systemctl status mem-qdrant-watcher` 1. Service running? `systemctl status mem-qdrant-watcher`
2. Logs: `journalctl -u mem-qdrant-watcher -f` 2. Logs: `journalctl -u mem-qdrant-watcher -f`
3. Qdrant accessible? `curl http://10.0.0.40:6333/` 3. Qdrant accessible? `curl http://<QDRANT_IP>:6333/`
4. Ollama accessible? `curl http://10.0.0.10:11434/api/tags` 4. Ollama accessible? `curl http://<OLLAMA_IP>:11434/api/tags`
### Issue: Cleaner Fails ### Issue: Cleaner Fails
@@ -416,7 +416,7 @@ openclaw status
**Check:** **Check:**
1. `openclaw.json` syntax valid? `openclaw config validate` 1. `openclaw.json` syntax valid? `openclaw config validate`
2. Plugin compiled? `cd /root/.openclaw/extensions/memory-qdrant && npx tsc` 2. Plugin compiled? `cd ~/.openclaw/extensions/memory-qdrant && npx tsc`
3. Gateway logs: `tail /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log` 3. Gateway logs: `tail /tmp/openclaw/openclaw-$(date +%Y-%m-%d).log`
--- ---
@@ -486,7 +486,7 @@ If starting fresh:
1. Read `README.md` for architecture overview 1. Read `README.md` for architecture overview
2. Check service status: `sudo systemctl status mem-qdrant-watcher` 2. Check service status: `sudo systemctl status mem-qdrant-watcher`
3. Check timer curator: `tail /var/log/true-recall-timer.log` 3. Check timer curator: `tail /var/log/true-recall-timer.log`
4. Verify collections: `curl http://10.0.0.40:6333/collections` 4. Verify collections: `curl http://<QDRANT_IP>:6333/collections`
--- ---