Skip to main content

轻量级 MCP Server,为 AI 编程助手提供跨会话持久记忆能力

Project description

🌐 简体中文 | 繁體中文 | English | Español | Deutsch | Français | 日本語

AIVectorMemory Logo

AI Vector Memory Architecture

AIVectorMemory

Give your AI coding assistant a memory — Cross-session persistent memory MCP Server

PyPI Python License MCP


Still using CLAUDE.md / MEMORY.md as memory? This Markdown-file memory approach has fatal flaws: the file keeps growing, injecting everything into every session and burning massive tokens; content only supports keyword matching — search "database timeout" and you won't find "MySQL connection pool pitfall"; sharing one file across projects causes cross-contamination; there's no task tracking, so dev progress lives entirely in your head; not to mention the 200-line truncation, manual maintenance, and inability to deduplicate or merge.

AIVectorMemory is a fundamentally different approach. Local vector database storage with semantic search for precise recall (matches even when wording differs), on-demand retrieval that loads only relevant memories (token usage drops 50%+), automatic multi-project isolation with zero interference, and built-in issue tracking + task management that lets AI fully automate your dev workflow. All data is permanently stored on your machine — zero cloud dependency, never lost when switching sessions or IDEs.

✨ Core Features

Feature Description
🧠 Cross-Session Memory Your AI finally remembers your project — pitfalls, decisions, conventions all persist across sessions
🔍 Semantic Search No need to recall exact wording — search "database timeout" and find "MySQL connection pool issue"
💰 Save 50%+ Tokens Stop copy-pasting project context every conversation. Semantic retrieval on demand, no more bulk injection
🔗 Task-Driven Dev Issue tracking → task breakdown → status sync → linked archival. AI manages the full dev workflow
📊 Desktop App + Web Dashboard Native desktop app (macOS/Windows/Linux) + Web dashboard, visual management for memories and tasks, 3D vector network reveals knowledge connections at a glance
🏠 Fully Local Zero cloud dependency. ONNX local inference, no API Key, data never leaves your machine
🔌 All IDEs Cursor / Kiro / Claude Code / Windsurf / VSCode / OpenCode / Trae — one-click install, works out of the box
📁 Multi-Project Isolation One DB for all projects, auto-isolated with zero interference, seamless project switching
🔄 Smart Dedup Similarity > 0.95 auto-merges updates, keeping your memory store clean — never gets messy over time
🌐 7 Languages 简体中文 / 繁體中文 / English / Español / Deutsch / Français / 日本語, full-stack i18n for dashboard + Steering rules

QQ群:1085682431  |  微信:changhuibiz
共同参与项目开发加QQ群或微信交流

Login
Login

Project Selection
Project Selection

Overview & Vector Network
Overview & Vector Network

🏗️ Architecture

┌─────────────────────────────────────────────────┐
│                   AI IDE                         │
│  OpenCode / Claude Code / Cursor / Kiro / ...   │
└──────────────────────┬──────────────────────────┘
                       │ MCP Protocol (stdio)
┌──────────────────────▼──────────────────────────┐
│              AIVectorMemory Server               │
│                                                  │
│  ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│  │ remember │ │  recall   │ │   auto_save      │ │
│  │ forget   │ │  task     │ │   status/track   │ │
│  └────┬─────┘ └────┬─────┘ └───────┬──────────┘ │
│       │            │               │             │
│  ┌────▼────────────▼───────────────▼──────────┐  │
│  │         Embedding Engine (ONNX)            │  │
│  │      intfloat/multilingual-e5-small        │  │
│  └────────────────────┬───────────────────────┘  │
│                       │                          │
│  ┌────────────────────▼───────────────────────┐  │
│  │     SQLite + sqlite-vec (Vector Index)     │  │
│  │     ~/.aivectormemory/memory.db            │  │
│  └────────────────────────────────────────────┘  │
└──────────────────────────────────────────────────┘

🚀 Quick Start

Option 1: pip install (Recommended)

# Install
pip install aivectormemory

# Upgrade to latest version
pip install --upgrade aivectormemory

# Navigate to your project directory, one-click IDE setup
cd /path/to/your/project
run install

run install interactively guides you to select your IDE, auto-generating MCP config, Steering rules, and Hooks — no manual setup needed.

macOS users note:

  • If you get externally-managed-environment error, add --break-system-packages
  • If you get enable_load_extension error, your Python doesn't support SQLite extension loading (macOS built-in Python and python.org installers don't support it). Use Homebrew Python instead:
    brew install python
    /opt/homebrew/bin/python3 -m pip install aivectormemory
    

Option 2: uvx (zero install)

No pip install needed, run directly:

cd /path/to/your/project
uvx aivectormemory install

Requires uv to be installed. uvx auto-downloads and runs the package — no manual installation needed.

Option 3: Manual configuration

{
  "mcpServers": {
    "aivectormemory": {
      "command": "run",
      "args": ["--project-dir", "/path/to/your/project"]
    }
  }
}
📍 IDE Configuration File Locations
IDE Config Path
Kiro .kiro/settings/mcp.json
Cursor .cursor/mcp.json
Claude Code .mcp.json
Windsurf .windsurf/mcp.json
VSCode .vscode/mcp.json
Trae .trae/mcp.json
OpenCode opencode.json

🛠️ 8 MCP Tools

remember — Store a memory

content (string, required)   Memory content in Markdown format
tags    (string[], required)  Tags, e.g. ["pitfall", "python"]
scope   (string)              "project" (default) / "user" (cross-project)

Similarity > 0.95 auto-updates existing memory, no duplicates.

recall — Semantic search

query   (string)     Semantic search keywords
tags    (string[])   Exact tag filter
scope   (string)     "project" / "user" / "all"
top_k   (integer)    Number of results, default 5

Vector similarity matching — finds related memories even with different wording.

forget — Delete memories

memory_id  (string)     Single ID
memory_ids (string[])   Batch IDs

status — Session state

state (object, optional)   Omit to read, pass to update
  is_blocked, block_reason, current_task,
  next_step, progress[], recent_changes[], pending[]

Maintains work progress across sessions, auto-restores context in new sessions.

track — Issue tracking

action   (string)   "create" / "update" / "archive" / "list"
title    (string)   Issue title
issue_id (integer)  Issue ID
status   (string)   "pending" / "in_progress" / "completed"
content  (string)   Investigation content

task — Task management

action     (string, required)  "batch_create" / "update" / "list" / "delete" / "archive"
feature_id (string)            Linked feature identifier (required for list)
tasks      (array)             Task list (batch_create, supports subtasks)
task_id    (integer)           Task ID (update)
status     (string)            "pending" / "in_progress" / "completed" / "skipped"

Links to spec docs via feature_id. Update auto-syncs tasks.md checkboxes and linked issue status.

readme — README generation

action   (string)    "generate" (default) / "diff" (compare differences)
lang     (string)    Language: en / zh-TW / ja / de / fr / es
sections (string[])  Specify sections: header / tools / deps

Auto-generates README content from TOOL_DEFINITIONS / pyproject.toml, multi-language support.

auto_save — Auto save preferences

preferences  (string[])  User-expressed technical preferences (fixed scope=user, cross-project)
extra_tags   (string[])  Additional tags

Auto-extracts and stores user preferences at end of each conversation, smart dedup.

📊 Web Dashboard

run web --port 9080
run web --port 9080 --quiet          # Suppress request logs
run web --port 9080 --quiet --daemon  # Run in background (macOS/Linux)

Visit http://localhost:9080 in your browser. Default username admin, password admin123 (can be changed in settings after first login).

  • Multi-project switching, memory browse/search/edit/delete/export/import
  • Semantic search (vector similarity matching)
  • One-click project data deletion
  • Session status, issue tracking
  • Tag management (rename, merge, batch delete)
  • Token authentication protection
  • 3D vector memory network visualization
  • 🌐 Multi-language support (简体中文 / 繁體中文 / English / Español / Deutsch / Français / 日本語)

WeChat Group      QQ Group: 1085682431
Scan to join WeChat group  |  Scan to join QQ group

⚡ Pairing with Steering Rules

AIVectorMemory is the storage layer. Use Steering rules to tell AI when and how to call these tools.

Running run install auto-generates Steering rules and Hooks config — no manual setup needed.

IDE Steering Location Hooks
Kiro .kiro/steering/aivectormemory.md .kiro/hooks/*.hook
Cursor .cursor/rules/aivectormemory.md .cursor/hooks.json
Claude Code CLAUDE.md (appended) .claude/settings.json
Windsurf .windsurf/rules/aivectormemory.md .windsurf/hooks.json
VSCode .github/copilot-instructions.md (appended) .claude/settings.json
Trae .trae/rules/aivectormemory.md
OpenCode AGENTS.md (appended) .opencode/plugins/*.js
📋 Steering Rules Example (auto-generated)
# AIVectorMemory - Workflow Rules

## 1. New Session Startup (execute in order)

1. `recall` (tags: ["project-knowledge"], scope: "project", top_k: 100) load project knowledge
2. `recall` (tags: ["preference"], scope: "user", top_k: 20) load user preferences
3. `status` (no state param) read session state
4. Blocked → report and wait; Not blocked → enter processing flow

## 2. Message Processing Flow

- Step A: `status` read state, wait if blocked
- Step B: Classify message type (chat/correction/preference/code issue)
- Step C: `track create` record issue
- Step D: Investigate (`recall` pitfalls + read code + find root cause)
- Step E: Present plan to user, set blocked awaiting confirmation
- Step F: Modify code (`recall` pitfalls before changes)
- Step G: Run tests to verify
- Step H: Set blocked awaiting user verification
- Step I: User confirms → `track archive` + clear block

## 3. Blocking Rules

Must `status({ is_blocked: true })` when proposing plans or awaiting verification.
Only clear after explicit user confirmation. Never self-clear.

## 4-9. Issue Tracking / Code Checks / Spec Task Mgmt / Memory Quality / Tool Reference / Dev Standards

(Full rules auto-generated by `run install`)
🔗 Hooks Config Example (Kiro only, auto-generated)

Auto-save on session end removed. Dev workflow check (.kiro/hooks/dev-workflow-check.kiro.hook):

{
  "enabled": true,
  "name": "Dev Workflow Check",
  "version": "1",
  "when": { "type": "promptSubmit" },
  "then": {
    "type": "askAgent",
    "prompt": "Core principles: verify before acting, no blind testing, only mark done after tests pass"
  }
}

🇨🇳 Users in China

The embedding model (~200MB) is auto-downloaded on first run. If slow:

export HF_ENDPOINT=https://hf-mirror.com

Or add env to MCP config:

{
  "env": { "HF_ENDPOINT": "https://hf-mirror.com" }
}

📦 Tech Stack

Component Technology
Runtime Python >= 3.10
Vector DB SQLite + sqlite-vec
Embedding ONNX Runtime + intfloat/multilingual-e5-small
Tokenizer HuggingFace Tokenizers
Protocol Model Context Protocol (MCP)
Web Native HTTPServer + Vanilla JS

📋 Changelog

v1.0.11

  • 🐛 Desktop app version comparison switched to semantic versioning, fixing false upgrade prompts when local version is higher
  • 🐛 Health check page field names aligned with backend, fixing consistency status always showing Mismatch
  • 🔧 check_track.sh hook adds Python fallback, resolving silent hook failure when system sqlite3 is unavailable (#4)

v1.0.10

  • 🖥️ Desktop app one-click install + upgrade detection
  • 🖥️ Auto-detect Python and aivectormemory installation status on startup
  • 🖥️ Show one-click install button when not installed, check PyPI and desktop new versions when installed
  • 🐛 Installation detection switched to importlib.metadata.version() for accurate package version

v1.0.8

  • 🔧 Fix PyPI package size anomaly (sdist from 32MB down to 230KB), excluded accidentally packaged dev files

v1.0.6

New: Native Desktop App

  • 🖥️ Native desktop client supporting macOS (ARM64), Windows (x64), Linux (x64)
  • 🖥️ Desktop app shares the same database as Web dashboard, fully feature-equivalent
  • 🖥️ Dark/light theme switching, Glass frosted visual style
  • 🖥️ Login auth, project selection, stats overview, memory management, issue tracking, task management, tag management, settings, data maintenance — full feature coverage
  • 📦 Auto-published installers via GitHub Releases, download and use

New: CI/CD Auto Build

  • 🔄 GitHub Actions auto-builds desktop installers for all 3 platforms
  • 🔄 Push a tag to trigger the full compile, package, and release pipeline

Fixes

  • 🐛 Windows platform compatibility fixes
  • 🐛 sqlite-vec extension download URL fix

v1.0.5

Optimization: Token Usage Reduction

  • ⚡ Steering rules changed from per-message dynamic injection to static loading, reducing repeated token consumption
  • ⚡ Greatest impact for Claude Code users — ~2K fewer tokens per message

v1.0.4

New: Full-Stack i18n (7 Languages)

  • 🌐 Web dashboard + desktop UI fully supports 7 languages: 简体中文 / 繁體中文 / English / Español / Deutsch / Français / 日本語
  • 🌐 One-click language switch in settings page, takes effect immediately
  • 🌐 MCP tool responses follow language setting, AI replies automatically use the corresponding language
  • 🌐 Switching language auto-regenerates steering rules for all installed projects

New: Web Dashboard Settings Page

  • ⚙️ Language switch, theme settings, system info display
  • ⚙️ Database health check, repair, backup and other maintenance tools

v1.0.3

Optimization: Memory Search

  • 🔍 recall search supports OR/AND tag matching modes, fixing missed results with multi-tag searches
  • 🔍 Semantic search + tag filter defaults to OR matching (broader), tags-only browsing keeps AND matching (more precise)
📋 v0.2.x and earlier changelog

See CHANGELOG-archive.md

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aivectormemory-1.0.18.tar.gz (238.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aivectormemory-1.0.18-py3-none-any.whl (185.5 kB view details)

Uploaded Python 3

File details

Details for the file aivectormemory-1.0.18.tar.gz.

File metadata

  • Download URL: aivectormemory-1.0.18.tar.gz
  • Upload date:
  • Size: 238.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aivectormemory-1.0.18.tar.gz
Algorithm Hash digest
SHA256 6e7f97cb273595f07830591b400528f5077bf2101f83958946d467010ba9984a
MD5 d8db1d60da8aae5f689205208dcddd52
BLAKE2b-256 1ba2b43ffc17cc9f552677ef6101db073c23159b94560a90d0d1fe8f6530dfa7

See more details on using hashes here.

File details

Details for the file aivectormemory-1.0.18-py3-none-any.whl.

File metadata

  • Download URL: aivectormemory-1.0.18-py3-none-any.whl
  • Upload date:
  • Size: 185.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for aivectormemory-1.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 e3d0f1ff10d89f04900fc515be25249fc8921e4e62cbdfe31c0c22b8880b84b9
MD5 e3ddd3167170e76290c0fa2f91252c72
BLAKE2b-256 ce5747f829fae18ed4ddbbced13110b991b7e49ee28cb5ae58024252efee5d03

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page