A collection of extension plugins for @netless/window-manager to enhance whiteboard functionality.
A powerful paste and drag-and-drop extension plugin that supports file conversion and insertion into whiteboard applications.
Features:
- ๐ Paste text, images, and files directly from clipboard
- ๐ฑ๏ธ Drag and drop files from computer to whiteboard
- ๐ Convert various file types (PDF, PPT, DOC, images, videos) to whiteboard-compatible formats
- ๐จ Built-in uploading progress UI with customizable language support
- โ๏ธ Flexible configuration options for file filtering and conversion logic
- ๐ก๏ธ XSS protection for pasted text content
- ๐ฑ Multi-language support (English, Chinese)
Supported File Types:
- Images:
.jpg,.jpeg,.png,.webp - Videos:
.mp4,.mpeg - Documents:
.ppt,.pptx,.doc,.pdf
AI chat extension based on OpenRouter API, with multimodal input, streaming responses, screenshots, and mind map export.
Features:
- ๐ค AI chat with multiple models and auto-fetched free model list
- ๐ผ๏ธ Multimodal input (text + images)
- ๐ธ Manual screenshot, auto screenshot, and snapshot; send screenshots directly to AI
- ๐ฌ Streaming responses with optional reasoning and final output separation
- ๐ Markdown rendering and code highlighting
- ๐บ๏ธ Export Markdown to mind map and add to whiteboard
- ๐พ IndexedDB-persisted chat history and multi-session management
- ๐ท๏ธ Multi-tab sessions
- ๐ English and Chinese UI
Extension for customizing the main view background: image, color, and opacity.
Features:
- ๐ผ๏ธ Custom background image (URL, size, crossOrigin)
- ๐จ Background color
- ๐ฒ Background opacity (0โ1)
- ๐ข
loadErrorevent when background image fails to load
Maths kit extension providing math tools and annotations on the main view and app views.
Features:
- ๐ Math tools and annotations
- ๐จ Light/dark theme
- ๐ฑ Bind to main view and app views
- ๐ Read-only mode
- ๐ State and camera sync across clients
- โก Create, update, and remove math tools dynamically
Custom draggable scrollbars for the main view to navigate large content areas.
Features:
- ๐ฏ Auto horizontal/vertical scrollbars when content overflows viewport
- ๐ฑ๏ธ Drag scrollbars to navigate the whiteboard
- ๐ Scrollbar size adapts to zoom and content size
- ๐ Hide in read-only mode
- โ๏ธ Configurable origin size and read-only state
Mouse wheel extension for scrolling the main view and apps (Presentation, DocsViewer, Slide).
Features:
- ๐ฑ๏ธ Mouse wheel scrolling on main view and inside apps
- ๐ฑ Supports Presentation, DocsViewer, Slide
- ๐ Read-only mode
- ๐ Configurable scroll bounds
- โก Custom interrupter to control when whiteboard scroll is blocked
Install only the plugins you need:
# Paste extension
pnpm add @netless/window-manager-paste-extend
# AI chat extension
pnpm add @netless/window-manager-ai-extend
# Background extension
pnpm add @netless/window-manager-background-extend
# Maths kit extension
pnpm add @netless/window-manager-maths-kit-extend
# Scrollbar extension
pnpm add @netless/window-manager-scrollbar-extend
# Wheel extension
pnpm add @netless/window-manager-wheel-extendYou can use npm install or yarn add instead of pnpm add. See each packageโs README (e.g. packages/ai/README.md) for detailed usage.
import { ExtendPastePlugin } from '@netless/window-manager-paste-extend';
const pastePlugin = new ExtendPastePlugin({
language: 'en',
useDrop: true,
convertFile: async (file) => {
// Your file conversion logic
// Return PasteFileResult or null
}
});
// Register with window manager
windowManager.useExtendPlugin(pastePlugin);- Node.js 16+
- pnpm 8+
# Clone the repository
git clone https://github.com/netless-io/window-manager-extend.git
cd window-manager-extend
# Install dependencies
pnpm install
# Start development
pnpm devwindow-manager-extend/
โโโ packages/
โ โโโ paste/ # Paste extension @netless/window-manager-paste-extend
โ โโโ ai/ # AI chat extension @netless/window-manager-ai-extend
โ โโโ background/ # Background extension @netless/window-manager-background-extend
โ โโโ maths-kit/ # Maths kit extension @netless/window-manager-maths-kit-extend
โ โโโ scrollbar/ # Scrollbar extension @netless/window-manager-scrollbar-extend
โ โโโ wheel/ # Wheel extension @netless/window-manager-wheel-extend
โโโ example/ # Example application
โโโ service/ # Backend services
โโโ dev/ # Development tools
pnpm dev- Start development mode for all packagespnpm lint- Run ESLint on all packagespnpm lint:fix- Fix ESLint issues automaticallypnpm clear- Clean build outputs
Check out the example directory for complete integration examples with:
- Fastboard integration
- Window Manager integration
- File upload and conversion
- Plugin registration
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT
- @netless/window-manager - Core window manager library
- @netless/fastboard - Fast whiteboard solution
- @netless/app-presentation - Document presentation plugin
- @netless/app-pdfjs - PDF viewer plugin