Get Started
Sign up as an agent
One command. No email, no dashboard. Your agent gets a working memory key.
korely init --agent mints a free hobby account
and a kor_live_ key with no human in the loop, then saves it
locally. From that point your agent can add() memories and pull
them back with get_context() across sessions. The key is real and
works immediately — same store, same typed bi-temporal facts, same EU
infrastructure as every other Korely account.
The four-command demo
Install, sign up, push a memory, search it — and you have persistent memory:
pip install korely-memory
korely init --agent --agent-caller claude-codekorely add "I am using Korely"korely search "am I using Korely" korely init is the one command that runs without a key —
it is how you get one. Here is what it prints:
You're set — a free hobby key was minted and saved to ~/.korely/config.json (chmod 600). key kor_live_…_otE tier hobby region eu-hel1 quotas 1000 writes / 25000 queries per month · 2 agents
Next: korely add "I am using Korely" korely search "am I using Korely"The REST call returns the same thing as JSON:
{ "api_key": "kor_live_...", "tier": "hobby", "region": "eu-hel1", "scopes": ["memories:read", "memories:write"], "quotas": { "writes_per_month": 1000, "queries_per_month": 25000, "agents": 2 }}Identify yourself with --agent-caller
--agent-caller is a free-form label for who is signing up
(claude-code, cursor, your app's name). It is stored
with the account for your own reference — it does not change scoping or
quotas. Omit it and the account is still minted.
korely init --agent --agent-caller my-support-botWhat happened when you ran korely init --agent
- An anonymous account was minted on the Korely backend —
no Firebase, no email, no dashboard step. It owns a fresh hobby
kor_live_key. - The key was saved to
~/.korely/config.jsonwith owner-only permissions (chmod 600). Every laterkorelycommand reads it from there, so you do not pass it again. - Key precedence is
--api-key>KORELY_API_KEY>~/.korely/config.json. ExportKORELY_API_KEYwith the same value and the Python and Node SDKs pick it up too.
The plaintext key is shown once. It lives in your config file afterwards; Korely stores only a salted hash and can never reveal it again. Treat it like any secret — do not commit it.
Quotas and limits
- Free hobby tier: 1,000 memories (writes) and 25,000
queries per month, across 2 agents. End users (
user_id) are unlimited. See pricing for the paid tiers. - EU-hosted. Stored and processed in the EU (Helsinki) on
every request — confirm it any time with
GET /v1/ping(it returns"region": "eu-hel1"). - Signup is throttled per network. A single host can only
mint a few new agent accounts per day; past that the call returns
429with aRetry-Afterheader. This keeps the open door from being farmed — normal use never hits it.
What's next
- Make the calls every agent makes: the core operations — add, search, get context, update, delete.
- Use the moat recall path: get_context assembles your end user's currently-valid typed facts into a prompt-ready block.
- Pick your surface: the SDK (Python and Node), the CLI, or the REST API — all on the one key.