Skip to main content

A companion memory agent that lets your agents focus and improve while you keep ownership of everything they learn.

Project description

🌊 Rivera

Persistent memory for your AI coding agents

Your agents forget everything between sessions. Rivera makes them remember.

Rivera Cloud · Docs · Console


Every time Claude Code, Cursor, or Codex starts a fresh session, it starts from zero — your preferences, your past decisions, and your codebase's quirks are gone. Rivera is a memory CLI that persists all of that across sessions and across tools, backed by Rivera, a semantic memory engine with exact (non-approximate) vector search and zero indexing delay: store a memory and it is searchable the same millisecond.

$ rivera remember "cua-driver Rust build needs DEVELOPER_DIR pointing at full Xcode" --type fact
Memory stored successfully!  Type: fact | Confidence: 0.95

$ rivera recall "how do I build the rust driver"
→ cua-driver Rust build needs DEVELOPER_DIR pointing at full Xcode   (score 0.39)

$ rivera answer "what does the rust build need?"
→ The build requires full Xcode via DEVELOPER_DIR (Source: chunk 1).

Three primitives

Command What it does
rivera remember Store a typed memory — searchable instantly, no indexing wait
rivera recall Semantic search over everything stored, with temporal filters (--as-of, --changed-since, --recent)
rivera answer One grounded, cited answer synthesized from your memories (RAG built in)

Memories are typed (13 categories: fact, preference, decision, goal, instruction, learning, error, …) and carry confidence and provenance metadata, so an explicit user statement never gets confused with an inferred hunch.

Quickstart

# 1. Install
pip install rivera-cli

# 2. Get a free API key at https://api.wirtel.ca/signup
#    (free plan: 2,000 requests + 200 GenAI answers / month)
export RIVERA_API_KEY="rv_..."

# 3. Create your agent and go
rivera agent create my-agent
rivera remember "User prefers concise answers" --type preference
rivera recall "communication style"
rivera answer "what did we decide about the database schema?"

Configuration lives in ~/.rivera/ (.env for credentials, config.yaml for settings). Point at a different Rivera deployment with RIVERA_BASE_URL.

Agent integrations

Connect Rivera to your coding agent so memory works automatically — context injected at session start, durable decisions captured as you work:

rivera connect claude-code    # also: cursor, codex, windsurf, cline, continue, ...

More than a CLI

  • Local REST API + Web UIrivera serve / rivera ui
  • Batch ingestionrivera remember --batch memories.json, --from-conversation to extract facts from chat logs, rivera upload for PDF/DOCX/CSV/MD files
  • Memory hygienerivera conflicts detects contradictions; rivera daily-summary digests what changed; rivera edit / rivera forget for corrections
  • Project syncrivera memory sync writes a MEMORY.md snapshot into your repo

How it works

rivera CLI ──HTTPS──▶ Rivera (api.wirtel.ca)
                      ├─ exact cosine search over pgvector (no ANN, deterministic)
                      ├─ OpenAI embeddings (text-embedding-3-small)
                      └─ grounded answers (gpt-4o-mini) with citations

Your memories live in your Rivera account — per-tenant isolation, API keys hashed at rest, revocable from the console. Self-hosting Rivera is possible too: the backend is a standard FastAPI + Postgres/pgvector service.

Acknowledgments

Rivera began as a fork of memanto (MIT, EdgeAI Innovations Inc.) and preserves its excellent typed-memory model and CLI ergonomics. The backend, retrieval engine, auth, and cloud service are Rivera — an independent implementation. See LICENSE.

License

MIT

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

rivera_cli-0.1.2.tar.gz (2.9 MB view details)

Uploaded Source

Built Distribution

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

rivera_cli-0.1.2-py3-none-any.whl (283.3 kB view details)

Uploaded Python 3

File details

Details for the file rivera_cli-0.1.2.tar.gz.

File metadata

  • Download URL: rivera_cli-0.1.2.tar.gz
  • Upload date:
  • Size: 2.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for rivera_cli-0.1.2.tar.gz
Algorithm Hash digest
SHA256 cefb1e54604a9b96e1bde9246fb22581c3c0011286e83eed0de1b9cfe9e5ac72
MD5 53e3a8285ec14399e7d0d4df4e18db56
BLAKE2b-256 0ac790e9bb2093bbc62bc97ff150e0ced7d887c90f5672b78c34784300663e36

See more details on using hashes here.

File details

Details for the file rivera_cli-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: rivera_cli-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 283.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.5

File hashes

Hashes for rivera_cli-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 36023f0c0aa765331d1a27a27bb5284cd642a5a77f52e1f942e73b3ff71e5e49
MD5 7394b56f75187cc0ad36cab634f59fd5
BLAKE2b-256 adbede5c6c6f1277d90f0e6b390c30edcbbd4c261ec2a7c5619f4d143b0927d6

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