CortexDB · v0.8.2
Run CortexDB locally
One command, no signup. Self-host the same engine that powers CortexDB Cloud on your own infrastructure at no cost. Source-available, not open source.
Docker
Multi-arch image (linux/amd64 · linux/arm64) on Docker Hub.
docker run -d \
--name cortexdb \
-p 3141:3141 \
-v cortexdb-data:/data \
-e OPENAI_API_KEY=$OPENAI_API_KEY \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
cortexdb/cortexdb:latestBrowser UI: localhost:3141 · Health: localhost:3141/v1/admin/health
Binary downloads
Single stripped executable plus bundled assets, README, and docs. No Docker required.
SHA-256 checksums are attached to every GitHub Release. macOS and Windows builds aren't shipped yet — ping us on contact if you need one.
What's new in v0.8.2
Full changelog →DATA-SAFETY: selective erasure fix (upgrade advised for anyone using /v1/erasures)
-
POST /v1/erasureserased the ENTIRE scope, ignoring the selector. The request carried noselectorfield, so a caller-suppliedselector.memory_idswas silently dropped and the whole scope was permanently, irreversibly destroyed — returning202. An empty, absent, or typo'd selector all wiped the scope, on the very endpoint operators are told to use for GDPR erasure requests./v1/erasuresnow honorsselector.memory_ids(erasing ONLY the named records and their derived data), requiresconfirm_all: truefor a deliberate whole-scope erasure (matching/v1/forget), rejects a typo'd selector key with422, and reports the true deleted count. A GDPR request targeting one subject no longer destroys the tenant. -
Cluster mode silently disabled ~half the API. The distributed coordinator implemented only 8 of 75 storage methods and fell through to inert defaults for the rest — so on a multi-node deployment, layer reads returned empty for locally-owned data, fact/selective deletion no-op'd, GDPR forget-tombstones were not durable (erased events resurrected on restart), usage/billing reported zero, and the index-audit always reported "clean". All storage operations now execute against the local engine; a delegation-completeness test prevents recurrence.
-
Back-compat: top-level
metadatais accepted again. Pre-v0.8.0 clients that tagged events with a top-levelmetadata: {labels: [...]}object were hard-broken by the v0.8.0 strict envelope (422). That shape is accepted again and folded intocontext.labels. New clients should writecontext.labelsdirectly. -
Strict unknown-field rejection now covers
/v1/recall,/v1/forget, the bulk request envelope, andbudgets— a typo'd top-level key (e.g.temporlfortemporal) returns422instead of silently dropping the temporal pin and answering with current-time data. -
directivesrejects unknown keys and validatesttl_for_belief_layeras an ISO-8601 duration (a typo no longer silently skips the directive). -
Triple
predicateis validated (non-empty, length-bounded) like subject/object ids. -
CORTEX_EXTRACTION_BATCH_EVENTSstartup logging corrected — the knob was always wired, but the log printed an unrelated fixed constant, making it look dead.
First memory
curl -X POST http://localhost:3141/v1/experience \
-H 'Content-Type: application/json' \
-d '{
"scope": "ws:demo",
"modality": "observation",
"content": { "kind": "text", "text": "Priya at Acme signed for 200 seats." },
"context": { "observed_at": "'\`date -u +%Y-%m-%dT%H:%M:%SZ\`'" },
"idempotency_key": "'\`uuidgen\`'"
}'Once it's running you can:
- Open
localhost:3141in a browser for the built-in dashboard. pip install cortexdbaiornpm i cortexdbaifor SDK access. Both ship the sameCortexDBclient.- Read
docs/GETTING_STARTED.md(bundled in the tarball + image at/opt/cortexdb/docs/). - Browse the full API at /docs.
What ships in the package
Or skip the ops
CortexDB Cloud runs the same engine, managed. Free tier with 10K memories, no card required.
Try CortexDB Cloud