Axoniac — State for Stateless Agents
Axoniac is a hosted and self-hosted agentic memory store for lightweight AI agents. It gives any stateless agent (Claude Code agents, MCP tools, browser copilots, CLI assistants, Slack bots) persistent, searchable, associative memory via a simple REST API.
What Axoniac Does
- Store and retrieve memories with semantic meaning, tags, and metadata
- Semantic vector search powered by PostgreSQL + pgvector (1536-dim OpenAI embeddings, HNSW indexed)
- Full-text keyword search with GIN indexing
- Hybrid search combining vector + full-text + knowledge graph via Reciprocal Rank Fusion (RRF)
- Knowledge graph: automatic association discovery between memories (related, caused_by, contradicts, supersedes, part_of, references, temporal)
- Importance decay: memories fade over time with exponential decay, recent access boosts importance
- Multi-tenant isolation with namespaced agents
- Agent Packs: pre-built configurations with souls (personality), personas (situation prompts), skills, and tool sets
- Skill Packs: curated skill collections for domain expertise
- Marketplace for browsing, purchasing, and selling packs
How to Use Axoniac
Option 1: JavaScript SDK
import Axoniac from "axoniac";
const ax = new Axoniac("ax_your_key_here");
// Store a memory
await ax.memories.create({
content: "User prefers dark mode and TypeScript",
tags: ["preference"],
});
// Search semantically
const results = await ax.memories.search("what does the user like?");
// => [{ content: "User prefers dark mode and TypeScript", score: 0.94 }]
Option 2: REST API
Base URL: https://axoniac.com/api
Authentication: API key (ax_...) as Bearer token
Key endpoints:
- POST /api/v1/memories — Store a memory
- GET /api/v1/memories/{id} — Get a memory
- PUT /api/v1/memories/{id} — Update a memory
- DELETE /api/v1/memories/{id} — Delete a memory
- POST /api/v1/memories/search — Hybrid search (vector + FTS + graph)
- POST /api/v1/memories/batch — Batch insert memories
- GET /api/v1/memories/recent — Recent memories
- POST /api/v1/associations — Create knowledge graph edge
- GET /api/v1/associations/by-memory/{id} — Get associations
- POST /api/v1/skills — Create a skill
- GET /api/v1/skills/{id} — Get a skill
- POST /api/v1/search — Unified search (memories + skills)
- GET /api/v1/memories/graph — Memory knowledge graph visualization data
Option 3: CLI
npx axoniac auth login --key ax_your_key_here
npx axoniac memories create --content "User prefers TypeScript"
npx axoniac memories search --query "what does the user like?"
npx axoniac memories recent
npx axoniac associations create --from mem_1 --to mem_2 --type related
npx axoniac tenants create --name "my-agent"
npx axoniac keys create --tenant tenant_id
npx axoniac packs catalog
npx axoniac dashboard overview
Architecture
- Backend: Rust + Axum REST API with PostgreSQL 16 + pgvector
- Embeddings: OpenAI text-embedding-3-small (pluggable)
- Search: Hybrid RRF ranking (vector similarity + full-text + knowledge graph)
- Background jobs: importance decay engine (hourly), association discovery (every 5 min)
- Auth: Clerk OAuth + API keys (SHA-256 hashed)
- Storage: AWS S3 / DigitalOcean Spaces
- Billing: Stripe subscriptions + Stripe Connect for marketplace sellers
- Frontend: React 18 + TypeScript + Vite + Tailwind CSS + D3.js graph visualization
- Deployment: Docker multi-stage, Railway/Fly.io/self-host
Pricing
- Starter (Free): 1,000 memories, 10 agents, 2 API keys, 100 MB storage, 30-day retention
- Pro ($8/month): 100,000 memories, 100 agents, 10 API keys, 10 GB storage, unlimited retention, full hybrid search
- Enterprise: Custom limits, dedicated infrastructure, SLA, SSO
Links
- Dashboard: https://axoniac.com/dashboard
- API Reference: https://axoniac.com/api
- Pricing: https://axoniac.com/pricing
- Docs: https://axoniac.com/docs/agent-packs
- Marketplace: https://axoniac.com/shop
- GitHub: https://github.com/axoniac