Skip to content

NeoLi00/memX

Repository files navigation

memX - self-learning, self-maintaining memory for AI agents

English · 中文 · Architecture


memX turns completed work into structured, searchable, self-maintained memory, then injects only the evidence an agent needs for the current query. It connects natively to Codex, Claude Code, and OpenClaw, and reaches any MCP-compatible client through the same local memory layer.

Benchmarks

Suite Scope R@3 success rate
LongMemEval-S Long-context memory retrieval 94.2%
Real engineering cases 30 cases, each with 20+ turns 100%

Architecture

memX coarse architecture

Agent support

Codex logo Codex native hooks, MCP hidden by default
Claude Code logo Claude Code native hooks, MCP hidden by default
OpenClaw logo OpenClaw native + hooks
MCP MCP clients any MCP-compatible client

Quick start

Requirements: Node.js 22.14+ or Node 24. OpenClaw installs require OpenClaw 2026.3.25+. Python 3 is needed only for the default local embedding runtime.

The README commands use the GitHub package spec. A fresh run pulls current GitHub code, so installs do not wait for an npm publish. To use the npm release channel later, replace github:NeoLi00/memX with @neoli00/memx.

Fill in these values before running a command:

  • --llm-provider: the provider adapter memX should call. Choose one of openai-compatible, anthropic, google, or ollama.
  • --llm-base-url: the base URL for that provider. Examples: https://api.openai.com/v1, https://api.anthropic.com/v1, https://generativelanguage.googleapis.com/v1beta, or http://127.0.0.1:11434 for Ollama.
  • --llm-model: the model memX uses for memory compilation, recall planning, and maintenance. Pick a fast, low-cost model with reliable JSON output.
  • --llm-api-key: the API key for the provider. Use --llm-api-key-env PROVIDER_API_KEY if you want the config to reference an environment variable instead of storing plaintext. For local Ollama, omit the key.

The default embedding setup is local sentence-transformers-local with intfloat/multilingual-e5-small. Add --embedding-provider and --embedding-model only when you want to override that default. Use --dry-run to preview the files and exec-form commands before writing anything.

For Codex and Claude Code, native hooks are the default lifecycle path for automatic recall and turn capture. Their MCP server uses --mcp-tools none by default, so no memX tools are exposed to the agent; this prevents duplicate recall/write and prevents the agent from reading audit data as a side channel. Use --mcp-tools full only when you intentionally want the agent to see the complete MCP tool set. Generic MCP quickstart stays full by default because it has no native lifecycle hooks. Default native memories are also host-scoped, so Codex and Claude Code do not share the same local database unless you deliberately override the database path and actor settings.

Claude Code

This installs the shared memX config, a local Claude Code plugin marketplace, native lifecycle hooks, and the plugin-provided MCP server in one run.

npx -y -p github:NeoLi00/memX memx quickstart claude-code \
  --llm-provider openai-compatible \
  --llm-base-url https://llm.example.com/v1 \
  --llm-model fast-memory-model \
  --llm-api-key sk-your-provider-key

Codex

This installs the shared memX config, Codex MCP config, and native lifecycle hooks in one run.

npx -y -p github:NeoLi00/memX memx quickstart codex \
  --llm-provider openai-compatible \
  --llm-base-url https://llm.example.com/v1 \
  --llm-model fast-memory-model \
  --llm-api-key sk-your-provider-key

OpenClaw

npx -y -p github:NeoLi00/memX memx quickstart openclaw \
  --llm-provider openai-compatible \
  --llm-base-url https://llm.example.com/v1 \
  --llm-model fast-memory-model \
  --llm-api-key sk-your-provider-key

Generic MCP

npx -y -p github:NeoLi00/memX memx quickstart mcp \
  --llm-provider openai-compatible \
  --llm-base-url https://llm.example.com/v1 \
  --llm-model fast-memory-model \
  --llm-api-key sk-your-provider-key

For Claude Code, Codex, and generic MCP clients, start the shared local service after configuration:

npx -y -p github:NeoLi00/memX memx-server

Clean uninstall

Each uninstall command backs up the target config first, then removes only memX-owned entries. Claude Code and Codex cleanup also uninstall the native plugin, remove the local marketplace, and delete the generated marketplace snapshot. OpenClaw cleanup also removes stale memx / memory-memx slot, allow, and entry references, then best-effort uninstalls both current and legacy plugin files if OpenClaw can still see them.

npx -y -p github:NeoLi00/memX memx uninstall openclaw
npx -y -p github:NeoLi00/memX memx uninstall codex
npx -y -p github:NeoLi00/memX memx uninstall claude-code

Add --dry-run to preview, or --config /path/to/config when using a non-default config path.

What memX can do

  • Remember work over time: project decisions, user preferences, task status, long source segments, and raw evidence stay linked to the original turn.
  • Connect related things: projects, repos, tools, files, resources, blockers, and outcomes can be represented as entities and graph edges.
  • Learn collaboration patterns: repeated evidence can become reusable guidance without losing its supporting sources.
  • Maintain itself: corrections can supersede older facts, stable evidence can be promoted, and stale task state stops competing with current state.
  • Recall compact evidence: facts, events, state, chunks, relationships, resources, and learned patterns are searched together, then injected as small evidence lines.

About

memX: self-learning, self-maintaining memory for AI agents; native support for claude code, codex, and openclaw

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors