axonio
Rust client for Axonio: persistent memory for AI agents.
Formerly the clawdb-client crate. That crate belongs to a GitHub account that is no longer available, so the client continues here as axonio. The old crate's calls did not work against a real server (its search used a route that does not exist and it never opened a session); this is a rewrite with the same method names where they made sense.
Install
[]
= "0.2"
= { = "1", = ["macros", "rt-multi-thread"] }
TLS is rustls; no system OpenSSL is needed.
Quick start
Create an API key in the Axonio dashboard and export it:
use ;
async
For a self-hosted server: Axonio::builder().endpoint("https://db.example.com").api_key(key).build()?, or set AXONIO_URL.
Behaviour
- A session is opened on the first call, renewed a minute before it expires, and renewed once more (retrying the call) if the server rejects it.
db.connect().awaitopens it up front so a bad key fails early. Clones of the client share the session. - Network errors, timeouts and 502/503/504 are retried with backoff; 429 waits for
Retry-After. - Environment variables are read as
AXONIO_*first, then the olderCLAWDB_*:API_KEY,URL,AGENT_ID,ROLE,TIMEOUT_MS. - The agent id can be any name; it maps to a stable UUID, identical across the TypeScript, Python, Go and Rust SDKs.
- Errors are
axonio::Error;is_retriable()tells transient from permanent.
What it covers
Memory (remember, remember_typed, search, get_memory, recall, list_memories, update_memory, delete_memory), branches (branch, list_branches, diff, merge, discard_branch, archive_branch, ...), transactions, reflection, sync, sessions and health.
Test
AXONIO_LIVE_KEY=ck_live_...
License
Apache-2.0