Skip to main content

Persistent Memory Kernel for AI Agents — crash recovery, shared memory, audit trail, real-time dashboard

Project description

Octopoda: Persistent Memory for AI Agents

Your agents remember everything. Crash-safe. Sub-millisecond. Framework-agnostic.

License

Install

pip install octopoda

Quick Start

from octopoda import AgentRuntime

agent = AgentRuntime("my_agent", agent_type="researcher")
agent.remember("user_preference", {"format": "bullet_points"})
result = agent.recall("user_preference")
print(result.value)  # {"format": "bullet_points"}

That's it. Memory persists across crashes, restarts, and deployments.

Why Octopoda?

AI agents lose memory on every restart. Octopoda fixes that:

  • Persistent memory — SQLite-backed by default, optional high-performance C lattice engine
  • Crash recovery — Automatic snapshots, sub-millisecond restore
  • Shared memory bus — Agents share knowledge across processes
  • Full audit trail — Every decision logged with memory context
  • Framework integrations — LangChain, CrewAI, AutoGen, OpenAI Agents SDK
  • Cloud API — FastAPI REST API with auth, rate limiting, Swagger docs
  • Real-time dashboard — Monitor agents, memory, performance, anomalies

Framework Integrations

LangChain

from synrix_runtime.integrations.langchain_memory import SynrixMemory
memory = SynrixMemory(agent_id="my_chain")
# Use with: ConversationChain(llm=llm, memory=memory)

CrewAI

from synrix_runtime.integrations.crewai_memory import SynrixCrewMemory
crew_memory = SynrixCrewMemory(crew_id="research_crew")
crew_memory.store_finding("researcher", "market_size", {"value": "$4.2B"})

AutoGen

from synrix_runtime.integrations.autogen_memory import SynrixAutoGenMemory
memory = SynrixAutoGenMemory(group_id="dev_team")
memory.store_message("alice", "bob", "The API is ready")

OpenAI Agents SDK

from synrix_runtime.integrations.openai_agents import SynrixOpenAIMemory
memory = SynrixOpenAIMemory()
memory.store_thread_state("thread_123", {"messages": [...]})

MCP Server (Claude, Cursor, ChatGPT, VS Code)

Give any MCP-compatible AI persistent memory with zero code. One config entry and your AI remembers everything.

pip install octopoda

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "octopoda": {
      "command": "octopoda-mcp"
    }
  }
}

That's it. Claude now has 10 memory tools: octopoda_remember, octopoda_recall, octopoda_search, octopoda_snapshot, octopoda_restore, octopoda_share, octopoda_read_shared, octopoda_list_agents, octopoda_agent_stats, octopoda_log_decision.

Works with any MCP client: Claude Desktop, Cursor, VS Code, ChatGPT, and more.

Docker

docker compose up

The dashboard is at http://localhost:7842, the API at http://localhost:8741/docs.

Cloud API

The REST API runs on port 8741 with auto-generated Swagger docs at /docs.

# Remember
curl -X POST http://localhost:8741/v1/agents/my_agent/remember \
  -H "Content-Type: application/json" \
  -d '{"key": "task_result", "value": {"status": "complete"}}'

# Recall
curl http://localhost:8741/v1/agents/my_agent/recall/task_result

Configuration

All configuration via environment variables:

Variable Default Description
SYNRIX_BACKEND sqlite Backend: sqlite, lattice, auto
SYNRIX_DATA_DIR ~/.synrix/data Data directory
SYNRIX_API_PORT 8741 Cloud API port
SYNRIX_DASHBOARD_PORT 7842 Dashboard port
SYNRIX_API_KEY (empty) API key for auth
SYNRIX_LOG_LEVEL INFO Logging level
SYNRIX_GC_ENABLED true Enable garbage collection
SYNRIX_GC_INTERVAL_HOURS 6 GC cycle interval
SYNRIX_GC_METRICS_DAYS 7 Metrics retention (days)
SYNRIX_GC_EVENTS_DAYS 14 Events retention (days)
SYNRIX_GC_AUDIT_DAYS 90 Audit trail retention (days)

Architecture

octopoda (public API)
  └── synrix_runtime (runtime layer)
        ├── api/          — AgentRuntime, Cloud API (FastAPI), MCP Server, shared memory
        ├── core/         — Daemon, heartbeat, recovery, garbage collection
        ├── monitoring/   — Metrics, anomaly detection, audit, performance
        ├── integrations/ — LangChain, CrewAI, AutoGen, OpenAI
        └── dashboard/    — Flask dashboard with SSE real-time streaming
  └── synrix (SDK layer)
        ├── agent_backend — Backend abstraction (SQLite, Lattice, Mock)
        ├── sqlite_client — SQLite implementation
        ├── memory        — High-level Memory API
        └── licensing     — Tier enforcement

Platform Support

Platform Status
Linux x86_64 Ready
Linux ARM64 (Jetson, Pi) Ready
Windows x86_64 Ready
macOS (Apple Silicon) Ready (SQLite backend)

License

  • Python SDK + Runtime: MIT (fully open)
  • Lattice Engine (libsynrix): Proprietary (optional, for high-performance workloads)

Octopoda — Persistent memory for AI agents. Install, import, ship.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

octopoda-1.0.0.tar.gz (251.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

octopoda-1.0.0-py3-none-any.whl (258.6 kB view details)

Uploaded Python 3

File details

Details for the file octopoda-1.0.0.tar.gz.

File metadata

  • Download URL: octopoda-1.0.0.tar.gz
  • Upload date:
  • Size: 251.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for octopoda-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ef71f98a490815bd2e6fb726e0f90eebbc8163fbcb40d09d0aee79e79ce24345
MD5 84e1cf06935c697d542a392729bb8aac
BLAKE2b-256 0c1cf22fcaeea4fcbba943fa5129b3281b3599d34d30459fb5b558b6904ab1a3

See more details on using hashes here.

File details

Details for the file octopoda-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: octopoda-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 258.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for octopoda-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f862c30cef3e90228251697b78d7dc03f0ed1a59724ace131a705ad2e98b23c1
MD5 649ead3cfc482dbd253ad5229bc4b2d8
BLAKE2b-256 e523a2a9586e0bc1222dd67a3ae7b11aadb4f9781da7f375958876717e3fb7aa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page