Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

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.

Packages

PackageDescriptionnpm
@memvid/canvas-coreCore engine, memory client, LLM providersnpm
@memvid/canvas-reactReact components, templates, hooksnpm
@memvid/canvas-serverServer utilities, Next.js route handlersnpm

Quick Start

1. Install

npm install @memvid/canvas-react @memvid/canvas-server# orpnpm add @memvid/canvas-react @memvid/canvas-server

2. Create API Route (Next.js App Router)

// 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,};},});

3. Add the UI

// app/page.tsx'use client';import{CanvasShell}from'@memvid/canvas-react/components';import'@memvid/canvas-react/styles/canvas.css';exportdefaultfunctionPage(){return<CanvasShellapiBasePath="/api/canvas"/>;}

4. Add Environment Variables

# .env.localOPENAI_API_KEY=sk-...# orANTHROPIC_API_KEY=sk-ant-...

Features

  • 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

Architecture

┌─────────────────────────────────────────────────────────────┐│                     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)                   │└─────────────────────────────────────────────────────────────┘

API Endpoints

The server package creates these endpoints:

EndpointMethodDescription
/api/canvas/chatPOSTChat with memory context
/api/canvas/searchPOSTSearch documents
/api/canvas/ingestPOSTUpload and ingest files
/api/canvas/memoryGETMemory info and stats
/api/canvas/statsGETDetailed statistics
/api/canvas/settingsGET/POSTSettings management

Supported File Types

Canvas can ingest:

  • Documents: PDF, DOCX, DOC, TXT, MD
  • Spreadsheets: XLSX, XLS, CSV
  • Presentations: PPTX, PPT
  • Data: JSON, XML, YAML

Configuration

Memory Path

// Use absolute path for consistencyconstmemoryPath=path.join(process.cwd(),'data','memory.mv2');

LLM Providers

{llm:{provider:'openai',// 'openai' | 'anthropic' | 'google'model:'gpt-4o-mini',// or 'claude-sonnet-4-20250514', etc.apiKey:process.env.OPENAI_API_KEY,}}

Theme Customization

:root {--canvas-primary:#818cf8;--canvas-accent:#22c55e;--canvas-background:#09090b;--canvas-surface:#18181b;--canvas-border:#27272a;--canvas-text:#fafafa;--canvas-muted:#a1a1aa;}

Development

# Clonegit clone https://github.com/memvid/canvas.gitcd canvas# Installpnpm install# Build all packagespnpm build# Run democd memvid-memory-demopnpm dev

Publishing

# Dry run (preview what would be published)pnpm publish:dry# Publish all packages to npmpnpm publish:all

Links

License

MIT

About

AI-powered Knowledge Base UI Kit built on Memvid - the video-based memory format for AI.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2026 Movatter.jp