Generated banner for XMemo: Memory OS for AI Agents
Generated logo for XMemo: Memory OS for AI Agents

XMemo: Memory OS for AI Agents

Memory serverOfficial XMemo project

Created by Yonro

Published in yonro/memory-os-cli. Publisher page

13 GitHub stars

What it is

Official XMemo client: CLI, MCP setup and stdio server for XMemo, the user-owned Memory OS for AI agents.
— the description by Yonro

AutoGineer overview, from the brain’s own files

XMemo is a memory operating layer designed to provide AI agents with persistent, governed, and portable memory. It enables agents to maintain session continuity, track project-scoped facts, and manage durable decisions across different AI tools. By acting as a unified control plane, XMemo allows users to manage memory configurations, agent behavior profiles, and skill installations through a consistent CLI. It supports multiple access surfaces, including the Model Context Protocol (MCP), a native REST API, and direct integrations with agent platforms like OpenClaw and Hermes, ensuring that memory remains user-owned and accessible across various AI environments.

How it works

Memory model: Not stated

AutoGineer overview, from the brain’s own files

The system functions as a memory server that connects AI clients to a persistent storage layer. Users interact with it primarily through the xmemo CLI, which handles authentication, diagnostics, and the installation of MCP servers or native plugins. The CLI uses a declarative registry to configure different AI clients, ensuring that memory settings are applied consistently. It supports both hosted Streamable HTTP MCP endpoints and local stdio MCP servers, allowing agents to read and write memory records, recall project context, and manage agent identity and provenance without embedding sensitive credentials directly into project files.

Folders
FolderRoleFiles
.githubagent-config7
binscripts2
docsdocs7
packagessource-code2
scriptsscripts7
skillsagent-instructions36
srcsource-code73
testtests61

Requirements

Runtimes: Node.js >=20.0.0

API keys (by name): MEMORY_OS_MCP_TOKEN, NPM_TOKEN, XMEMO_TOKEN

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)

Set it up

  1. This brain runs code automatically: 4 scripts. Review README.md, skills/install.ps1, skills/install.sh before opening the folder in Claude Code. No step below turns a hook on for you.

    • README.md: # $env:XMEMO_SKILL_AGENT="claude-code"; irm https://xmemo.dev/skill/install.ps1 | iex
    • README.md: # $env:XMEMO_SKILL_AGENT="codex"; irm https://xmemo.dev/skill/install.ps1 | iex
    • skills/install.ps1: pwsh skills/install.ps1
    • skills/install.sh: sh skills/install.sh
  2. The author documents 2 ways to start XMemo. Choose one; AutoGineer does not pick a default.

  3. Option 1 of 2Add XMemo to .mcp.json:

    {
      "mcpServers": {
        "XMemo": {
          "type": "http",
          "url": "https://xmemo.dev/mcp"
        }
      }
    }
    
  4. Or add it with the Claude Code CLI:

    claude mcp add --transport http XMemo https://xmemo.dev/mcp
  5. Your data is sent to xmemo.dev.

  6. Option 2 of 2Add XMemo to .mcp.json:

    {
      "mcpServers": {
        "XMemo": {
          "command": "npx",
          "args": [
            "-y",
            "@xmemo/[email protected]",
            "xmemo-mcp"
          ]
        }
      }
    }
    
  7. Or add it with the Claude Code CLI:

    claude mcp add XMemo -- npx -y @xmemo/[email protected] xmemo-mcp
  8. AutoGineer scanned exactly what this command runs: @xmemo/[email protected], fetched by its integrity digest and pinned to the version AutoGineer scanned, with no third-party dependency.

  9. Add client to .mcp.json:

    {
      "mcpServers": {
        "client": {
          "command": "npx",
          "args": [
            "-y",
            "@xmemo/[email protected]"
          ]
        }
      }
    }
    
  10. Or add it with the Claude Code CLI:

    claude mcp add client -- npx -y @xmemo/[email protected]
  11. AutoGineer scanned exactly what this command runs: @xmemo/[email protected], fetched by its integrity digest and pinned to the version AutoGineer scanned, with no third-party dependency.

  12. The author documents 2 ways to start xmemo. Choose one; AutoGineer does not pick a default.

  13. Option 1 of 2Add xmemo to .mcp.json:

    {
      "mcpServers": {
        "xmemo": {
          "type": "http",
          "url": "https://xmemo.dev/mcp"
        }
      }
    }
    
  14. Or add it with the Claude Code CLI:

    claude mcp add --transport http xmemo https://xmemo.dev/mcp
  15. Your data is sent to xmemo.dev.

  16. Option 2 of 2Add xmemo to .mcp.json:

    {
      "mcpServers": {
        "xmemo": {
          "command": "npx",
          "args": [
            "-y",
            "@xmemo/[email protected]",
            "mcp",
            "serve"
          ],
          "env": {
            "XMEMO_KEY": "${XMEMO_KEY}",
            "XMEMO_URL": "${XMEMO_URL}"
          }
        }
      }
    }
    
  17. Or add it with the Claude Code CLI:

    claude mcp add xmemo -e XMEMO_KEY="${XMEMO_KEY}" -e XMEMO_URL="${XMEMO_URL}" -- npx -y @xmemo/[email protected] mcp serve
  18. AutoGineer scanned exactly what this command runs: @xmemo/[email protected], fetched by its integrity digest and pinned to the version AutoGineer scanned, with no third-party dependency.

  19. Created by Yonro. Published in yonro/memory-os-cli. Licence: MIT License.

Usage

AutoGineer overview, from the brain’s own files

  • Centralized management of AI agent memory configurations
  • Enabling persistent context across different AI agent sessions
  • Automating the setup of MCP servers for various AI tools
  • Tracking project-specific TODOs and decisions
  • Managing agent identity and provenance attribution
  • Installing and updating agent skills and behavior profiles
“xmemo setup cursor”
Configures the Cursor editor to use XMemo for persistent memory and behavior steering.
“xmemo skill install --client openclaw”
Installs the verified XMemo skill into the OpenClaw agent environment.
“xmemo mcp serve”
Starts the local stdio MCP server to provide memory tools to a connected AI agent.
“xmemo doctor”
Runs a diagnostic check to verify the health and configuration of the XMemo installation.

Documentation by Yonro

XMemo: Memory OS for AI Agents

Image: XMemo logo

Image: CI Image: npm version Image: Skill version Image: Node.js version Image: MIT license Image: MCP compatible Image: MCP Badge Image: Glama quality score

XMemo is a user-owned Memory OS for AI agents: persistent memory, project context and session continuity with agent identity, provenance and governed access, shared across AI clients through MCP, the CLI and a public REST API surface.

English · 简体中文 | Documentation · Hosted MCP

Quick start · What this repo contains · Beyond MCP · Integrations · Connection modes · Plugins · Commands · Versioning · Security


What this repository contains

  • @xmemo/client: the official xmemo CLI for setup, diagnostics, behavior profiles, and memory commands.

  • MCP distribution: hosted Streamable HTTP configuration (https://xmemo.dev/mcp) and the local xmemo-mcp stdio server.

  • XMemo Skill & native integrations: skills/xmemo for agent platforms and the native plugin index (src/plugins/index.json).

  • Marketplace and registry metadata: canonical descriptors for MCP Registry (server.json), LobeHub (lhm.plugin.json), and AI agents (context7.json).

The hosted service implementation is private.

Beyond MCP

MCP is one access surface of XMemo, not the product boundary. XMemo provides a persistent, governed memory operating layer across AI tools and agents:

Preview: Cloud Skills; Dream (off by default); Teams (Business plan not yet available). Knowledge Bases are available where enabled for the account.

XMemo CLI

@xmemo/client is the official control plane for connecting AI tools to XMemo. It makes setup repeatable, keeps credentials out of project files, and gives every supported client a consistent path to durable, user-owned memory.

The package is deliberately small: the CLI runtime, safe client configuration, behavior profiles, XMemo skills, and marketplace metadata. Server code, databases, deployment files, logs, and internal operations remain outside the npm distribution.

Architecture

Image: XMemo CLI architecture

Package@xmemo/client
Primary commandxmemo (alias: client)
Local MCP commandxmemo-mcp
Hosted MCPhttps://xmemo.dev/mcp
RuntimeNode.js 20 or later
LicenseMIT

Why XMemo CLI

  • One control plane — login, diagnostics, configuration, profiles, updates, and smoke checks share one predictable interface.

  • Private by design — generated project configuration references a credential; it never embeds the credential value.

  • Native where it matters — OpenClaw and Hermes use dedicated memory integrations instead of duplicating the same capability through MCP.

  • Portable everywhere else — hosted Streamable HTTP MCP and local stdio cover modern editors, terminals, and agent runtimes.

  • Safe automation — supported setup and removal paths offer preview, dry-run, or explicit confirmation before making changes.

  • Small supply-chain surface — the npm package is governed by an explicit file allowlist and release provenance.

Quick start

Guided onboarding (xmemo init)

For an interactive first-run experience across account authentication, detected clients, agent behavior instructions, MCP server setup, skills, and plugins, run:

npm install -g @xmemo/client
xmemo init

Flags and options:

  • xmemo init --dry-run: View the full onboarding plan without performing network calls or disk writes.

  • xmemo init --yes: Automatically accept and apply all onboarding steps without interactive prompts.

  • xmemo init --json: Emit structured JSON for the plan or result envelope.

  • xmemo init --client <id>...: Restrict onboarding to specific clients (e.g., cursor, codex, claude-code).

  • xmemo start: Alias for xmemo init with quick-start walkthrough steps.

Global installation exposes xmemo as the primary command, and also provides client and memory-os as aliases.

Manual step-by-step setup
xmemo account login
xmemo doctor
xmemo setup codex
xmemo status

Replace codex with your client. Preview a configuration before writing it:

xmemo setup cursor --dry-run
Running with npx

You can also run any CLI command directly without a global install via npx @xmemo/client <command>:

# Check version or health
npx @xmemo/client --version
npx @xmemo/client doctor

# Guided onboarding without global install
npx @xmemo/client init

# Install skill or run MCP stdio server
npx @xmemo/client skill install
npx @xmemo/client mcp serve

Image: XMemo CLI setup workflow

TIP
Start with xmemo init (or xmemo account login, xmemo doctor, and xmemo setup <client>). Hand-edit MCP configuration only when a client has no verified setup path.

How the commands fit together

The XMemo CLI architecture is built on four core design principles:

1. Unified Resource Grammar (xmemo <resource> <action>)

Every integration component is a first-class resource with predictable lifecycle actions:

ResourceScopeActionsExamples
mcpMCP server connection configurationinstall, remove, statusxmemo mcp install codex, xmemo mcp status
pluginHost-native extension packagesinstall, remove, status, list, infoxmemo plugin install gemini-cli, xmemo plugin list
skillAgent skill scripts & documentationinstall, remove, status, updatexmemo skill install --client openclaw
profileMarkdown behavior steering instructionsinstall, remove, status, showxmemo profile install cursor
  • Composite commands: xmemo setup [<client>...], xmemo uninstall [<client>...], and xmemo status [<client>] orchestrate these resources in a single step according to the client's declarative profile.

  • Backward-compatible aliases: Familiar commands such as xmemo mcp add (alias for mcp install), xmemo profile uninstall (alias for profile remove), and xmemo skill uninstall (alias for skill remove) remain fully functional and print a helpful one-line hint in interactive terminals.

2. Unified Target Resolver

When no client is explicitly passed, the CLI uses a deterministic three-tier precedence resolution model:

  1. Explicit flag or argument: --client <id>, positional client argument, or --all.

  2. Calling agent environment: Automatically identifies the calling agent runtime when running inside an agent session (e.g., CLAUDECODE / CLAUDE_CODE_ENTRYPOINT maps to claude-code, and CODEX_THREAD_ID / CODEX_SESSION_ID maps to codex).

  3. Detected installed clients: Inspects local configuration paths and markers. If exactly one matching client is found, it is automatically selected; if multiple clients are found in interactive mode, an interactive picker is presented. The CLI never silently writes configuration to arbitrary unverified paths.

3. Plan, Confirm Once, Apply (PlanRunner)

Mutating commands follow a strict, atomic execution pattern:

  1. Build Plan: Assemble an ordered sequence of actions across resources (e.g. plugin install followed by skill configuration).

  2. Preview: Print the entire plan (including modified paths, commands, and unified diffs) to the terminal.

  3. Confirm Once: Prompt [y/N] exactly once for the entire sequence. Re-running with --yes or -y bypasses the prompt; --dry-run displays the preview without mutation.

  4. Apply Sequentially: Steps run in dependency order, stopping immediately upon first failure. Re-running an already configured client detects that all components are up to date and reports Nothing to do.

4. Declarative Client Registry

All client configurations, recipes, and capabilities are declared centrally in src/clients/registry.js. Command implementations are purely generic orchestrators with zero hardcoded client ID strings. Platforms can also be added dynamically at runtime via registerClient().

Supported integrations

ClientRecommended commandConnection
Codexxmemo setup codexHosted MCP + behavior profile
Cursorxmemo setup cursorHosted MCP + Bearer Token + behavior profile
Copilot CLIxmemo setup copilotLocal authenticated proxy
Gemini CLIxmemo setup geminiHosted MCP + OAuth
Antigravityxmemo setup antigravityHosted MCP + OAuth
OpenClawxmemo setup openclawNative memory plugin + Skill
Hermesxmemo setup hermesNative memory provider
Kiroxmemo setup kiroNative HTTP OAuth; --auth key for API Key
Grokxmemo setup grokHosted MCP
Other MCP clientsxmemo mcp config --client genericGenerated template

The client registry also covers Devin Desktop (formerly Windsurf), Cline, Continue, Claude Desktop, Claude Code, Kimi Code, Muse Code, Zed, JetBrains, OpenCode, Qwen, Trae, and compatible MCP hosts. Run xmemo mcp list for the current machine-readable catalog.

For VS Code users looking for the dedicated editor extension, see the yonro/xmemo-vscode repository. For Cursor users looking for the dedicated plugin, see the yonro/xmemo-cursor-plugin repository. For Claude users looking for the dedicated plugin, see the yonro/xmemo-claude-plugin repository.

Connection modes

Hosted MCP

The recommended universal path is the XMemo Streamable HTTP endpoint:

https://xmemo.dev/mcp

OAuth-capable clients complete authentication in the browser. Other clients reference XMEMO_KEY without copying its value into repository files.

Generic configuration shape:

{
  "mcpServers": {
    "XMemo": {
      "type": "streamable-http",
      "url": "https://xmemo.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${XMEMO_KEY}"
      }
    }
  }
}

Client configuration keys differ; prefer xmemo setup <client> over copying this generic example directly.

Local stdio MCP

xmemo-mcp is the dedicated stdio entry point for marketplaces and clients that launch a local process. Safe discovery exposes 20 tools, three prompts, and two documentation resources without a token. Tool execution still requires authentication.

After a global installation:

xmemo-mcp

Install-free MCP configuration:

{
  "mcpServers": {
    "XMemo": {
      "command": "npx",
      "args": [
        "-y",
        "--package",
        "@xmemo/client@latest",
        "xmemo-mcp"
      ]
    }
  }
}

xmemo mcp serve is equivalent when the CLI is already installed.

Native integrations

OpenClaw and Hermes have dedicated memory providers. Their default setup avoids installing a second, duplicate XMemo tool surface:

  • OpenClaw: installs the pinned plugin clawhub:@xmemo/[email protected] without --force by default. Re-running setup gracefully detects existing installations; use --force to reinstall or overwrite.

  • Hermes: installs the pinned provider package hermes-xmemo==1.1.3 via pip install without -U.

  • Every install command prints the exact command before executing. Use --dry-run to preview actions without installing.

# Native OpenClaw plugin (clawhub:@xmemo/[email protected]) + XMemo Skill
xmemo setup openclaw

# Native Hermes memory provider (hermes-xmemo==1.1.3)
xmemo setup hermes

Add hosted MCP only when an explicit fallback is desired:

xmemo setup openclaw --with-mcp
xmemo setup hermes --with-mcp

Use --mcp-only to skip the native integration and install only the hosted MCP fallback.

XMemo Skill install

The CLI installs the verified XMemo Skill locally into agent skill folders or a target directory:

  • Installs into client skill directories:

    • Claude Code: ~/.claude/skills/xmemo-memory (global) or .claude/skills/xmemo-memory (project with --project)

    • Codex: ~/.codex/skills/xmemo-memory

    • OpenClaw: ~/.openclaw/skills/xmemo-memory

    • All other 21 clients remain null until officially documented.

  • Defaults to the pinned @xmemo/[email protected] release from npm and verifies tarball integrity (sha512 SRI) before extraction.

  • Override version with --version <semver> or explicitly opt into the latest release via --version latest.

  • For air-gapped or offline installations, install from a local directory or packed tarball with --from <dir|tgz> (optional --integrity <sha512>).

  • Manage client skills with skill status, skill update, and skill remove.

  • Preview actions without writing files using --dry-run.

  • Safety & Consent:

    • Interactive install prompts [y/N] before writing (Enter, EOF, or empty input cancels) unless --yes is specified.

    • Existing installs refuse overwrite without --force; when --force is used, a backup is created in ~/.xmemo/backups/skills/<client>/ (outside the agent skills directory).

    • skill remove only removes verified XMemo skill directories, refusing foreign folders, and reports the preserved backup location.

# Install to agent skill folder (Claude Code global, Codex, or OpenClaw)
xmemo skill install --client claude-code
xmemo skill install --client codex
xmemo skill install --client openclaw

# Install OpenClaw skill globally (shared ~/.openclaw/skills)
xmemo skill install --client openclaw --global

# Install to project-level skill folder (Claude Code project: .claude/skills/xmemo-memory)
xmemo skill install --client claude-code --project

# Install for all detected supported clients
xmemo skill install --all

# Automatically resolve detected client(s) (or specify --client <id>)
xmemo skill install

# Install into a custom directory path
xmemo skill install --dir ./custom-skill-dir

# Non-interactive install (skips [y/N] prompt)
xmemo skill install --client codex --yes

# Replace existing installation (creates backup in ~/.xmemo/backups/skills/<client>/)
xmemo skill install --client codex --force --yes

# Update alias (equivalent to skill install --force)
xmemo skill update --client codex --yes

# Inspect installation status across clients
xmemo skill status
xmemo skill status --client codex
xmemo skill status --all --json

# Remove installed skill from an agent folder (refuses non-XMemo folders)
xmemo skill remove --client codex --yes
xmemo skill remove --client claude-code --project --yes

# Dry run preview
xmemo skill install --client codex --dry-run
Standalone curl & PowerShell installers

For environments without Node.js or @xmemo/client, XMemo provides standalone HTTPS installers at https://xmemo.dev/skill/install (POSIX sh) and https://xmemo.dev/skill/install.ps1 (PowerShell).

The installer is agent-aware and automatically resolves the correct target directory for your active agent:

# Claude Code: installs to ~/.claude/skills/xmemo-memory
curl -fsSL https://xmemo.dev/skill/install | XMEMO_SKILL_AGENT=claude-code sh

# Codex: installs to ${CODEX_HOME:-$HOME/.codex}/skills/xmemo-memory
curl -fsSL https://xmemo.dev/skill/install | XMEMO_SKILL_AGENT=codex sh

# OpenClaw: install via OpenClaw CLI
openclaw skills install @xmemo/xmemo --version 1.1.48

# Windows (PowerShell):
# $env:XMEMO_SKILL_AGENT="claude-code"; irm https://xmemo.dev/skill/install.ps1 | iex
# $env:XMEMO_SKILL_AGENT="codex"; irm https://xmemo.dev/skill/install.ps1 | iex

TIP
Prompt for your AI Agent (copy and paste directly into Claude Code, Codex, or another agent):

Install the standalone XMemo Skill into your skills directory: run the installer from https://xmemo.dev/skill/install (on Windows, https://xmemo.dev/skill/install.ps1) with XMEMO_SKILL_DIR set to your skills directory plus /xmemo-memory. Run the doctor command it prints to verify the installation, then reload your skills and follow the Skill's first-run steps. Follow your normal safety checks and do not use elevated privileges.

Target resolution precedence (first match wins):

  1. XMEMO_SKILL_DIR: Installs to the specified directory.

  2. XMEMO_SKILL_AGENT=claude-code|codex: Installs to the explicit agent's skills directory (openclaw redirects to openclaw skills install xmemo).

  3. Auto-detection: Automatically detects Claude Code (CLAUDECODE=1) or Codex (CODEX_THREAD_ID, CODEX_SESSION_ID, or CODEX_HOME).

  4. Home directory discovery: If only ~/.claude or only ~/.codex exists in HOME, selects that agent.

  5. Fallback: Installs to ./xmemo-skill with a warning on stderr explaining that AI agents will not automatically load the skill from this directory.

Safety & Replacement:

  • Refuses to overwrite existing installations unless XMEMO_SKILL_FORCE=1 is provided.

  • When replacing, moves the previous installation to ~/.xmemo/backups/skills/<agent>/<name>-<timestamp> (safely outside agent skill search paths).

  • After installation, prints the absolute install path, the verification doctor command (node <path>/scripts/xmemo-skill.mjs doctor --anonymous), and a prompt to reload your agent.

Agent plugins

The CLI provides a curated, static index of verified agent plugins shipped directly in @xmemo/client. Each entry contains a pinned version, release tag, and exact Git commit SHA resolved at release time.

ℹ️ Strict Separation Rule: xmemo plugin installs agent plugins only (e.g. @xmemo/openclaw-memory). Skills are installed exclusively via xmemo skill install (e.g. @xmemo/xmemo).

Plugin IDPlatform / AgentKindStatusIntegration
openclawOpenClawnative-cliStableopenclaw plugins install clawhub:@xmemo/[email protected] (auto-prompts update if already installed)
hermesHermes Agentnative-cliStablehermes plugins install xmemo (fallback: python -m pip install hermes-xmemo==1.1.3)
claude-codeClaude Codegit-dirPreviewPinned Git clone verified against commit 5d0d280 (defaults to ~/.xmemo/plugins/claude-code)
cursorCursormarketplacePreviewCursor Marketplace plugin
gemini-cliGemini CLInative-cliPreviewgemini extensions install https://github.com/yonro/xmemo-gemini-cli --ref 39e25b185b5157490d1683e4ca8c5c5fb1312a88
kiroKiromanualPreviewSteering rules & Power integration
vscodeVS CodemanualPreviewVS Code extension manual steps (pending marketplace publication)
deepseek-dshDeepSeek DSHnative-cliPreviewdsh plugin --profile <name> add dsh-xmemo (requires --profile)
chatgpt-codexChatGPT / CodexmarketplacePreviewChatGPT & Codex extension
cindyCindymanualPreviewNative agent memory integration
codexCodexmcpPreviewDedicated MCP configuration (xmemo setup codex)

Commands:

# List available plugins (excluding legacy entries)
xmemo plugin list

# Include legacy plugins
xmemo plugin list --all

# View plugin details and verification metadata
xmemo plugin info <id>

# Preview install plan without executing
xmemo plugin install <id> --dry-run

# Install with explicit confirmation (prompts [y/N] by default)
xmemo plugin install <id>

# Non-interactive install
xmemo plugin install <id> --yes

# Specify profile for deepseek-dsh
xmemo plugin install deepseek-dsh --profile default --yes

# Specify custom target directory for git-dir plugins
xmemo plugin install claude-code --yes --dir ~/.custom-plugins/claude-code

# Open plugin documentation or marketplace in browser
xmemo plugin install <id> --open

# Check installation status
xmemo plugin status [<id>]

Security & Consent:

  • Only verified plugin IDs from the static index are accepted; arbitrary URLs and unknown IDs are rejected with exit code 2.

  • Interactive install always displays the execution plan and requires explicit consent ([y/N], defaulting to Cancel on empty input or EOF).

  • --dry-run guarantees zero disk writes and zero spawned processes.

  • Marketplace and manual plugins display exact step-by-step instructions from the plugin repository during plugin install <id> (pass --open to open docs in browser).

  • Git directory plugins (claude-code) clone into a stable per-user location (~/.xmemo/plugins/<id>), support --dir <path> override, verify the checked-out HEAD commit byte-for-byte, and output the exact load command (claude --plugin-dir <dir>). On commit mismatch, the directory is immediately removed.

  • Plugin child processes run in an isolated environment with authentication tokens (XMEMO_KEY, MEMORY_OS_MCP_TOKEN, XMEMO_TOKEN) scrubbed from argv and env.

Account and authentication

Account commands

Manage local authentication, stored credentials, and tokens through the account command family:

# Browser device login
xmemo account login

# Check active authentication state
xmemo account status

# Optional remote verification
xmemo account status --verify

# Check or store token credentials
xmemo account token status
printf '%s\n' 'your-token' | xmemo account token add --from-stdin --allow-plaintext

# Logout: remove locally stored XMemo credentials owned by the CLI
xmemo account logout

# Non-interactive logout
xmemo account logout --yes
Safe account logout (xmemo account logout)
  • Target removal: Removes only the user-scoped credential file owned by the CLI (~/.config/xmemo/credentials.json or OS config root).

  • Explicit confirmation: Displays the target credential path and prompts Proceed with logout? [y/N] (defaulting to No) unless --yes is specified.

  • Client & Agent Isolation: Preserves all client MCP configuration files (Cursor, Claude, VS Code, etc.) and agent-managed OAuth sessions.

  • Privacy: Never displays or leaks token values in stdout, stderr, or JSON envelopes.

  • Scripting: Requires --yes when --json is specified to prevent accidental headless logout.

Legacy authentication aliases

The legacy commands remain fully supported as backward-compatible aliases:

  • xmemo login (alias for xmemo account login)

  • xmemo auth status (alias for xmemo account status)

  • xmemo auth-status (alias for xmemo account status)

  • xmemo token <status|add|set> (alias for xmemo account token <status|add|set>)

In interactive human mode, legacy aliases emit a one-line deprecation hint to stderr. When run with --json or --help, the deprecation hint is suppressed.

Existing token import

Pipe an existing token through stdin so it does not appear in command history:

printf '%s\n' 'your-token' | xmemo account token add --from-stdin --allow-plaintext
xmemo account token status --verify

PowerShell:

$xmemoToken = Read-Host "XMemo token"
$xmemoToken | xmemo account token add --from-stdin --allow-plaintext
Remove-Variable xmemoToken

For CI and managed workstations, expose XMEMO_KEY through the platform's secret manager. Do not commit it to .env, MCP configuration, logs, issue reports, or chat transcripts.

Universal --json output

Every command and subcommand supports --json for predictable scripting:

  • On success: Outputs valid JSON on stdout with exit code 0.

  • On error: Outputs a structured JSON error envelope { schemaVersion, ok: false, command, data: null, error: { code, message, ... } } on stdout with a non-zero exit code (e.g. exit code 2 for usage/input errors, 1 for internal/network errors).

Command reference

<details> <summary><strong>1. Get started</strong></summary>

xmemo init [--client <id>...] [--yes] [--dry-run] [--json]

# Backward-compatible alias
xmemo start [--json]

</details>

<details> <summary><strong>2. Connect agents</strong></summary>

# High-level client configuration
xmemo setup <client> [--url <url>] [--no-profile] [--json] [--force]
xmemo setup <client> --dry-run
xmemo setup --all [--write] [--profile] [--force]

# Direct MCP server configuration
xmemo mcp serve
xmemo mcp list
xmemo mcp config --client <client-id> [--base-url <url>] [--json]
xmemo mcp add <client-id> [--write] [--config <path>]
xmemo mcp proxy [--port 8765] [--base-url <url>]

# Workspace behavior profiles
xmemo profile install <client-id> [--target <path>] [--dry-run]
xmemo profile show <client-id> [--target <path>] [--json]
xmemo profile status <client-id> [--target <path>] [--json]
xmemo profile uninstall <client-id> [--target <path>] [--yes]

</details>

<details> <summary><strong>3. Skill</strong></summary>

# Install verified pinned skill into agent skill folders
xmemo skill install [--client <id>|--all] [--project] [--dir <path>] [--dry-run] [--yes] [--force] [--json]

# Inspect installation status across clients
xmemo skill status [--client <id>|--all] [--json]

# Remove installed skill from an agent folder (refuses non-XMemo folders)
xmemo skill remove --client <id> [--project] [--yes] [--json]

# Update skill installation (creates backup in ~/.xmemo/backups/skills/<client>/)
xmemo skill update [--client <id>|--all] [--yes] [--json]

</details>

<details> <summary><strong>4. Plugins</strong></summary>

xmemo plugin list [--all] [--json]
xmemo plugin info <id> [--json]
xmemo plugin install <id> [--dry-run] [--yes] [--open] [--dir <path>] [--json]
xmemo plugin status [<id>] [--all] [--json]

</details>

<details> <summary><strong>5. Memory</strong></summary>

xmemo memory add --content "Remember this" --path notes/example --json
xmemo memory search "example" --json
xmemo memory read <id> --json
xmemo memory list [--path-prefix <prefix>] [--project <name>] [--query <text>] [--type <type>] [--all] [--limit <n>] [--offset <n>] --json
xmemo memory delete <id> [--reason <text>] [--yes] --json
xmemo memory restore <id> [--yes] --json
xmemo memory import --file memories.jsonl [--dry-run] [--idempotency-key <key>] [--yes] --json
xmemo memory ledger-delete --id <transaction-uuid> --yes --json
xmemo context recall "resume this task" --include-knowledge --json
xmemo state save --current-task "ship the client" --next-action "run tests" --json
xmemo state restore --json
xmemo restart snapshot --json
xmemo restart restore --snapshot-id <snapshot-id> --json

xmemo knowledge add --base <base-id> --file ./guide.pdf --title "Guide" --json
xmemo knowledge search "setup" --base <base-id> --json
xmemo knowledge read <item-id> --json > knowledge-view.json
xmemo knowledge update <item-id> --text "Updated" --from knowledge-view.json --publish --yes --json

xmemo dream preview --wait --json
xmemo dream show <run-id> --json > dream-view.json
xmemo dream apply <run-id> --item <candidate-id> --from dream-view.json --yes --json

xmemo cloud-skill list --json
xmemo cloud-skill add --file ./SKILL.md --json
xmemo cloud-skill show <skill-id> --json > skill-view.json
xmemo cloud-skill update <skill-id> --from skill-view.json --file ./SKILL.md --json
xmemo cloud-skill run <skill-id> --input ./args.json --from skill-view.json --yes --json

All direct service commands support a single machine-readable JSON envelope. Knowledge update, Dream apply, and Cloud Skill run use the readReceipt from a saved read/show result so the CLI never silently substitutes a newer revision. Set XMEMO_KNOWLEDGE_BASE_ID for a non-interactive default knowledge base. For a long knowledge item, continue the same fixed revision with xmemo knowledge read <item-id> --from knowledge-view.json --offset <n>. Run xmemo doctor --services --json for read-only Knowledge, Dream, and Cloud Skill diagnostics; it deliberately does not claim write or production readiness.

Cloud Skill add/update already target the safe create-only and content-CAS contracts. They fail with SERVER_CONTRACT_REQUIRED on older services and do not fall back to legacy upsert routes. Binary Knowledge item updates similarly require a new version of the same server Document; use --document and --document-version after that version has been uploaded.

The normal login scopes remain unchanged. Request additional service scopes explicitly when needed, for example:

xmemo login --scopes memory:read,memory:write,memory:restore,knowledge:read,knowledge:write

</details>

<details> <summary><strong>6. Account</strong></summary>

xmemo account login [--base-url <url>] [--allow-plaintext] [--json]
xmemo account logout [--yes] [--json]
xmemo account status [--verify] [--base-url <url>] [--json]
xmemo account token status [--verify] [--json]
xmemo account token add --from-stdin --allow-plaintext [--json]
xmemo account token set --from-stdin [--allow-plaintext] [--json]

# Backward-compatible aliases (emit one-line deprecation note on stderr in human mode)
xmemo login
xmemo auth status
xmemo auth-status
xmemo token status
xmemo token add --from-stdin --allow-plaintext

</details>

<details> <summary><strong>7. Maintenance</strong></summary>

# Diagnostics and environment validation
xmemo doctor [--services [memory,dream,knowledge,cloud-skill]] [--base-url <url>] [--json]
xmemo doctor --discovery [--base-url <url>] [--json]
xmemo doctor --client <client-id> [--config <path>] [--smoke] [--auth oauth|key] [--fix] [--json]

# Probes, updates, and environment
xmemo status [--url <url>] [--json]
xmemo update [--dry-run] [--json]
xmemo env [--example] [--shell bash|powershell|cmd] [--json]
xmemo privacy [--json]
xmemo --version [--json]

# Safe removal (only XMemo-owned entries and profiles are removed)
xmemo uninstall <client> --dry-run
xmemo uninstall <client> --yes
xmemo uninstall --all --dry-run
xmemo uninstall --all --yes --profiles

# Backward-compatible aliases (emit one-line deprecation note on stderr in human mode)
xmemo smoke --client codex
xmemo discovery show

</details>

Run xmemo help or xmemo <command> --help for complete, version-matched options.

Client notes

<details> <summary><strong>Codex and Cursor</strong></summary>

xmemo setup codex
xmemo doctor --client codex --smoke

xmemo setup cursor

Both setup paths write a user-scoped MCP entry and can install a marker-scoped memory behavior profile. Use --no-profile to configure MCP only. Cursor's public marketplace plugin remains OAuth-first and contains no bearer-token configuration.

</details>

<details> <summary><strong>Gemini CLI and Antigravity</strong></summary>

xmemo setup gemini
xmemo setup antigravity

These clients use hosted MCP OAuth. Their generated configuration carries no token value; restart the client and complete the browser login on first use.

</details>

<details> <summary><strong>OpenClaw</strong></summary>

xmemo login
xmemo setup openclaw
openclaw xmemo status

The setup command installs or updates @xmemo/openclaw-memory, installs the XMemo Skill, reuses the shared XMemo credential, and checks plugin status.

</details>

<details> <summary><strong>Hermes</strong></summary>

xmemo login
xmemo setup hermes

The setup command installs or updates hermes-xmemo, configures the native provider, and synchronizes the user-scoped XMemo credential with Hermes.

</details>

<details> <summary><strong>Copilot CLI</strong></summary>

xmemo login
xmemo setup copilot
xmemo mcp proxy

Copilot CLI receives a local proxy entry. The proxy reads the credential from user-scoped storage, adds identity metadata, and forwards requests to hosted MCP without writing secrets into Copilot configuration.

</details>

Security by default

ControlDefault behavior
TelemetryNo CLI analytics or usage telemetry
Credential outputToken values are never printed
Project filesGenerated configuration references secrets; it does not embed them
Discoverydoctor, discovery show, and public capability discovery send no token
IdentityOne stable, non-secret agent-instance ID is stored outside git
WritesSetup supports preview/dry-run; broad removal requires confirmation
Local credential storageInteractive login asks first; non-interactive writes require --allow-plaintext; stored tokens are unencrypted
Package contentsAn npm files allowlist excludes tests, operations, logs, and server code

Credential precedence and compatibility aliases are documented by:

xmemo env example --shell bash
xmemo privacy

For private or self-hosted deployments, set XMEMO_URL or pass --url <service-url>. MEMORY_OS_URL remains a compatibility alias.

Package boundary

Published to npm:

bin/
docs/assets/
src/
README.md
LICENSE

Not published:

.github/
docs/analysis/
docs/architecture/
docs/design/
test/
coverage/
server code
database migrations
deployment files
logs and local state

Development

npm install
npm run release:check
npm run lint
npm test
npm run pack:dry-run

Before proposing a release, run the complete package gate:

npm run prepublishOnly

The local stdio server can be inspected directly:

node bin/mcp-stdio.js

Versioning

This repository distributes two independent products with decoupled version tracks:

  • CLI (@xmemo/client): Published to npm.

    • Version source: package.json.

    • Tag convention: cli-v* (legacy tags through version 0.4.181 used v0.4.xxx).

    • View versions on npm (@xmemo/client).

  • Skill (xmemo): Published to ClawHub and distributed via xmemo.dev.

    • Version source: skills/xmemo/scripts/xmemo-skill.mjs (SKILL_VERSION).

    • Tag convention: skill-v*.

    • View versions on ClawHub (xmemo). GitHub Releases for skill releases explicitly carry the Latest release badge to support automated installer and server fallback downloads.

Release model

Normal releases are produced by GitHub Actions from the exact tagged commit, not from a mutable branch checkout or a developer workstation:

develop → CLI version sync → test → cli-v tag → GitHub Actions → npm publish --provenance

The CLI package and hosted MCP service intentionally have separate version streams:

  • CLI/npm version: package.json, package-lock.json, and the npm package entry in server.json.

  • Hosted MCP/Registry version: the top-level server.json.version and lhm.plugin.json. This version follows the deployed XMemo service.

node scripts/check-release-version.mjs verifies both contracts. A cli-vX.Y.Z tag must equal the CLI/npm version and publishes only npm. The MCP Registry is published separately with the Publish MCP Registry metadata workflow using mcp-vX.Y.Z, which must equal the hosted MCP/Registry version. The separate npm publish workflow is manual recovery only, so creating a GitHub Release cannot publish twice. CLI npm publishing uses OIDC trusted publishing (environment: npm, id-token: write); static NPM_TOKEN is no longer used. Manual recovery via .github/workflows/publish.yml requires its own trusted publisher entry on npmjs.com.

Documentation and support

Canonical service documentation lives at docs.xmemo.dev. This repository documents the client; the pages below document the hosted service it connects to.

Quickstartdocs.xmemo.dev/docs/quickstart
MCP overview and per-client setupdocs.xmemo.dev/docs/mcp/overview
Tool reference (remember, recall, search, …)docs.xmemo.dev/docs/tools/remember
REST APIdocs.xmemo.dev/docs/api/authentication
Troubleshootingdocs.xmemo.dev/docs/troubleshooting
Machine-readable indexxmemo.dev/llms.txt

License

MIT © 2025–2026 Yonro

MCP-SETUP-GUIDE.md

XMemo MCP 配置教程

📖 官方完整接入文档:https://docs.xmemo.dev/docs/mcp/overview

快速开始(3 步)

第 1 步:获取 XMemo Token

访问 https://xmemo.dev 注册账号,获取你的 API Key(Token)。

第 2 步:配置环境变量

macOS / Linux (Bash/Zsh):

export XMEMO_KEY="your-xmemo-token-here"
export XMEMO_AGENT_ID="your-client-name"        # 可选,如 claude-code, cursor
export XMEMO_AGENT_INSTANCE_ID="$(uuidgen)"     # 可选,设备级唯一标识

Windows (PowerShell):

$env:XMEMO_KEY = "your-xmemo-token-here"
$env:XMEMO_AGENT_ID = "your-client-name"
$env:XMEMO_AGENT_INSTANCE_ID = [Guid]::NewGuid().ToString()

Windows (CMD):

set XMEMO_KEY=your-xmemo-token-here
set XMEMO_AGENT_ID=your-client-name
set XMEMO_AGENT_INSTANCE_ID=random-guid-here
第 3 步:添加 MCP 配置

根据你的客户端类型,将配置添加到对应的 MCP 配置文件中。


各客户端配置详情

Kimi Code

官方文档:XMemo MCP 概览

配置文件:~/.kimi-code/mcp.json

{
  "mcpServers": {
    "XMemo": {
      "url": "https://xmemo.dev/mcp",
      "bearerTokenEnvVar": "XMEMO_KEY",
      "headers": {
        "X-Memory-OS-Agent-ID": "kimi-code",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}

⚠️ 重要:Kimi Code 通过 bearerTokenEnvVar 读取环境变量。确保 XMEMO_KEY 在启动 Kimi Code 的同一环境中已导出。推荐直接运行 xmemo setup kimi-code。


Kiro

官方文档:Kiro 接入指南

配置文件:~/.kiro/settings/mcp.json

Kiro 默认使用原生 HTTP OAuth,配置不包含固定 Authorization,也不再启动 mcp-remote:

xmemo setup kiro
# 或选择 Key;启动 Kiro 的进程需要继承 XMEMO_KEY
xmemo setup kiro --auth key

OAuth 默认只请求 memory:read 和 knowledge:read。需要写入时,在 Kiro OAuth 配置中加入对应 write scope 并重新授权。Key 模式使用 Bearer ${XMEMO_KEY};Key 权限由服务端签发时确定。xmemo login 的 CLI 凭据不会自动导入 Kiro。

已有配置出现反复弹出授权页面、认证成功后仍超时,可先离线检查,再修复:

xmemo doctor --client kiro --json
xmemo doctor --client kiro --fix
# 明确保留 Key 认证时:
xmemo doctor --client kiro --fix --auth key

检查默认不修改文件;--fix 对识别出的旧代理或认证冲突先创建同目录备份,再替换 XMemo 连接,保留其他 MCP、Power 配置、审批和禁用设置。可用 --config <path> 指定配置。未知自定义命令、无效 JSON、非 HTTPS MCP 地址不会自动修复。

修复后重新加载 Kiro;OAuth 需要完成正常授权,Key 需要启动环境中的凭证。doctor 不读取 OAuth 缓存、不终止代理进程、不访问服务、不验证真实认证和刷新;旧代理仍运行时重新启动 Kiro。原来的 ${env:XMEMO_KEY} 代理环境赋值可能成为字面文本,其固定 Authorization 又会覆盖 OAuth 令牌,造成重复认证。


Claude Desktop

官方文档:XMemo MCP 概览

配置文件:%APPDATA%\Claude\claude_desktop_config.json (Windows) 或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)

{
  "mcpServers": {
    "XMemo": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://xmemo.dev/mcp",
        "--header",
        "Authorization:Bearer ${XMEMO_KEY}",
        "--header",
        "X-Memory-OS-Agent-ID:claude-desktop",
        "--header",
        "X-Memory-OS-Agent-Instance-ID:${XMEMO_AGENT_INSTANCE_ID}"
      ],
      "env": {
        "XMEMO_AGENT_INSTANCE_ID": "xmemo-<由 xmemo setup 生成>"
      }
    }
  }
}

推荐:不用 Key,直接添加自定义连接器。 在 Claude 中打开 Customize › Connectors › Add custom connector,名称填 XMemo,URL 填 https://xmemo.dev/mcp,按提示完成 OAuth 授权即可(Claude 网页版与桌面版通用)。

如果坚持用上面的 mcp-remote 配置,请运行 xmemo setup claude-desktop 生成(会写入真实的实例 ID)。注意:Claude Desktop 不会展开 env 中的 ${env:...},写进去只会变成字面文本,所以 env 里不要放 XMEMO_KEY;mcp-remote 会从继承的环境中解析 ${XMEMO_KEY}。从 Dock / 开始菜单启动的 Claude Desktop 读不到 shell profile 里的变量,需要让应用本身能看到 XMEMO_KEY。


Cursor

官方文档:Cursor 接入指南

配置文件:~/.cursor/mcp.json

{
  "mcpServers": {
    "XMemo": {
      "url": "https://xmemo.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${env:XMEMO_KEY}",
        "X-Memory-OS-Agent-ID": "cursor",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}

Cursor 的 CLI 配置使用 XMEMO_KEY Bearer Token;只有 Cursor marketplace 插件是 OAuth-first,两者不要混用。推荐运行 xmemo setup cursor 生成配置。


Copilot CLI

官方文档:Copilot CLI 接入指南

Copilot CLI 需要本地代理(因为它不支持远程 HTTP 直接连接):

# 1. 安装 XMemo CLI
npm install -g @xmemo/client

# 2. 登录并保存 token
xmemo login

# 3. 配置 Copilot CLI
xmemo setup copilot

# 4. 启动本地代理(保持运行)
xmemo mcp proxy

Gemini CLI

官方文档:Gemini CLI 接入指南

配置文件:~/.gemini/settings.json

{
  "mcpServers": {
    "XMemo": {
      "httpUrl": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "gemini-cli",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}

Gemini CLI 使用 OAuth 认证,无需手动配置 token。


Grok (xAI)

官方文档:XMemo MCP 概览

配置文件:~/.grok/config.toml

[mcp_servers.XMemo]
url = "https://xmemo.dev/mcp"
bearer_token_env_var = "XMEMO_KEY"

[mcp_servers.XMemo.http_headers]
"X-Memory-OS-Agent-ID" = "${XMEMO_AGENT_ID}"
"X-Memory-OS-Agent-Instance-ID" = "${XMEMO_AGENT_INSTANCE_ID}"

Antigravity 2.0

官方文档:XMemo MCP 概览

配置文件:~/.antigravity2/mcp.json

{
  "mcpServers": {
    "XMemo": {
      "serverUrl": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "antigravity",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}

Antigravity 2.0 支持 OAuth,首次使用时会自动打开浏览器完成授权。


Devin Desktop (formerly Windsurf) / Cline

官方文档:Windsurf 接入指南 · MCP 概览

这些客户端使用 Bearer Token。不同版本的配置键可能不同,推荐用对应的 CLI ID 生成配置:xmemo setup windsurf(或别名 xmemo setup devin-desktop)或 xmemo setup cline。

{
  "mcpServers": {
    "XMemo": {
      "type": "streamable-http",
      "url": "https://xmemo.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${env:XMEMO_KEY}",
        "X-Memory-OS-Agent-ID": "your-client-id",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}
Trae / Trae Solo / Zed

官方文档:XMemo MCP 概览

这些客户端由 CLI 配置为 mcp-remote + XMEMO_KEY,不要复制上面的直连 HTTP 示例。运行 xmemo setup trae、xmemo setup trae-solo 或 xmemo setup zed,并在启动客户端的同一环境中设置 XMEMO_KEY。

Qwen

官方文档:XMemo MCP 概览

Qwen 使用 MCP OAuth,无需在 MCP 配置中写入 XMEMO_KEY:

{
  "mcpServers": {
    "XMemo": {
      "httpUrl": "https://xmemo.dev/mcp",
      "headers": {
        "X-Memory-OS-Agent-ID": "qwen",
        "X-Memory-OS-Agent-Instance-ID": "${XMEMO_AGENT_INSTANCE_ID}"
      }
    }
  }
}

首次连接时按客户端提示完成浏览器授权。


验证配置

配置完成后,向你的 AI 助手提问:

"列出你可以使用的 XMemo 工具。"

如果 AI 能列出 remember、recall、recall_context、add_expense 等工具,说明配置成功。

或者运行 XMemo CLI 的连通性检查:

xmemo token status --verify
xmemo smoke --client <your-client>

故障排查

问题可能原因解决方案
"无法连接到 XMemo"网络、地址或客户端传输配置错误运行 xmemo doctor,确认地址为 https://xmemo.dev/mcp,再检查客户端日志
"401 Unauthorized"Token 缺失、无效或过期运行 xmemo auth status --verify;按输出重新登录或更新 XMEMO_KEY
"403 Forbidden"Token 有效,但缺少所需 scope 或当前资源不在授权范围重新授权包含所需 scope 的正式凭据,并确认使用的是已授权的项目/团队范围;不要仅为绕过错误而扩大 scope
"OAuth 窗口未弹出"当前客户端不是 CLI 标记的 MCP OAuth 客户端,或客户端未重载配置先运行 xmemo mcp add <client-id> --write 并重启客户端;对于 Bearer 客户端改为在同一启动环境设置 XMEMO_KEY
"工具未显示"MCP 配置未加载、服务名重复或客户端缓存旧配置检查生成配置中的 XMemo、重启/Reload MCP,再运行 xmemo doctor
XMEMO_KEY 未检测到环境变量没有传给启动客户端的那个进程在启动客户端的同一终端运行 xmemo auth status 或 xmemo token status --verify,设置变量后重新启动客户端;不要把 token 写入项目文件
召回结果为空查询词、path、scope 或项目范围不匹配先确认认证成功,再使用明确的查询词和正确的授权 scope;项目上下文必须传入准确的 project_id,不能只传项目名
项目范围错误使用了错误的 scope、team 或 project ID使用当前账号已授权的精确 project_id;不要通过扩大范围来掩盖 ID 错误
XMEMO_AGENT_INSTANCE_ID 每次变化每次启动都重新生成实例 ID使用稳定的用户环境变量,或运行 xmemo mcp add <client-id> --write 让 CLI 保存用户级实例 ID;不要将其提交到 git
出现重复记忆同一事实被重复保存,或重复安装了 Native 与 MCP 两个集成保存前先 recall;OpenClaw/Hermes 使用 Native 集成时不要再安装同一能力的 MCP fallback,除非明确需要
forget/delete 不生效误用了不存在的 delete 工具、目标不是精确 ID,或客户端没有刷新MCP 使用 forget 并传入 current 或精确 memory ID;删除后刷新并用 recall 验证,必要时用 restore_memory 恢复可恢复删除
"代理连接失败"Copilot CLI 本地代理未运行保持 xmemo mcp proxy 运行,并检查代理端口配置

进阶用法

使用 XMemo CLI 自动配置
# 安装 CLI
npm install -g @xmemo/client

# 登录(OAuth 或 device-login)
xmemo login

# 一键配置所有检测到的客户端
xmemo setup --all --write

# 或单独配置某个客户端
xmemo setup codex
xmemo setup cursor
xmemo setup grok
行为配置(AI 记忆策略)

xmemo setup <client> 默认会安装一个行为配置文件,指导 AI 在以下时机使用 XMemo:

  1. 任务开始时:自动搜索/召回相关项目记忆

  2. 关键决策后:保存高信号决策和修复

  3. 从不存储:密钥、token、PII 等敏感信息

你可以查看当前行为配置:

xmemo mcp profile codex

配置遇到问题?参考官方 故障排查指南,或提交 Issue 到 GitHub 或联系 e-mail address on the upstream page

217 files · 205 not served here

Advantages

  • Provides a unified control plane for managing memory across diverse AI clients and platforms. evidence: README.md
  • Ensures privacy by keeping credentials out of project files through a secure configuration reference model. evidence: README.md
  • Supports multiple connection modes including hosted MCP, local stdio, and native integrations for specific agents. evidence: README.md

Limitations

  • The underlying hosted service implementation is private and not part of the open-source repository. evidence: README.md
  • Native integration maturity varies by platform, with some features currently in preview. evidence: README.md

Security

Risk level: Medium risk

This brain runs

MCP servers (2)

  • README.md (XMemo): https://xmemo.dev/mcp · uses the network
  • README.md (XMemo): npx -y --package @xmemo/client@latest xmemo-mcp

Install scripts (4)

  • README.md: # $env:XMEMO_SKILL_AGENT="claude-code"; irm https://xmemo.dev/skill/install.ps1 | iex · uses the network
  • README.md: # $env:XMEMO_SKILL_AGENT="codex"; irm https://xmemo.dev/skill/install.ps1 | iex · uses the network
  • skills/install.ps1: pwsh skills/install.ps1
  • skills/install.sh: sh skills/install.sh · uses the network

Agent instructions that run or fetch something (12)

  • skills/xmemo/SKILL.md: For standalone examples below, run the command and arguments as `node scripts/xmemo-skill.mjs <command> [options]` from the Skill directory.
  • skills/xmemo/SKILL.md: After ClawHub installs this Skill, follow First-run sign-in below:
  • skills/xmemo/SKILL.md: On explicit user consent (yes): run `node scripts/xmemo-skill.mjs login --allow-plaintext` directly so output is visible while the command is waiting (for example a background task or streaming shell).
  • skills/xmemo/SKILL.md: When login succeeds: run `node scripts/xmemo-skill.mjs auth status --verify`, tell the user in one line that XMemo is connected and that recall can offer setup assistance, run `node scripts/xmemo-skill.mjs profile --status later --if-unset` to record this preference, and continue the original task.
  • skills/xmemo/SKILL.md: run `profile --status never` to disable them and stop counting.
  • skills/xmemo/SKILL.md: The standalone runtime needs a shell to run Node.js, network access to the configured XMemo service, and credentials from `XMEMO_KEY`, a supported managed store, or the consent-gated local credential file.
  • skills/xmemo/SKILL.md: | Command | Purpose | Details | |:---|:---|:---| | `remember` | Save memory (text/stdin/file) | [Details][cmd] | | `recall` | Recall memories by query | [Details][mem] | | `search` | Keyword memory search | [Details][mem] | | `read` | Read memory or document by ID | [Details][cmd] | | …[+2483 chars]
  • skills/xmemo/SKILL.md: [cmd]: references/command-details.md [mem]: references/memory-operations.md [run]: references/runtime-operations.md [auth]: references/auth-setup.md [led]: references/ledger-operations.md [trn]: references/troubleshooting.md
  • skills/xmemo/SKILL.md: When a command fails with "No XMemo credential found" (exit code 2) and no `XMEMO_KEY` or secret store is configured, follow First-run sign-in above.
  • skills/xmemo/SKILL.md: Read [references/auth-setup.md](references/auth-setup.md) before running auth, login, register, or logout (`--revoke-environment-token`) commands other than first-run login.
  • skills/xmemo/SKILL.md: | Code | Meaning | Next action | |:---:|:---|:---| | `0` | Success (operation succeeded, empty state, `--help`, `--version`) | Proceed with next task | | `1` | Invalid input (validation failure, missing `--confirm`, HTTP 4xx) | Check parameters or resource ID | | `2` | Missing, expired …[+220 chars]
  • skills/xmemo/SKILL.md: When a command returns exit code 2 with "No XMemo credential found", follow First Successful Run above.
  • Medium risk: runs-mcp-server-unpinned-runner (README.md:241)
  • Medium risk: runs-install-script-remote-exec (README.md:365)
  • Medium risk: runs-install-script-remote-exec (README.md:366)
  • Medium risk: runs-install-script-network-variable-host (skills/install.sh)
  • Medium risk: network-variable-host (skills/install.sh:97)
  • Low risk: scripts-present (skills/install.ps1)
  • Low risk: scripts-present (skills/install.sh)

AutoGineer scanned @xmemo/[email protected] (sha512-RuiGtD6maj+mz977XsJ8uCDCIBr/spe+qEsnBKZhWioOPsBn30Z0PEirnGeA8P82swgKOst4879CIcC6Yn0QwQ==).

AutoGineer scanned @xmemo/[email protected] (sha512-RuiGtD6maj+mz977XsJ8uCDCIBr/spe+qEsnBKZhWioOPsBn30Z0PEirnGeA8P82swgKOst4879CIcC6Yn0QwQ==).

Attribution and licence

Created by
Yonro
Publisher
XMemo (Official XMemo project)
Source
yonro/memory-os-cli · commit 09b1438
Licence
MIT License (files served here)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by Yonro or XMemo.

Install from source

205 of its files are not served here, so there is no ZIP. yonro/memory-os-cli at 09b1438