linggen-memory plugin
One local memory shared by Claude Code, Codex and OpenClaw: tell one agent, another knows tomorrow, no cloud or keys.
- 111 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The plugin saves information from conversations into a local store, which can include personal data.
- It downloads an executable on first use and sends anonymous telemetry.
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/linggen-memoryDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The plugin saves information from conversations into a local store, which can include personal data.
- It downloads an executable on first use and sends anonymous telemetry.
This is third-party code. Review the repository files before installing.
What it does
linggen-memory is a plugin and skill with a local daemon, `ling-mem`, that keeps a memory of you for all connected agents. On every turn the plugin recalls the relevant rows, and facts you state outright are saved at once. Memory has tiers. Core holds a handful of durable facts about the person and is present in every session. Long-term holds what has proven durable and is retrieved on demand. Short-term collects events per turn, and a nightly pass decides what stays. Every row is filed under the directory it is about, so recall depends on where you work. The daemon stores data in LanceDB with multilingual Qwen3-Embedding-0.6B embeddings, answers in NDJSON and serves a built-in data browser at `127.0.0.1:9528`. What was recorded from your own words changes only with your consent, and merges are archived rather than deleted.
Who it is for. People who work with several agents at once and do not want to repeat preferences, rules and project context to each.
Good fit when
- You told Claude Code a formatting rule on Monday and Codex should know it on Tuesday.
- An agent in a project should remember how you format logs and not ask every time.
- You want to browse, edit or delete saved facts in a browser.
- You want memory with no SaaS, signup or API key, entirely on your machine.
Not a fit when
- You need team memory with shared access: the store is personal and local.
- The system is Windows or Linux with an old glibc: prebuilt binaries cover Apple Silicon and Linux with glibc 2.39 or newer.
- Nothing from conversations may be stored even locally.
Example request
Remember that in this project I prefer concise replies without hedging, and find what you already know about my log style.Limitations
Prebuilt binaries target macOS on Apple Silicon and Linux (x86_64 and aarch64, glibc 2.39 and newer, for example Ubuntu 24.04). The nightly part that decides what to promote and what to forget runs only together with Linggen, while in other agents the daytime part runs on every turn. The binary is downloaded on first use into `~/.local/bin/ling-mem` with SHA-256 verification. `ling-mem` sends anonymous usage statistics to linggen.dev, switched off with `LING_MEM_NO_TELEMETRY=1`.
How to disable. Remove the plugin through the agent plugin manager, stop the daemon and delete `~/.local/bin/ling-mem`. You can clear memory in the data browser or with `ling-mem forget`.
FAQ
How do I install it for Claude Code?
With `claude plugin marketplace add linggen/linggen-memory` and `claude plugin install linggen@linggen-memory` in the shell, then restart the agent.
What about Codex and other agents?
For Codex: `codex plugin marketplace add linggen/linggen-memory` and `codex plugin add linggen@linggen-memory`. For any agent use `npx skills add linggen/linggen-memory@linggen`, for OpenClaw `clawhub install linggen`.
Where is the data stored?
On your machine: the `ling-mem` daemon keeps a LanceDB store. The built-in browser at `http://127.0.0.1:9528` lets you filter, edit and batch-delete rows.
Can I forget a session?
Yes: `ling-mem forget --source-session sess-123 --yes` removes everything one session wrote.
What does telemetry send?
An install event and the memory command name such as `memory.search`. Fact and query text, embeddings, paths and IP are never sent; disable with `LING_MEM_NO_TELEMETRY=1`.
Discussion
No questions or reviews yet.
Related
PluginsA long-term memory plugin that keeps decisions, preferences and task state across sessions and injects only what a query needs
A long-term memory plugin for the OpenClaw agent on LanceDB: captures preferences and decisions itself, hybrid search, noise fading
Local memory for agents with a review queue: SQLite, an audit log and a token ledger, one vault for Claude Code, Codex and Cursor
Local memory for Claude Code, Codex and Claude Desktop: one Markdown folder and one MCP server shared by all.
Shared memory for Claude Code, Codex and Cursor: a decision made in one session is recalled in another tool or on another machine.
Agent memory as a graph of linked facts: decisions and errors outlive the session, with no vector database or paid API calls
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| linggen-memory (this card) | no | 111 | |
| Claude-Mem | no | 116,457 | remembers sessions of Claude Code only; linggen-memory gives shared memory for Claude Code, Codex and OpenClaw |
| Mem0 | no | 68,887 | a memory layer with an API and cloud option; linggen-memory runs entirely on your machine with no key |
README in short
The system splits into day and night: by day the plugin captures and recalls memory, at night a Linggen mission reviews the day, promotes what proved durable and forgets the rest. The store schema and the CLI, HTTP and MCP contract are frozen.
README badge
Original SKILL.md
---
name: linggen
description: >-
Linggen — durable cross-host memory plus browser control, over two
local MCP servers: `ling-mem` for memory, the Linggen engine for
browser, X and agents. Memory: three-tier model (core + long-term +
episodic staging) of who the user is, not a log of what was done;
same `ling-mem` daemon and store in Claude Code, Codex, and
OpenClaw, and reachable over the LAN from a second machine
(`/linggen:config`). Browser: agent control of the user's own Chrome
with per-site permission prompts, and logged-in X session reads.
license: MIT-0
homepage: https://linggen.dev
allowed-tools:
- Read
- Write
- Edit
- Bash
- Glob
- Grep
user-invocable: true
# ClawHub clawdis metadata — declares dependency on the ling-mem CLI binary.
# v0.4.0 will add `install: [{kind: brew, formula: ling-mem, tap: linggen/tap}]`
# once the Homebrew tap exists; for now users install the CLI manually via the
# install.sh one-liner shown in the body. Other hosts ignore this block.
metadata:
clawdis:
homepage: https://linggen.dev
primaryEnv: cli
emoji: 🧠
os: [darwin, linux]
requires:
bins: [ling-mem]
---
You are **Ling**, operating inside the linggen skill — the user's
durable cross-session memory (plus browser control, below). Memory is
your surface: you read and write the user's permanent biography.
**Interface order:** prefer the `memory_*` MCP tools from the `linggen`
server (`memory_search`, `memory_add`, `memory_get`, `memory_update`,
`memory_delete`, `memory_list`) — they proxy the same ling-mem daemon
with the same semantics. When the MCP server is unavailable (daemon
down, headless host), fall back to the **`ling-mem` CLI** via `Bash`;