- Notifications
You must be signed in to change notification settings - Fork2
AI-powered Knowledge Base UI Kit built on Memvid - the video-based memory format for AI.
NotificationsYou must be signed in to change notification settings
memvid/canvas
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
AI-powered Knowledge Base UI Kit built onMemvid - the video-based memory format for AI.
Canvas provides drop-in React components and server utilities to build search, chat, and dashboard interfaces powered by your documents and data.
| Package | Description | npm |
|---|---|---|
@memvid/canvas-core | Core engine, memory client, LLM providers | |
@memvid/canvas-react | React components, templates, hooks | |
@memvid/canvas-server | Server utilities, Next.js route handlers |
npm install @memvid/canvas-react @memvid/canvas-server# orpnpm add @memvid/canvas-react @memvid/canvas-server// app/api/canvas/[...path]/route.tsimport{createCanvasCatchAll}from'@memvid/canvas-server/next';import{loadSettings,getApiKey,resolvePath}from'@memvid/canvas-core';constbasePath=process.cwd();exportconst{GET,POST,OPTIONS}=createCanvasCatchAll({ basePath,config:()=>{constsettings=loadSettings(basePath);constprovider=settings?.llmProvider||'openai';constmemoryPath=resolvePath(settings?.memoryPath||'./data/memory.mv2',basePath);return{llm:{ provider,apiKey:getApiKey(provider)||'',model:settings?.llmModel,},memory:memoryPath,};},});
// app/page.tsx'use client';import{CanvasShell}from'@memvid/canvas-react/components';import'@memvid/canvas-react/styles/canvas.css';exportdefaultfunctionPage(){return<CanvasShellapiBasePath="/api/canvas"/>;}
# .env.localOPENAI_API_KEY=sk-...# orANTHROPIC_API_KEY=sk-ant-...
- Search - Semantic, lexical, and hybrid search across your documents
- Chat - RAG-powered chat with source citations
- Dashboard - Memory statistics and timeline view
- File Upload - Ingest PDFs, DOCX, XLSX, TXT, MD, JSON, and more
- Dark/Light Mode - Built-in theme support
- Customizable - Slots, hooks, and CSS variables for full control
┌─────────────────────────────────────────────────────────────┐│ Your Next.js App │├─────────────────────────────────────────────────────────────┤│ @memvid/canvas-react ││ ├── CanvasShell (full app) ││ ├── Search, Chat, Dashboard templates ││ └── useChat, useSearch hooks │├─────────────────────────────────────────────────────────────┤│ @memvid/canvas-server ││ ├── Next.js route handlers ││ └── File ingestion, search, chat endpoints │├─────────────────────────────────────────────────────────────┤│ @memvid/canvas-core ││ ├── CanvasEngine (orchestrates LLM + Memory) ││ ├── MemoryClient (wraps @memvid/sdk) ││ └── LLM providers (OpenAI, Anthropic, Google) │├─────────────────────────────────────────────────────────────┤│ @memvid/sdk ││ └── .mv2 file format (video-based memory) │└─────────────────────────────────────────────────────────────┘The server package creates these endpoints:
| Endpoint | Method | Description |
|---|---|---|
/api/canvas/chat | POST | Chat with memory context |
/api/canvas/search | POST | Search documents |
/api/canvas/ingest | POST | Upload and ingest files |
/api/canvas/memory | GET | Memory info and stats |
/api/canvas/stats | GET | Detailed statistics |
/api/canvas/settings | GET/POST | Settings management |
Canvas can ingest:
- Documents: PDF, DOCX, DOC, TXT, MD
- Spreadsheets: XLSX, XLS, CSV
- Presentations: PPTX, PPT
- Data: JSON, XML, YAML
// Use absolute path for consistencyconstmemoryPath=path.join(process.cwd(),'data','memory.mv2');
{llm:{provider:'openai',// 'openai' | 'anthropic' | 'google'model:'gpt-4o-mini',// or 'claude-sonnet-4-20250514', etc.apiKey:process.env.OPENAI_API_KEY,}}
:root {--canvas-primary:#818cf8;--canvas-accent:#22c55e;--canvas-background:#09090b;--canvas-surface:#18181b;--canvas-border:#27272a;--canvas-text:#fafafa;--canvas-muted:#a1a1aa;}
# Clonegit clone https://github.com/memvid/canvas.gitcd canvas# Installpnpm install# Build all packagespnpm build# Run democd memvid-memory-demopnpm dev
# Dry run (preview what would be published)pnpm publish:dry# Publish all packages to npmpnpm publish:all
- Memvid - Video-based memory for AI
- Documentation
- npm: @memvid/canvas-core
- npm: @memvid/canvas-react
- npm: @memvid/canvas-server
MIT
About
AI-powered Knowledge Base UI Kit built on Memvid - the video-based memory format for AI.
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published