zbszbs·gggg·no reset. no amnesia.no reset. no amnesia.
zbs/zəˈbʲisʲ/Russian, vernacular
⟵ abbr. of заебись
genuinely excellent; first-rate; unironically good. used flat, without quotation marks — the speaker means it.
gg/dʒiː ˈdʒiː/internet, gaming
⟵ good game
said at the end of a round to acknowledge it was fair and finished. extends, by usage, to: well done, that’s it, we’re good.
∴ no reset. no amnesia.
One endless conversation with your AI.One endless conversation with your AI.
Pulse gives every AI agent two things it doesn’t have on its own: the feeling of one conversation that never resets, and the sense that it actually knows what you’re talking about right now. Whatever it does under the hood — memory, notes, a graph — doesn’t matter. Those two qualities do. Local-first, structured memories, raw transcript capture off by default.
install — Claude Code, full engine
npx @zbs-gg/pulse@preview init claude-code
● live on npm · developer preview · local-first · backend LLM off by default
// two qualities, nothing else// two qualities, nothing else
Forget how it’s built. A good memory layer is invisible — you only feel two things.
one endless conversation
the agent picks up where you left off — new chat, new day, new machine
no re-explaining the project every morning
no “remind me what we decided” — it already carries the thread
the identity stays the same across model upgrades and harness switches
it knows what you’re talking about
it surfaces the right past moment for what you’re asking now — not the closest keyword
the same question gets a different, better answer depending on where you are
it brings back the decision that matters, not the noise around it
and it can show you why it surfaced that — every time
Under the hood it’s a state-aware memory engine. You’ll never have to care. If those two qualities hold, it’s working.
// where it breaks today// where it breaks today
Continuity is the first thing to go on any real project. The longer and more serious the work, the harder it breaks.
long projectsweeks of context, decisions, dead ends. the agent only sees the last few thousand tokens of it.
context limitsevery model has a ceiling. cross it and the oldest, often most important, context silently falls out.
new sessionsa fresh chat starts from zero. yesterday’s understanding is gone; you rebuild it by hand.
harness & model switchesmove from one tool or model to the next and the thread snaps — same name, different memory, no shared history.
obsidian notes / a doc
you become the memory: writing it down, keeping it current
the agent can’t read it unless you paste the right part
it goes stale the moment you stop tending it
manual paste
you re-feed context every session, by hand
you guess what’s relevant — and you guess wrong under load
it burns the context window on things the agent could have fetched itself
pinned messages / custom instructions
a fixed blob, not the right memory for this moment
it can’t grow past a few lines without crowding everything else
it’s the same for every question — so it’s rarely the answer to yours
Every one of these makes you the memory engine. That’s the job Pulse takes back.
// how pulse holds both// how pulse holds both
Two mechanisms, mapped to the two qualities. What survives keeps the conversation continuous. What surfaces now is how it knows what you’re talking about.
◆ structural anchors stay bright. ● regular events fade. Anchor-aware decay decides what stays vivid and what’s allowed to blur — so months later the call you couldn’t take is still there, and Tuesday’s coffee isn’t in the way. That’s continuity that doesn’t drown.
regular: s = base · exp(−0.005 · days) → half-life ≈ 139danchor: s = max(base · exp(−0.0005 · days), base · 0.85) → preserved
Same question, different state, different memory — with the reason on every card. Drag the state toggle: the agent navigates the same history two different ways depending on what you actually need right now.
Reflecting includes the emotionally loaded turning point that shipping mode deliberately keeps in the background.
“One late fix changed the weight of the whole refactor — the moment gating made the numbers honest instead of just higher.”
same graph · the active state highlights a different path
shipping path reflecting path shared node
scores are illustrative retrieval scores from a labeled [FIXTURE], not benchmark numbers — no leaderboard claim lives here.
A real run of pulse demo on the live engine: a labeled, simulated corpus seeds in, one question runs in three user states, three different answers come back with their reasons — then the continuity pack the next session receives, then the wipe.
// pulse vs the alternatives// pulse vs the alternatives
Other tools do real things well. Here's an honest read along the only two axes that matter — and where each one may not fit.
claude-mem
good at: clean, automatic capture of your Claude sessions — solid continuity inside Claude
may not fit: it's tied to the Claude/Claude-Code world; it recalls what you discussed, not the right moment for your current state
one quality strong (continuity in-tool), the second thinner (no state-aware surfacing)
Mem0
good at: a capable, general memory API — facts and notes you can query from your own app
may not fit: it's a backend you wire up and host; it stores what was said, with no notion of which memory matters for this moment
great building block; not a drop-in companion that just works in your agent
Pulse
works in every harness — Claude Code, Cursor, VS Code, Codex, any MCP host
configurable to any setup, and one-touch to install
local embedders option — your memory and your context stay on your machine
both qualities by design: continuity that doesn't drown, and state-aware surfacing that knows what you mean now
Pulse isn't “more memory.” It's the two qualities, in whatever tool you already use, with nothing leaving the machine unless you turn it on.
no benchmark numbers on this page — those, with full methodology, live at zbs.gg/bench.
// install// install
One command for the full engine in Claude Code. Or add the compatibility fallback to another host — clearly labeled, because it's keyword recall, not the Pulse engine.