Open-source developer preview

Durable context for every AI coding session.

Coding agents forget between conversations. Preserve sessions, decisions, diagrams, and current work across tools without turning project knowledge into another cloud service.

  • Local-firstMarkdown source of truth
  • Project-scopedContext stays separated
  • Apache 2.0Open-source license
EchoDesk · Project Dashboard Local
Zharwing Memory dashboard showing an active session, context preview, and graph statistics for the fictional EchoDesk project

Screenshots use EchoDesk, a fictional project created only for this public demo.

This documentation is on the web. Your memory is not.

Zharwing Memory runs locally through its browser UI, desktop app, daemon, CLI, and MCP tooling. This page explains the product; it does not upload or host your project memory.

The problem

Long projects outlive chat windows.

Coding agents are excellent at the current task and unreliable at remembering why a decision was made three sessions ago. Context gets trapped in transcripts, copied into oversized prompt files, or rebuilt manually every morning.

Zharwing Memory separates the agent from the memory layer. Your preferred coding tool performs the work; Memory keeps the durable project record organized, searchable, and explicitly scoped.

One durable project record

Enough context to continue. Not enough noise to drown.

Memory gives developers a clear UI and coding agents a focused daily interface.

01

Sessions and checkpoints

Record goals, progress, touched files, blockers, and next steps so a future session can resume deliberately.

02

Docs and diagrams

Keep decisions, runbooks, architecture notes, gotchas, and Mermaid diagrams beside the work they explain.

03

Context preview

See what would be included, excluded, and estimated before a context bundle is used by an agent.

04

Relationship graph

Connect workstreams, sessions, decisions, files, services, packages, and topics in a navigable project map.

05

Search and import

Find prior work quickly and bring existing Markdown documentation or session archives into the same model.

06

Privacy boundaries

Apply visibility rules, never-send patterns, secret scanning, redaction, and explicit review modes.

Product tour

See the project, not another transcript.

The local browser UI and native desktop app make ongoing AI-assisted work understandable to a human.

Zharwing Memory context graph focused on the fictional EchoDesk transcription service
Focus a graph on one service to inspect the decisions, specifications, diagrams, and repository evidence connected to it.
Daily workflow

Memory follows the engineering work.

  1. 1

    Resolve the project

    A small repository pointer lets tools identify the matching local memory project.

  2. 2

    Resume intentionally

    Read compact previous-work summaries, unfinished tasks, and blockers before starting today’s session.

  3. 3

    Save meaningful progress

    The agent records checkpoints after decisions, milestones, or risky changes—not after every message.

  4. 4

    Leave a clean handoff

    Close with what changed, what remains, and which files matter for the next session.

Quick start from source

Run it locally.

The developer preview currently runs from the repository. Use the supported Node version declared by the project and pnpm 9.

Node 22.21 or 24 pnpm 9 Git
Terminal
# Clone and prepare the local application
git clone https://github.com/zharwing/memory.git
cd memory
corepack pnpm install

# Create local configuration
copy .env.example .env

# In .env, choose a private store and keep the two auth tokens identical
#   ZHARWING_MEMORY_ROOT=<absolute-private-store-path>
#   ZHARWING_MEMORY_AUTH_TOKEN=<local-random-token>
#   VITE_ZHARWING_MEMORY_AUTH_TOKEN=<same-local-random-token>

# Terminal 1 - keep the local daemon running
corepack pnpm dev:daemon

# Terminal 2 - start the full browser UI
corepack pnpm dev:web

# Open in your browser
http://localhost:5174/

On macOS or Linux, replace copy with cp. Both local processes must stay running. Keep your configured memory store outside the source repository.

01

Open the local Web UI

Visit http://localhost:5174/. This is the full React interface, not a reduced demo.

02

Create and link

Create a project, choose its private store, then attach one or more Git repository roots.

03

Connect an agent

Install the MCP configuration for Codex, Claude Code, or another compatible client.

LOCAL WEB UI

Full browser interface

Use Dashboard, Repos, Work, Library, Import, Search, Trash, and Settings in a local browser tab. Start the daemon separately and type or paste absolute folder paths.

NATIVE DESKTOP

The same UI with OS integration

The Tauri window renders the same React application, starts or reuses the daemon from source, and adds native folder Browse buttons.

PUBLIC WEBSITE

Documentation only

This hosted page explains Memory. It cannot read your projects. Your actual Web UI and private store remain local on your machine.

Agent integration

A focused memory API—not another agent.

Codex, Claude Code, Gemini CLI, local-model tools, and future MCP clients remain responsible for engineering. Memory provides the durable context boundary.

MCP daily-memory surface 11 tools
memory.get_startup_state memory.start_session memory.search memory.get_session_detail memory.preview_context_bundle memory.get_context_bundle memory.save_checkpoint memory.close_session + health and recent-session helpers

Project administration, imports, backups, Trash, and graph settings stay in the human-facing UI or CLI by design.

Local-first by design

Your project memory remains your local state.

Application source and private memory are separate. Markdown is the source of truth; indexes are rebuildable projections. Normal operation does not require an AI provider.

Read the security policy →
  • Explicit project scope

    Sessions and context resolve to the selected project.

  • Visibility controls

    Mark information human-only, private, or never-send.

  • Secret safety

    Apply ignore patterns, secret scanning, redaction, and high-risk blocking.

  • Recoverable operations

    Project records move through Trash and backup boundaries before permanent removal.

Architecture

One behavior layer, several adapters.

The daemon owns project, session, context, privacy, search, graph, and storage behavior. The browser UI, native desktop app, CLI, and MCP are adapters around the same rules.

Web UIDesktopCLIMCP Local daemon API Shared packages Markdown + indexes
Read the architecture documentation →
Rendered EchoDesk architecture diagram in Zharwing Memory
Mermaid diagrams are stored as Markdown and rendered inside the Library.
Developer preview

Useful today. Still being productized.

The status is intentionally explicit so users can evaluate the project without marketing ambiguity.

01

Source-first installation

The current public workflow runs from the repository. A polished installer and installer-level smoke coverage remain release work.

02

UI coverage is growing

Core behavior has deterministic tests, while broad end-to-end coverage across every browser and desktop workflow remains incomplete.

03

Local models are optional

Normal sessions, search, graph, context, and MCP workflows do not require a model. Optional semantic analysis needs a configured local compatible provider.

04

No hosted account

Zharwing Memory is deliberately local software. Its Web UI runs on localhost; there is no cloud-hosted memory service or automatic synchronization in this preview.

Questions

Before you try it.

Is Zharwing Memory an AI coding agent?

No. Your coding agent performs the engineering work. Memory provides durable project context, session history, and human controls.

Does Zharwing Memory have a Web UI?

Yes. Run the daemon and corepack pnpm dev:web, then open http://localhost:5174/. It is the full local React interface used by the desktop app. Browser mode uses typed paths instead of native folder pickers.

Does my project data go to this website?

No. This is documentation only. Memory runs locally and uses a private store path chosen on your machine.

Do I need a local language model?

No. The core workflow is deterministic. A local OpenAI-compatible provider is optional for assistant summaries and semantic relationship proposals.

Can one Memory project link several repositories?

Yes. A product can link multiple repository roots while preserving one project-scoped memory record.

Which agents can connect?

The repository documents MCP setup for Codex, Claude Code, and Claude Desktop. Other compatible clients can use HTTP or stdio integration.

Open-source developer preview

Give your next coding session the context your last one earned.

Explore the source, read the technical documentation, and decide whether Zharwing Memory fits your local workflow.