Skip to content

Latest commit

 

History

62 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CentricMem

One library. Every agent. Every desk.

A hosted librarian for AI agents: one shared memory across the tools you already use, so a decision made in one client is there in the next, and so are the notes, the session transcripts and the reasons behind them. Capture stays in the client you already work in; CentricMem organises what it is given, retrieves it on request, and keeps it as Markdown cards.

This repository is one package: an Agent Skills SKILL.md plus an Agent Plugins 1.0 bundle (plugin.json + skills/ + mcp.json). Install it from GitHub with whichever client you use - each client has its own command below.

Install

Names, read once. centricmem is the product and the CLI. centricmem-skill is this GitHub package. centricmem-agent is the Skill folder inside it (skills/centricmem-agent/) - keep that folder name when a client asks for a skill id. It is not a second product.

Ask the agent to install it. Paste this one line:

Install CentricMem from the GitHub package zeyu-j/centricmem-skill (the skill folder is centricmem-agent).
Then send me https://centricmem.com/login?signup=1 and try a /connect?device= link. The key it returns is
shown once, so tell me to save it, and never paste it in chat. If minting that link fails, run
centricmem doctor connect and email zeyu@poppyg.com with the output.

If a shell is available, the same install is one command:

npx --yes skills add zeyu-j/centricmem-skill --skill centricmem-agent -y

(No -g: a few hosts, PromptScript among them, have no user-wide skills directory.)

Or add the same repository as a plugin marketplace. Verified commands are in VERIFIED-INSTALLS.md; this table is the short version.

Client Install
Claude Code /plugin marketplace add zeyu-j/centricmem-skill, then /plugin install centricmem-skill@centricmem
Codex codex plugin marketplace add https://github.com/zeyu-j/centricmem-skill.git, then install centricmem-skill. After a release, run codex plugin marketplace upgrade - Codex caches the marketplace snapshot
Cursor / Grok Cursor: Plugins → Team Marketplaces → Import from Repo zeyu-j/centricmem-skill, or the npx skills add line above. Grok: grok.com/connectors → New Connector → Customhttps://mem.centricmem.com/mcp, then finish the OAuth prompt; the CLI writes ~/.grok/config.toml with grok mcp add -t http -s user centricmem https://mem.centricmem.com/mcp and checks it with grok mcp doctor. Without -t http Grok assumes stdio, which is how a server ends up declared and unusable
CodeBuddy / WorkBuddy codebuddy plugin marketplace add zeyu-j/centricmem-skill, then /plugin install centricmem-skill@centricmem
goose goose plugin install https://github.com/zeyu-j/centricmem-skill - goose reads the manifest at the repository root; the recipes live in goose/
Hermes hermes skills install zeyu-j/centricmem-skill/skills/centricmem-agent --yes - --yes matters, because the confirmation prompt cannot be answered from a non-TTY and the install is cancelled. If the connect link cannot be minted, the MCP fallback is hermes mcp add --url https://mem.centricmem.com/mcp --auth oauth centricmem. Optional hooks: hermes/
Qwen Code Copy qwen/qwen-extension.json and the hooks entry from qwen/settings-hooks.example.json - see qwen/README.md
MiMoCode Copy mimocode/centricmem.ts to ~/.config/mimocode/plugins/ and tools/ambient.mjs to ~/.config/mimocode/tools/ - see mimocode/README.md
OpenClaw openclaw plugins install centricmem-skill --marketplace zeyu-j/centricmem-skill - the --marketplace form is the one that works; a bare git: install is rejected because that route wants a code plugin, and this repository ships none. openclaw skills install ./skills/centricmem-agent --global also works from a clone
ZCode zcode plugins marketplace add zeyu-j/centricmem-skill, then zcode plugins install centricmem-skill@centricmem. ZCode preloads the Claude Code marketplace, so no ZCode-specific manifest is needed
nanobot cp -r skills/centricmem-agent ~/.nanobot/workspace/skills/ - it reads one folder per Skill from <workspace>/skills. <workspace>/plugins/ takes the whole bundle, because its plugin loader validates our mcp.json against the Agent Plugins schema
Copilot CLI copilot plugin marketplace add zeyu-j/centricmem-skill, then copilot plugin install centricmem-skill
Cline cline skill add zeyu-j/centricmem-skill (forwarded to the open skills CLI)
Kimi Code /plugins install https://github.com/zeyu-j/centricmem-skill (Custom) - a Kimi plugin may carry skills, an auto-loaded Skill and MCP servers. Server config lives in ~/.kimi-code/mcp.json (or $KIMI_CODE_HOME/mcp.json), stdio/HTTP/SSE. Catalog: /plugins marketplace https://raw.githubusercontent.com/zeyu-j/centricmem-skill/main/.kimi-plugin/marketplace.json
Pi pi install https://github.com/zeyu-j/centricmem-skill, then a URL-only ~/.pi/agent/mcp.json (url + type: streamable-http). The package does not wire MCP for pi
Kiro Powers → Add Custom Power → GitHub https://github.com/zeyu-j/centricmem-skill
DSH dsh plugin --profile web add github:zeyu-j/centricmem-skill#v1.0.31, then node node_modules/centricmem-skill/dsh/copy-skill.mjs from the profile directory, then the two overlay rows in dsh/README.md. Read that file first: adding the package puts its patch into the profile bundle stack, where a missing Bearer aborts boot on purpose
Dify Its own distribution: zeyu-j/centricmem-dify; marketplace review pending. Any MCP client can also attach https://mem.centricmem.com/mcp with the same agent key
Kilo npx --yes skills add zeyu-j/centricmem-skill for the Skill; the MCP half is the interactive kilo mcp add. See VERIFIED-INSTALLS.md
junie / Devin Documented surfaces only: junie --mcp-location is flag-driven, and Devin's plugin docs need a browser to render. See devin/ and VERIFIED-INSTALLS.md
SkillKit / skills.sh skillkit add https://centricmem.com, skillkit add zeyu-j/centricmem-skill, or the npx skills add line above
Any other Agent Skills host Copy skills/centricmem-agent/ so the file lands at <skills-root>/centricmem-agent/SKILL.md, then point the host's MCP client at https://mem.centricmem.com/mcp. Claim the machine with centricmem connect --claim --target <this-host-config.json> (or CENTRICMEM_MCP_TARGETS) and confirm with centricmem connect --verify. Never copy a key out of another client's config

After install. If cm_* tools are missing, the agent tries the connect link above - a plugin mcp.json with no Bearer is not a finished connect. OAuth is for hosts that can receive the browser login, and it is a fallback for a failed mint, not a substitute for the connect link. Save the key when it is shown; it appears once. Never paste a key, a transcript, or CLI output that contains one into chat.

Hosted librarian: centricmem.com. Sign-up is open. Host MCP: https://mem.centricmem.com/mcp.

Baseline = Skill + host MCP. Lifecycle hooks and recipes are optional extras: an agent without them still files cards through the Skill. Direct HTTP callers that are not MCP clients must send a non-empty User-Agent on every /mcp request, or Cloudflare answers 403 error-1010: -H "User-Agent: centricmem-script/1.0". Details: REFERENCE Direct HTTP /mcp.

How you use it

  1. Keep working where you already work. The agent keeps its own memory on, says once which key this chat is using, and files real work as it happens - you never have to say "wrap up". Extra grants are per-shelf ticks on Keys; the default opens every shelf.
  2. If the library looks empty it offers once to file notes you already have as cards. That is optional and it is not a dump of every chat.
  3. Later, ask the agent - or log in to search and download originals. There is no Inbox: work lands on a named shelf, and a leftover shelf or an unclassified one is copied onto another shelf and then deleted (cm_copy then cm_delete), with no restore warehouse. A subset moves with cm_move; a single card is cm_delete / cm_rename by {file, shelf}.
  4. You do not run a librarian on this machine, and there is no setup --bootstrap.

What this repository is

It is the Skill: how an agent talks to the hosted librarian. It is not the librarian, not the CLI source, and not a self-hosted kit.

Path What it is
skills/centricmem-agent/SKILL.md the session loop (Agent Skills frontmatter)
skills/centricmem-agent/REFERENCE.md search, show, sweep, copy, move, rename, delete, import shapes
plugin.json + mcp.json the portable Agent Plugins 1.0 package
.claude-plugin/, .codebuddy-plugin/, .agents/plugins/, .github/plugin/, .kiro/plugins/, .cursor-plugin/, .grok-plugin/, .kimi-plugin/ per-client marketplaces and manifests
hooks/ the SessionStart + SessionEnd pair that Claude Code, Codex and the DSH bridge run
goose/, qwen/, hermes/, dsh/, openclaw/, nanobot/, devin/ per-host install and wiring
tools/ one ambient implementation for every wrapper, plus the duplicate-copy report

One public Agent Skill: centricmem-agent (folder name) inside the package centricmem-skill.

Evidence

Two tables, kept apart from the instructions they describe:

Marks: ✅ verified (we ran it) · ◐ same core as the CLI (the CLI was verified, this wrapper was not exercised) · 📄 documented (a convention, nothing claimed).

License

MIT from 1.0.7 - attribution required, commercial use allowed. 1.0.6 and earlier shipped under PolyForm Noncommercial and that grant was not withdrawn retroactively; dsh/ is separately MIT, and the Dify plugin is its own distribution.

What the plugin does beyond the Skill

Claude Code, Codex and OpenClaw install this repository as a plugin, and a plugin can carry more than skills. This one carries a SessionStart hook (hooks/hooks.json) that runs a small Node script: it looks for a credential in CENTRICMEM_TOKEN, CENTRICMEM_API_KEY or CENTRICMEM_AGENT_KEY, then in the host's own MCP config (where the key usually is), then in a centricmem/api.json beside your config, and if it finds one it prints the shelf context so the session starts oriented. The same file adds a SessionEnd hook that files the session unit. With no credential nothing is printed at all, which is the normal case on an OAuth-connected host, and neither hook ever exits non-zero: a network problem can only mean a quieter session, never a broken one.

On a host that scrubs key-shaped environment variables the file is the only channel - dsh/README.md records that one. OpenClaw takes the same idea as a hook pack (openclaw/) and goose uses recipes and the MOIM file instead (goose/); the per-host detail, event names and timeouts live in VERIFIED-OPTIMISATIONS.md.

About

A human-driven memory infrastructure for AI agents: shared context across agents, workspaces and teammates. Unified decisions, notes and session units as searchable .md cards, privately hosted and served over MCP to major agents like Claude Code, Codex, Cursor, Hermes and more.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages