Skip to content
Back to skills

Aister Vector Memory

ASecurity

Aister vector-memory

  • 33 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 5, 2026
ai-agentspythonbashsqlflaskdockerapidatabasesecurity

Works with

  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned September 5, 2026

npx -y skills add dvcrn/openclaw-skills-marketplace --skill aister-vector-memory --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aister Vector Memory?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aister Vector Memory
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dvcrn-aister-vector-memory/badge)](https://www.skillsdirectory.com/skills/dvcrn-aister-vector-memory)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aister-vector-memory
description: "Aister vector-memory"
---

# Vector Memory Skill

Vector memory for Aister — search by meaning, not by grep!

## Description

Vector memory using PostgreSQL + pgvector + e5-large-v2. Enables searching information by MEANING, not just keywords.

## Environment Variables

**Required:**
- `VECTOR_MEMORY_DB_PASSWORD` — PostgreSQL password for database access

**Optional:**
| Variable | Default | Description |
|----------|---------|-------------|
| `VECTOR_MEMORY_DB_HOST` | `localhost` | PostgreSQL server host |
| `VECTOR_MEMORY_DB_PORT` | `5432` | PostgreSQL server port |
| `VECTOR_MEMORY_DB_NAME` | `vector_memory` | Database name |
| `VECTOR_MEMORY_DB_USER` | `aister` | Database user |
| `EMBEDDING_SERVICE_URL` | `http://127.0.0.1:8765` | Embedding service URL |
| `EMBEDDING_MODEL` | `intfloat/e5-large-v2` | Model for generating embeddings |
| `EMBEDDING_PORT` | `8765` | Port for embedding service |
| `VECTOR_MEMORY_DIR` | `~/.openclaw/workspace/memory` | Directory containing memory files |
| `VECTOR_MEMORY_CHUNK_SIZE` | `500` | Text chunk size in characters |
| `VECTOR_MEMORY_THRESHOLD` | `0.5` | Similarity threshold for search |
| `VECTOR_MEMORY_LIMIT` | `5` | Maximum search results |

## Features

- **Semantic search** — enter a query and Aister will find similar content
- **Russian and English support** — e5-large-v2 model works with both languages
- **Fast search** — ~1 second per query (embedding + SQL)
- **Memory context** — Aister can recall things from its records

## Usage

### Search

```
/search_memory <query>
```

Examples:
```
/search_memory my communication style
/search_memory what I did today
/search_memory Moltbook settings
```

### Reindex

```
/reindex_memory
```

This reads all memory files (MEMORY.md, IDENTITY.md, USER.md, etc.) and updates the vector database.

## How it works

1. When Aister remembers something, it splits the text into chunks
2. Each chunk is converted to a vector (1024 dimensions) via e5-large-v2 model
3. Vectors are stored in PostgreSQL with pgvector extension
4. During search, the query is also converted to a vector
5. PostgreSQL finds similar vectors via cosine similarity

## Technical Details

- **Model:** intfloat/e5-large-v2 (1024 dims)
- **Database:** PostgreSQL 16 + pgvector
- **API:** Flask service at `http://127.0.0.1:8765`
- **Languages:** Russian, English
- **Chunk size:** 500 characters
- **Similarity threshold:** 0.5 (default)

## Integration

This skill is integrated with AGENTS.md and TOOLS.md. Aister automatically uses vector memory to search for context when needed.

## Credentials

This skill requires database credentials to function:

| Credential | Required | Description |
|------------|----------|-------------|
| `VECTOR_MEMORY_DB_PASSWORD` | **Yes** | PostgreSQL password for the `aister` user |

**Security recommendations:**
- Use a dedicated PostgreSQL user with minimal privileges (only SELECT, INSERT, UPDATE, DELETE on required tables)
- Use a strong, unique password — never reuse credentials
- Store the password file with `chmod 600` permissions
- Do not commit the password file to version control

## Warnings

### Network Access

**Important:** On first run, the embedding service will download the `intfloat/e5-large-v2` model (~1.3GB) from HuggingFace.

- Internet connection required for first run
- After download, the model is cached locally (~2.5GB total)
- All subsequent operations run locally without network

### Privileges

Installation requires:

- **Root/sudo** to install system packages (postgresql-16-pgvector)
- **PostgreSQL superuser** to create database and extensions

**Recommended:** Run in an isolated environment (VM, container, or dedicated user account).

### Local File Reading

The skill reads memory files (`MEMORY.md`, `IDENTITY.md`, `USER.md`) for indexing. 

**Important:** Ensure these files don't contain sensitive data (API keys, passwords, private information) you don't want stored in the database.

### Code Review

The included Python scripts are short and readable. Before running:
- Review `embedding_service.py`, `memory_search.py`, `memory_reindex.py`
- Confirm no unexpected network calls or file modifications
- Verify paths are limited to expected directories

## Docker Setup (Recommended for Isolation)

For better isolation, run PostgreSQL in Docker:

```bash
# Create docker-compose.yml
mkdir -p ~/.openclaw/workspace/vector-memory-docker
cat > ~/.openclaw/workspace/vector-memory-docker/docker-compose.yml << 'EOF'
version: '3.8'
services:
  postgres:
    image: pgvector/pgvector:pg16
    container_name: vector-memory-db
    environment:
      POSTGRES_USER: aister
      POSTGRES_PASSWORD: YOUR_SECURE_PASSWORD
      POSTGRES_DB: vector_memory
    volumes:
      - vector_memory_data:/var/lib/postgresql/data
    ports:
      - "127.0.0.1:5433:5432"
    restart: unless-stopped

volumes:
  vector_memory_data:
EOF

# Start the database
cd ~/.openclaw/workspace/vector-memory-docker
docker-compose up -d

# Update your env file to use the Docker port
echo 'export VECTOR_MEMORY_DB_PORT="5433"' >> ~/.config/vector-memory/env
```

Then follow INSTALL.md steps 1, 5-9 (skip PostgreSQL installation steps).

## Troubleshooting

If search doesn't find expected results:
1. Try rephrasing your query
2. Make sure information is indexed (use `/reindex_memory`)
3. Try lowering the similarity threshold (e.g., 0.4)

## Follow

If this skill helped you, follow Aister on Moltbook: https://www.moltbook.com/u/Aister 🤠

## Development

Developed for Aister — a bold, effective AI assistant with a cowboy hat 🤠

Files in this skill

  • INSTALL.md10.1 KB
  • README.md5.3 KB
  • SKILL.md5.5 KB
  • embedding_service.py2.6 KB
  • memory_reindex.py5.9 KB
  • memory_search.py3.6 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…