Local memory infrastructure for agents

Every agent remembers a different you.

dachshund finds the memory Claude Code, Codex, Cursor and 12 other agents already keep on your Mac. It turns that scattered context into one portable Markdown library, then serves it back through MCP.

v0.1.14 · Apple Silicon · Free and open source

dachshund
dachshund memory library showing memories collected from multiple AI agents
3 sources · 1 memory

Preference

Paper before pixels.

Prefer a field-journal feel: warm paper, ink, hairline rules and one quiet accent.

Local only127.0.0.1 · no account

Already knows where your agents remember

Claude Code Codex Cursor Gemini CLI Copilot OpenCode +9 more
15agent integrations
5MCP memory tools
1portable library
0cloud accounts

01 / Import before adoption

The memory was already there.

You should not have to teach a new tool your whole history. On first launch, dachshund finds the memory formats your agents already write and starts with something useful.

Read-only discovery

See what this Mac already knows.

dachshund inspects known agent memory locations in place. Nothing is moved, rewritten, or uploaded.

Scanning local memory 15 found
Claude Code~/.claude7
Codex~/.codex8
Cursor~/.cursor5
DeepSeek Harness~/.dsh1
Original files untouchedLocal scan
Cross-agent echoes

One memory.
Every source.

When three agents learn the same preference, keep one useful memory and all three receipts.

CLAUDE.md
AGENTS.md
.cursor/rules
Paper before pixels3 sources linked
Files over opaque state

Yours without dachshund.

Your memory stays as ordinary Markdown. SQLite is only a rebuildable index.

dachshund/

memory/

about-me/ profile

projects/ decisions

working-together/ rules

index.sqlite rebuildable

02 / One quiet switchboard

From scattered files to shared context.

The durable source of truth is a folder of Markdown. dachshund adds a local search index and a loopback-only MCP bridge. No model, embedding service, or hosted account sits in the middle.

Your agents

Claude CodeCLAUDE.md
Codexmemory files
Cursorrules
Gemini CLIsessions

One local library

dachshund ~/Documents/dachshund/memory/
MarkdownSQLite FTS5Source echoes

Read-only import. No cloud.

Every connected agent

MCP stdio bridge

127.0.0.1 Bearer token · owner-only
searchcontextrememberforgetstats

03 / Crossing the tool boundary

Start in one agent.
Keep it in all of them.

A failed approach in Codex is context Claude Code should not have to rediscover. dachshund turns one agent's hard-won lesson into a memory every connected agent can ask for.

Shared memory Imported + connected
Decision just now

Ship the reader before the editor.

The reader has to feel complete on its own before authoring, collaboration, or publishing enters the first release.

productroadmapscope

04 / The shape of memory

Not another vanity dashboard.

Pulse shows what your agents have actually remembered: where memory comes from, what overlaps, and what is getting stale. It is a map of your context, not a scoreboard.

dachshund Pulse screen showing cross-agent overlap and memory freshness
Cross-agent echoes 8 same knowledge, multiple sources

FreshnessMedian age · 4 days

06 / MCP without a cloud layer

Memory that travels with the question.

Once connected, any agent can search, request a prompt-ready context block, write a durable memory, archive a shared copy, and inspect the library.

memory_search

Find the right context

Search the local library and keep source provenance attached to every result.

→ query in, sources out
memory_context

Build a prompt block

Return a compact context block that is ready to place in front of an agent.

→ relevant, not exhaustive
memory_remember

Write once

Persist a durable decision, preference, or lesson as readable Markdown.

→ shared, durable
memory_forget

Archive the shared copy

Remove a memory from the shared library without deleting the agent's original file.

→ source stays intact
memory_stats

Inspect the library

See memory, agent, source and echo counts before an agent starts working.

→ grounded in what exists

No hosted dependency

The bridge runs over loopback and uses a short-lived token held in an owner-only runtime file.

Read the architecture ↗

07 / Local by architecture

Your memory does not leave this Mac.

This is not a privacy setting. There is no hosted memory layer to switch off. The files, index, and MCP service stay on your machine.

Read the privacy model
Account requiredNever
Telemetry or analyticsNone
LLM or embedding callsNot on the core path
Network service127.0.0.1 only
Memory formatPortable Markdown
Agent source filesRead-only

One outbound request exists only for GitHub update checks.

dachshund app icon

Ready for your first scan

Give every agent
the same memory.

Current builds are ad-hoc signed and not yet notarized by Apple. On first launch, macOS may ask you to right-click the app in Finder and choose Open.