An open API service indexing awesome lists of open source software.

https://github.com/evermind-ai/evermem_got_demo


https://github.com/evermind-ai/evermem_got_demo

Last synced: 1 day ago
JSON representation

Awesome Lists containing this project

README

          

# EverMem Story Memory Demo

> Built on [EverMemOS](https://github.com/EverMind-AI/EverMemOS/) - Open-source AI memory infrastructure

A demonstration web application showcasing [EverMem](https://evermind.ai)'s AI memory infrastructure through an interactive Q&A experience with "A Game of Thrones" (Book 1).

Ask questions about the book and watch two AI responses stream side-by-side: one **with memory** using EverMem to retrieve relevant passages, and one **without memory** using only the LLM's training data. See the difference memory makes.

![Demo Screenshot](screenshot.png)

## Features

- **Side-by-Side Comparison**: Watch two responses stream simultaneously - with and without memory context
- **Memory-Grounded Responses**: See exactly which book passages are used to answer questions
- **Real-time Streaming**: Token-by-token AI response streaming via SSE
- **Interactive Memory Chips**: Hover over memory chips to see full excerpt details and metadata
- **Follow-up Suggestions**: AI-generated follow-up questions after each response
- **Dark Theme UI**: Modern, clean interface inspired by EverMind's design

## Tech Stack

- **Frontend**: React 18 + TypeScript + Vite
- **Backend**: Node.js + Express + Bun
- **AI**: Claude Haiku (via OpenRouter)
- **Memory**: [EverMind Cloud API](https://evermind.ai)

## Quick Start

### Prerequisites

- [Bun](https://bun.sh/) (latest version)
- OpenAI API key (or OpenRouter API key)
- EverMind Cloud API key (apply at [EverMemOS Cloud](https://console.evermind.ai/))

### Installation

```bash
# Clone the repository
git clone
cd evermem-story-demo

# Install dependencies
bun install
```

### Configuration

**Backend** (`backend/.env`):

```bash
cp backend/.env.example backend/.env
```

Edit `backend/.env`:
```bash
OPENAI_API_KEY=your-openrouter-api-key
OPENAI_MODEL=anthropic/claude-3-haiku
PORT=3001
FRONTEND_URL=http://localhost:3000

# EverMind Cloud
USE_EVERMEMOS=true
EVERMEMOS_URL=https://api.evermind.ai
EVERMEMOS_API_KEY=your-evermind-api-key
```

**Frontend** (`frontend/.env`):

```bash
cp frontend/.env.example frontend/.env
```

The default `VITE_API_URL=http://localhost:3001` should work for local development.

### Running

```bash
# Start both frontend and backend
bun run dev
```

- Frontend: http://localhost:3000
- Backend: http://localhost:3001

## Loading Novel Content

Before using the demo, you need to load novel content into EverMind Cloud.

### Quick Test with Sample

A sample file with 5 chapters is included for testing:

```bash
bun run load-novel-cloud \
--file sample/got-sample.txt \
--book-title "A Game of Thrones" \
--book-abbrev "got" \
--api-key YOUR_EVERMIND_API_KEY
```

### Full Book

For the complete experience, obtain the full novel text file and load it:

```bash
bun run load-novel-cloud \
--file path/to/got.txt \
--book-title "A Game of Thrones" \
--book-abbrev "got" \
--api-key YOUR_EVERMIND_API_KEY
```

The script:
- Detects chapter boundaries automatically (PROLOGUE, character names in caps)
- Splits text into paragraphs
- Uploads to EverMind Cloud with metadata
- Supports resumption if interrupted

## Project Structure

```
├── frontend/ # React frontend
│ ├── src/
│ │ ├── components/ # UI components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── services/ # API client
│ │ └── types/ # TypeScript types
│ └── public/ # Static assets
├── backend/ # Express backend
│ ├── src/
│ │ ├── routes/ # API endpoints
│ │ ├── services/ # Business logic
│ │ └── utils/ # Utilities
├── scripts/ # CLI tools
│ ├── load-novel-cloud.ts # Load novel to EverMind
│ └── clear-memories-cloud.ts
└── sample/ # Sample data for testing
└── got-sample.txt # 5 chapters from Book 1
```

## Development

```bash
# Start dev servers
bun run dev

# Frontend only
bun run dev:frontend

# Backend only
bun run dev:backend

# Type check
bun run type-check

# Lint
bun run lint
```

## License

MIT

## Acknowledgments

- [EverMind](https://evermind.ai) for the memory infrastructure
- George R.R. Martin for "A Song of Ice and Fire"