Plugins

Plugins

Extend nut.js with plugins for image matching, OCR, native I/O, browser integration, AI vision, and screen recording.

Overview

The nut.js ecosystem includes a range of plugins that extend the core library with additional capabilities. Each plugin focuses on a specific area of desktop automation, from image matching and OCR to browser integration and screen recording.

Input

@nut-tree/bolt

Native platform provider for mouse, keyboard, screen capture, and window management across Windows, macOS, and Linux

useBolt()

@nut-tree/bolt replaces the default low-level providers with enhanced functionality including unicode support, window management, and input monitoring.

Image Matching

@nut-tree/nl-matcher

Next-level image matching with multi-scale search, alpha masking, and match validation

useNlMatcher()

@nut-tree/plugin-ai-sdk

AI vision-based image matching using LLMs via Vercel AI SDK (OpenAI, Anthropic, Ollama)

useOpenAIVisionProvider()

@nut-tree/nl-matcher is the recommended image matching provider for most nut.js projects. For AI-powered matching using natural language descriptions, see @nut-tree/plugin-ai-sdk.

OCR

@nut-tree/plugin-ocr

Local OCR using Tesseract with configurable language models and preprocessing

useOcrPlugin()

@nut-tree/plugin-azure

Cloud-based OCR via Azure AI Vision for high-accuracy text recognition

useAzureVisionOCR()

Both OCR plugins integrate with the Text Search API. Choose @nut-tree/plugin-ocr for local processing without external data transmission, or @nut-tree/plugin-azure for higher accuracy on complex or low-quality images.

Element Inspection

@nut-tree/element-inspector

Inspect and interact with GUI elements using platform accessibility APIs (macOS, Windows, Linux)

useElementInspector()

@nut-tree/element-inspector works with @nut-tree/bolt to enable Element Search via accessibility APIs. Available for macOS, Windows, and Linux.

Browser Integration

@nut-tree/playwright-bridge

Redirect nut.js operations to Playwright browser viewports with custom matchers

useContext({ context })

@nut-tree/selenium-bridge

Redirect nut.js operations to Selenium WebDriver browser viewports

useSelenium({ driver })

Both bridges redirect nut.js image search and OCR to operate within browser viewports. See the @nut-tree/playwright-bridge and @nut-tree/selenium-bridge pages for details.

Recording

@nut-tree/plugin-screenrecording

Record screen activity with buffer mode for failure capture and configurable FPS

screen.startRecording(options)

@nut-tree/plugin-screenrecording supports recording to file with buffer mode for capturing the last N seconds before a failure.

Remote Desktop

@nut-tree/plugin-rdp

Automate remote desktops via RDP — redirect screen, keyboard, mouse, and clipboard to a remote machine

connect({ hostname, port, username, password })

@nut-tree/plugin-rdp establishes an RDP connection and redirects nut.js operations to the remote session. Image search, OCR, keyboard input, mouse control, and clipboard all work transparently over the connection.


Subscription Plans

Some plugins require an active subscription. The following plans are available:

PackageIncluded In
@nut-tree/boltSolo, Team
@nut-tree/nl-matchernl-matcher, Solo, Team
@nut-tree/plugin-ai-sdkSolo, Team
@nut-tree/plugin-ocrOCR, Solo, Team
@nut-tree/plugin-azureOCR, Solo, Team
@nut-tree/element-inspectorSolo, Team
@nut-tree/playwright-bridgeSolo, Team, OCR, nl-matcher
@nut-tree/selenium-bridgeSolo, Team, OCR, nl-matcher
@nut-tree/plugin-screenrecordingSolo, Team
@nut-tree/plugin-rdpSolo, Team

Was this page helpful?