跳至主要内容
小龙虾小龙虾AI
🤖

Aister vector-memory

Provides semantic vector search over Aister's memory using PostgreSQL and e5-large-v2 embeddings to find related content by meaning in Russian and English.

下载507
星标0
版本1.0.4
数据分析
安全通过
💬Prompt

技能说明

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:

VariableDefaultDescription
VECTOR_MEMORY_DB_HOSTlocalhostPostgreSQL server host
VECTOR_MEMORY_DB_PORT5432PostgreSQL server port
VECTOR_MEMORY_DB_NAMEvector_memoryDatabase name
VECTOR_MEMORY_DB_USERaisterDatabase user
EMBEDDING_SERVICE_URLhttp://127.0.0.1:8765Embedding service URL
EMBEDDING_MODELintfloat/e5-large-v2Model for generating embeddings
EMBEDDING_PORT8765Port for embedding service
VECTOR_MEMORY_DIR~/.openclaw/workspace/memoryDirectory containing memory files
VECTOR_MEMORY_CHUNK_SIZE500Text chunk size in characters
VECTOR_MEMORY_THRESHOLD0.5Similarity threshold for search
VECTOR_MEMORY_LIMIT5Maximum 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:

CredentialRequiredDescription
VECTOR_MEMORY_DB_PASSWORDYesPostgreSQL 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:

# 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 🤠

如何使用「Aister vector-memory」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「Aister vector-memory」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能