Decision intelligence system for AI agents - hierarchical memory with outcome-weighted retrieval
Project description
Mind v5
Decision intelligence system for AI agents. Mind helps agents make better decisions over time by learning from outcomes.
Documentation
| Guide | Description |
|---|---|
| Getting Started | 15-minute setup guide |
| Core Concepts | Understanding memories, decisions, causality |
| User Guide | Step-by-step usage with examples |
| API Reference | Complete endpoint documentation |
| Installation | Production deployment options |
| Troubleshooting | Common issues and solutions |
Core Concepts
- Hierarchical Temporal Memory: Memories exist at 4 levels (Working, Recent, Reference, Identity)
- Outcome-Weighted Salience: Memories that lead to good decisions become more prominent
- Decision Tracing: Every decision is tracked with the context that informed it
- Causal Learning: Understanding WHY decisions work, not just correlation
- Multi-Source Retrieval: Combines vector search, keywords, salience, recency, and causal signals
Quick Start
Option A: One-Command Install (Recommended)
# Install Mind
pip install vibeship-mind
# Setup and start (downloads PostgreSQL, pgvector automatically)
mind up
That's it! Mind will:
- Download PostgreSQL binaries (no system install needed)
- Download and install pgvector extension
- Initialize the database
- Start the API server on http://localhost:8001
Option B: With Existing PostgreSQL
# Install Mind
pip install vibeship-mind
# Configure your database
export MIND_DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/mind
# Start server (skip automatic PostgreSQL setup)
mind serve
Option C: Docker Compose (Production)
# Copy environment config
cp .env.example .env
# Start all services (Postgres, NATS, Qdrant, API)
docker-compose up -d
# Check status
docker-compose ps
Verify It Works
# Run smoke test
pip install httpx
python scripts/smoke_test.py
Use the API
# Health check
curl http://localhost:8001/health
# Create a memory
curl -X POST http://localhost:8001/v1/memories/ \
-H "Content-Type: application/json" \
-d '{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"content": "User prefers concise code examples",
"content_type": "preference",
"temporal_level": 3,
"salience": 0.8
}'
# Retrieve memories (semantic search)
curl -X POST http://localhost:8001/v1/memories/retrieve \
-H "Content-Type: application/json" \
-d '{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"query": "code examples",
"limit": 5
}'
# Track a decision
curl -X POST http://localhost:8001/v1/decisions/track \
-H "Content-Type: application/json" \
-d '{
"user_id": "550e8400-e29b-41d4-a716-446655440000",
"session_id": "660e8400-e29b-41d4-a716-446655440001",
"decision_type": "response_style",
"decision_summary": "Used concise examples",
"confidence": 0.85
}'
# Record outcome
curl -X POST http://localhost:8001/v1/decisions/outcome \
-H "Content-Type: application/json" \
-d '{
"trace_id": "<trace_id_from_track>",
"quality": 0.9,
"signal": "explicit_positive",
"feedback": "User understood quickly"
}'
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /health |
Health check |
| POST | /v1/memories/ |
Create memory |
| GET | /v1/memories/{memory_id} |
Get memory by ID |
| POST | /v1/memories/retrieve |
Retrieve memories (semantic search) |
| POST | /v1/decisions/track |
Track a decision |
| POST | /v1/decisions/outcome |
Record decision outcome |
| GET | /metrics |
Prometheus metrics |
CLI Commands
| Command | Description |
|---|---|
mind up |
One-command start: setup + serve |
mind setup |
Download PostgreSQL, pgvector, initialize database |
mind serve |
Start the API server |
mind serve --reload |
Start with auto-reload (development) |
mind db init |
Initialize database tables |
mind db migrate |
Run database migrations |
mind health |
Check service health |
mind version |
Show version information |
mind mcp |
Start MCP server for AI agents |
Setup Options
mind setup --skip-postgres # Use existing PostgreSQL
mind setup --skip-pgvector # Skip pgvector installation
mind setup --skip-db-init # Skip database initialization
Development
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest tests/unit -v
# Start API in development mode
python -m mind.cli serve --reload
# Run linting
ruff check src/
mypy src/
Architecture
+------------------+
| API Layer |
| (FastAPI) |
+--------+---------+
|
+------------+------------+------------+------------+
| | | | |
+-------v----+ +-----v------+ +---v----+ +----v-----+ +-----v------+
| Memory | | Decision | | Event | | Causal | | Retrieval |
| Service | | Service | | Service| | Service | | Service |
+-------+----+ +-----+------+ +---+----+ +----+-----+ +-----+------+
| | | | |
+------------+------------+------------+------------+
|
+-------------+--------------+--------------+-------------+
| | | | |
+----v----+ +-----v-----+ +-----v-----+ +-----v-----+ +----v----+
|Postgres | | Qdrant | | NATS | | FalkorDB | | Temporal|
|(pgvector)| | (vectors) | | (events) | | (causal) | |(workflows)
+---------+ +-----------+ +-----------+ +-----------+ +---------+
Configuration
See .env.example for all configuration options.
License
MIT License - see LICENSE for details.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vibeship_mind-5.0.1.tar.gz.
File metadata
- Download URL: vibeship_mind-5.0.1.tar.gz
- Upload date:
- Size: 3.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d50556377f22d09e6a42595450e7ee5b3ae0f0625afd5481bb6fbc8b67f2e82
|
|
| MD5 |
117f350d34bfd8f3f2f54eaaea107402
|
|
| BLAKE2b-256 |
8f3fd7180a384fd3e3ecea72485c971cb2151690007415af6b9978871678275c
|
File details
Details for the file vibeship_mind-5.0.1-py3-none-any.whl.
File metadata
- Download URL: vibeship_mind-5.0.1-py3-none-any.whl
- Upload date:
- Size: 345.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fe4cd8fd1b1f6000988f4d32a0ce9d4dcb7f81d378bdaa12ed2fb95cb600b09e
|
|
| MD5 |
e48e1ca427b03c91b15956e622416d7a
|
|
| BLAKE2b-256 |
9c5384659217d942dc4f7cf144b3789642417218a6fc9f17878f215dcaef2993
|