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.4.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.4-py3-none-any.whl (290.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rivera_cli-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 e5a9d65e73ee4273d40943c9e1a6771c1cca0a77bdd6cfe49bed5f815f210f97
MD5 a1adfc158ed3369c70f84634e4a38b0e
BLAKE2b-256 7be0f3e1883917f4f4d6f2cc942e2c21ff4f7a3b21f72d9d5339d4ab542ab49c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rivera_cli-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 290.1 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4cc55fc3e7946e15f4f6178c0f2e704f88b8727bf26d0b86893a2721c288122e
MD5 6da0c04b8f989a570c65d5178e7bf549
BLAKE2b-256 ff54d6540186094c92499acf5c1498f17f583e2eb2341775b410309d4602d4a8

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