Example Apps
The repo includes ready-to-run apps in apps/ that show different Walrus Memory integration patterns. Start here for app-level patterns; Quick Start and Walrus Memory Usage cover the basic SDK flow.
How to run the apps locally
Each app needs its own environment file and database setup before it starts; the chatbot, noter, and researcher pages linked under The demo apps cover the exact steps, so open the page for the app you want and follow its setup and run instructions first. After configuring an app, run it from the repo root:
Source: examples/example-apps.md$ pnpm dev:app
$ pnpm dev:chatbot
$ pnpm dev:noter
$ pnpm dev:researcher
pnpm dev:app starts the Playground, pnpm dev:chatbot starts the Chatbot, pnpm dev:noter starts the Noter, and pnpm dev:researcher starts the Researcher.
Playground
Dashboard, playground, and interactive demo for Walrus Memory. It lives in apps/app, which the pnpm dev:app command starts.
const memwal = MemWal.create({
key: delegateKey,
accountId: accountObjectId,
serverUrl,
namespace,
});
const job = await memwal.remember(rememberText);
await memwal.waitForRememberJob(job.job_id);
await memwal.recall({ query: recallQuery, limit: 5 });
await memwal.analyze(analyzeText);
This app covers the full getting-started flow in one place. It signs users in, sets up delegate keys, shows SDK credentials, and includes a live playground for remember(), recall(), analyze(), restore(), AI middleware, and manual mode.
The demo apps
Each demo app has its own page with the integration pattern it shows, the key code, and run instructions:
- Chatbot: An AI chat app that wraps its model with the AI middleware, so recall runs before each generation and new context saves automatically.
- Noter: A note-taking app with zkLogin sign-in that turns note content into structured, searchable facts through
analyze. - Researcher: A research assistant that saves each sprint as a structured report and rebuilds context for fresh sessions through recall.
Set up the repo locally
Use Node.js 22.23.4 (pinned in .nvmrc) and pnpm 9.12 or later. You need Rust only for backend services, not for the TypeScript apps. Setup has 2 steps. Complete both before you start any app.
Step 1: Install dependencies
Clone the repo and install dependencies from the repo root:
$ git clone https://github.com/MystenLabs/MemWal.git
$ cd MemWal
$ nvm install
$ nvm use
$ pnpm install
If you use a different Node version manager, select the version in .nvmrc before installing dependencies.
Step 2: Build the SDK
Build the SDK before you start any app, because the apps depend on its compiled output:
$ pnpm build:sdk
For the full setup and troubleshooting steps, see Run the Repo Locally.