One signed Docker image. Every feature compiled in. Free to run. docker pull crowkis/crowkis:latest

Reference

Commands

Crowkis is Redis-compatible on the wire: the standard commands behave the way you expect, and the C* family adds the semantic cache on top.

The semantic family#

CommandWhat it does
CSETStore an answer with model, tenant, and TTL. The write passes intent classification, template extraction, and the anti-poisoning pipeline before it is accepted.
CGETRetrieve by meaning. Exact matches, paraphrases, and structural template matches all qualify — if the confidence score clears the intent's threshold.
CGETSTREAMLike CGET, but streams the cached answer in chunks — so cached responses feel like live model output.
CIMGGETMultimodal lookup for image + text queries.
CSIMInspect the K nearest semantic neighbours of a query. Your debugging window into the vector index.
CFLUSHFlush semantic entries for a tenant.
CDELETEENTRYDelete a specific cached entry.
CVECCOUNTCount of vectors currently in the HNSW index.

Anatomy of a CSET#

crowkis cli
CSET "What is your refund window?" \
     "Refunds are issued within 5 business days of approval." \
     EX 86400 \
     MODEL gpt-4o \
     TENANT support
PartMeaning
queryThe question, stored both as an embedding and as an abstracted structural template.
answerThe response to cache.
EX secondsTTL. Freshness policies can shorten effective reuse further.
MODEL nameWhich model produced this — used for migration and canary workflows.
TENANT idIsolation boundary. Entries never cross tenants.

Standard Redis commands#

Supported over RESP2/RESP3 (negotiated via HELLO):

GroupCommands
ConnectionPING · ECHO · HELLO · AUTH · QUIT · RESET
Key-valueGET · SET · GETSET · DEL · EXISTS · TTL · KEYS · TYPE · STRLEN · GETDEL · GETEX · GETRANGE · SETRANGE · INCR · INCRBY · INCRBYFLOAT · APPEND · MGET · MSET · SCAN · DBSIZE · RENAME
ExpiryEXPIRE · PEXPIRE · PERSIST · PTTL
ServerINFO · COMMAND · CONFIG · FLUSHDB · FLUSHALL · LASTSAVE · TIME · BGSAVE · BGREWRITEAOF · COMPACT · SWEEP · STATS
Frame limits are enforced at the protocol layer: 1024 arguments, 64 MB per bulk string, 128 MB per frame. RESP and gRPC traffic require CROWKIS_AUTH_TOKEN when set, compared in constant time.

gRPC surface#

The gRPC API (h2c, RESP port + 2) exposes Get, Set, GetStream, Stats, and Invalidate — the same cache, for services that prefer protobuf contracts. The schema lives at proto/crowkis.proto in the repository.