Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Bun Uia

БесплатноНе проверен

Playwright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.

GitHubEmbed

Описание

Playwright for the Windows desktop, from Bun — drive native GUIs via UI Automation + MCP.

README

Zero-dependency Win32 FFI bindings for Bun on Windows. Each system DLL is a standalone @bun-win32/* package with full type definitions.

Install

# Per-DLL packages:
bun add @bun-win32/kernel32 @bun-win32/user32 # etc...

# Or pull the entire surface in one install:
bun add @bun-win32/all     # scoped meta-package
bun add bun-win32          # unscoped alias for the same surface

Requires Bun >= 1.1.0 and Windows 10+.

Usage

After the first call resolves the symbol via dlopen/dlsym, the native function pointer is cached directly on the class. Every subsequent call is a straight pointer invocation through Bun's FFI - no marshaling layer, no runtime type checks, no wrapper overhead. It's the same codepath as calling the C function yourself.

For hot paths, Preload() resolves symbols eagerly so even the first call pays zero binding cost:

import Kernel32 from '@bun-win32/kernel32';

const pid = Kernel32.GetCurrentProcessId();
const ticks = Kernel32.GetTickCount64();
import User32 from '@bun-win32/user32';

User32.Preload(['GetForegroundWindow', 'SetWindowPos']);

const { GetForegroundWindow, SetWindowPos } = User32;

SetWindowPos(hWnd, 0n, x, y, width, height, flags);

[!IMPORTANT] If you destructure before binding, you capture the lazy wrapper instead of the native function.

Packages

All type definitions are provided by @bun-win32/core.

Published packages are AI-friendly. Alongside the README.md, each package includes an AI.md file that documents the binding contract, type surface, and source layout so coding agents can use the package correctly.

Graphics & Windowing

  • comctl32 - common controls, image lists, property sheets, DPA/DSA dynamic arrays, flat scroll bars, window subclassing
  • comdlg32 - common dialogs: Open / Save File, Choose Color, Choose Font, Print, Page Setup, Find / Replace, and CommDlgExtendedError
  • d2d1 - Direct2D: GPU-accelerated 2D — ID2D1Factory / device-context creation plus Direct2D's native affine-matrix, color-space (sRGB / scRGB), gradient-mesh (Coons-patch), and trig / vector math (D2D1CreateFactory, D2D1MakeRotateMatrix, D2D1ConvertColorSpace, …)
  • d3d11 - Direct3D 11 device / swap-chain creation, D3D11-on-12 interop, WinRT IDirect3DDevice / IDirect3DSurface bridges
  • d3d12 - Direct3D 12 device creation, debug-layer / global-interface access, and root-signature serialize/deserialize (D3D12CreateDevice, D3D12GetDebugInterface, D3D12GetInterface, D3D12SerializeVersionedRootSignature, …) — modern GPU/compute/ML path
  • d3dcompiler_47 - HLSL → DXBC shader compilation, preprocessing, disassembly, reflection, blob part extraction, shader stripping, function linking graph
  • dcomp - DirectComposition device/surface creation (DCompositionCreateDevice/2/3, DCompositionCreateSurfaceHandle) and the Windows-11 compositor-clock frame/statistics surface (DCompositionGetFrameId, DCompositionGetStatistics, DCompositionWaitForCompositorClock, DCompositionBoostCompositorClock) — live compositor heartbeat proven pure-FFI
  • dwmapi - DWM composition, blur, thumbnails
  • dwrite - DirectWrite factory entry point (DWriteCreateFactory): system font enumeration, text layout, glyph metrics, and pure-FFI ClearType/grayscale glyph rasterization over the IDWriteFactory COM vtable
  • dxcore - DXCore adapter-factory entry point (DXCoreCreateAdapterFactory): DXGI-independent GPU & compute-only MCDM adapter enumeration, hardware IDs, memory pools, and capability/attribute queries over the IDXCoreAdapterFactory/List/Adapter COM vtable
  • dxgi - DXGI adapter enumeration, factory creation, debug interface (CreateDXGIFactory*, DXGIGetDebugInterface1)
  • dxva2 - DDC/CI monitor configuration (brightness, contrast, RGB drive/gain, colour temperature, VCP), physical monitor enumeration, DXVA2 / DXVA-HD video acceleration, OPM video output
  • gdi32 - graphics device interface
  • gdiplus - GDI+ flat C API: image load/save (PNG, JPEG, BMP, GIF, TIFF, ICO), antialiased 2D drawing, paths, regions, gradients, brushes, fonts, color matrix effects, metafile recording
  • glu32 - OpenGL utility functions
  • magnification - Magnification API: recolor the entire desktop via a 5x5 color matrix (grayscale, photo-negative, sepia, color-blindness simulation), full-screen zoom/pan transforms, magnifier-control window filtering, and pen/touch input remapping
  • mscms - Image Color Management (ICM): ICC profiles, color transforms, sRGB / Adobe RGB / CMYK conversion via Win32 CMM, display calibration, and the Windows Color System (WCS) profile management API
  • opengl32 - OpenGL rendering context
  • user32 - windows, messages, input, UI
  • uxtheme - visual styles, themed controls, buffered painting
  • windowscodecs - Windows Imaging Component (WIC): zero-build image decode/encode (JPEG, PNG, GIF, TIFF, BMP, HEIF), scaling, flip/rotate, pixel-format conversion, palettes, color contexts, and metadata — the full proxy-function surface

Multimedia

  • avifil32 - Video for Windows AVIFile API: open/create .avi files, enumerate streams, read/write video, audio, MIDI, and text streams, decode frames to DIBs (AVIStreamGetFrame), mux files from streams, editable-stream cut/copy/paste
  • avrt - MMCSS multimedia thread scheduling: join system-profile tasks ("Pro Audio", "Games", …), raise AVRT priority, query the system-responsiveness reservation, and coordinate thread-ordering groups (AvSetMmThreadCharacteristicsW, AvSetMmThreadPriority, AvQuerySystemResponsiveness, AvRtCreateThreadOrderingGroup) — the low-latency audio/capture scheduling primitives
  • dinput8 - DirectInput 8: every non-Xbox controller — racing wheels, flight sticks / HOTAS, generic gamepads (DirectInput8Create, GetdfDIJoystick); device enumeration, capabilities, acquisition, and polling over the IDirectInput8 COM vtable
  • directml - Vendor-neutral, Direct3D 12-backed machine-learning device creation (DMLCreateDevice, DMLCreateDevice1); creates a real IDMLDevice over an ID3D12Device and decodes its true max feature level over the IDMLDevice COM vtable — DirectML shipped, proven pure-FFI, audit 0 mismatches
  • dsound - DirectSound: playback / capture device creation & enumeration, full-duplex, and default-device GUID resolution (DirectSoundCreate8, DirectSoundEnumerateW, GetDeviceID, …) — synthesize and play PCM end-to-end over the IDirectSound8 / IDirectSoundBuffer COM vtable
  • gameinput - GameInput, the modern unified input model — GameInputCreate Nano-COM factory + Dll* COM-server entries; gamepad / keyboard / mouse / flight & arcade stick / racing wheel / sensor readings over the IGameInput COM vtable
  • mf - Media Foundation pipeline: source resolver, ASF authoring graph (profile / multiplexer / indexer / splitter / stream selector), container media sinks (MP3 / AC-3 / ADTS / MPEG-4 / fragmented-MP4 / 3GP), streaming sinks, video renderer, network credential / proxy, and the protected-environment / signed-library surface (MFCreateSourceResolver, MFCreateASFProfile, MFCreateMPEG4MediaSink, MFGetSupportedSchemes, …)
  • mfplat - Media Foundation platform: lifecycle, work queues, MFT registry, media type / sample / byte stream factories (MFStartup, MFTEnumEx, MFCreateAttributes, MFCreateSample)
  • mfreadwrite - Media Foundation source reader / sink writer factories (MFCreateSourceReader*, MFCreateSinkWriter*)
  • mmdevapi - MMDevice / Core Audio class factory, WASAPI async activation (DllGetClassObject, ActivateAudioInterfaceAsync)
  • quartz - DirectShow runtime: HRESULT → text (AMGetErrorTextA/W) and the Filter Graph Manager Dll* COM server (CLSID_FilterGraphIGraphBuilder); reaches legacy webcams / capture cards / codecs Media Foundation misses
  • winmm - multimedia audio, MIDI, mixers, timers, joysticks, MCI
  • xaudio2_9 - XAudio2 2.9: low-latency audio engine + voice graph, X3DAudio positional math (matrix / Doppler / LPF solve), and every built-in XAPO — volume meter, reverb, FXEQ / FXMasteringLimiter / FXReverb / FXEcho (XAudio2Create, X3DAudioInitialize, X3DAudioCalculate, CreateAudioVolumeMeter, CreateFX); synthesize and play PCM end-to-end over the IXAudio2 / IXAudio2SourceVoice COM vtable
  • xinput1_4 - XInput 1.4: Xbox controller state, vibration, battery, audio, keystroke
  • xinput9_1_0 - XInput 9.1.0: legacy Xbox controller state, vibration, DirectSound GUIDs

Networking

  • bluetoothapis - Bluetooth Classic radio/device discovery, BLE GATT, SDP, authentication
  • dnsapi - DNS resolution across every record type (A, AAAA, MX, NS, SOA, TXT, SRV, CAA, etc.), name validation, configured server discovery, DNS-SD, mDNS, async queries
  • firewallapi - Windows Firewall policy via the FirewallAPI.dll COM server (INetFwPolicy2 profile state through DllGetClassObject) plus the 9 documented network-isolation / AppContainer functions (enumerate, free, config, change subscriptions, connect-failure diagnostics) — all 13 documented exports
  • fwpuclnt - Windows Filtering Platform: Base Filtering Engine sessions/transactions, provider/sub-layer/layer/callout/filter CRUD + enumeration + change subscriptions, IPsec SA/tunnel/key-manager, IKE/AuthIP SAs, net-event diagnostics, ALE endpoints, Winsock secure-socket extensions — all 199 documented exports
  • httpapi - HTTP Server API (HTTP.sys): kernel-mode listener powering IIS, request queues, URL groups, server sessions, SSL/TLS config, response caching, HTTP/2 push, request shaping
  • iphlpapi - network adapters, TCP/UDP tables, routing
  • mpr - network drive mapping, UNC connections, resource enumeration
  • netapi32 - users, groups, shares, domain joins
  • ntdsapi - Active Directory client: directory bind (DsBind*), name-format translation (DsCrackNames), Kerberos SPN forge/register (DsGetSpn, DsClientMakeSpnForTargetServer, DsWriteAccountSpn), site/server/role/DC enumeration, replication control (DsReplicaSync/Add/GetInfo), SID-history migration — all 81 documented exports, SPN + syntactical name-cracking work with no domain
  • sensapi - System Event Notification Service connectivity checks (IsNetworkAlive, IsDestinationReachable)
  • winhttp - HTTP/HTTPS client, WebSockets, proxy auto-detect (WPAD/PAC), TLS configuration, request tracing
  • wininet - WinINet/IE-legacy stack: HTTP/HTTPS, FTP, persistent URL cache, cookie jar (InternetGetCookieEx2, InternetSetCookieEx2), autodial, per-site cookie decisions
  • wlanapi - Native Wifi: interface enumeration, scans, profiles, Wi-Fi Direct
  • wldap32 - LDAP client: directory bind/auth, search, modify, add/delete/rename/compare, extended operations, server/client controls, paged / sorted / virtual-list-view results, StartTLS, and the BER (winber) encode/decode primitives
  • ws2_32 - Winsock 2: BSD sockets, DNS, network I/O

Printing

  • prntvpt - Print Ticket / Print Schema: PrintCapabilities, DEVMODE ⇄ Print Ticket conversion, merge & validate
  • winspool - printer management, print jobs, spooler control, drivers

Remote Desktop & Terminal Services

  • wtsapi32 - Terminal Services sessions, processes, virtual channels, remote desktop

Security & Crypto

  • advapi32 - registry, security descriptors, service control
  • amsi - Antimalware Scan Interface: submit scripts/buffers to the registered AV provider (Defender) for in-process scanning (AmsiInitialize, AmsiScanBuffer, AmsiScanString, AmsiNotifyOperation) — EICAR detection proven pure-FFI, no shelling out
  • bcrypt - Cryptography Next Gen (CNG): ciphers, hashes, HMAC, PBKDF2, signatures, random bytes, key agreement
  • credui - credential prompts, username parsing, auth blobs, and SSPI prompt helpers
  • crypt32 - certificate stores, chains, encoding, DPAPI
  • fveapi - BitLocker / Full Volume Encryption (fveapi.dll): all 162 exports — volume open / lock / unlock, protection & conversion status, key packages, recovery-password backup, device-encryption support, and the DMA / HSTI security checks
  • ncrypt - CNG Key Storage: persisted keys, RSA/ECDSA/ECDH signing & key agreement, key attestation claims, DPAPI-NG protection descriptors and streaming
  • secur32 - SSPI authentication, credentials, LSA
  • sspicli - SSPI client-side auth and SASL
  • tbs - TPM Base Services: open a TBS context, submit raw TPM 2.0 command buffers, read the TCG measured-boot log, query device ID / owner-auth (Tbsi_Context_Create, Tbsip_Submit_Command, Tbsi_Get_TCG_Log, GetDeviceID) — TPM2_GetRandom / GetCapability proven pure-FFI against real hardware
  • webauthn - WebAuthn / FIDO2: drive the Windows platform authenticator (Windows Hello biometrics + TPM-backed passkeys) — passkey registration & assertion, platform-credential enumeration/deletion, cancellation, and W3C DOMException error mapping (WebAuthNAuthenticatorMakeCredential, WebAuthNAuthenticatorGetAssertion, WebAuthNGetPlatformCredentialList) — a real Windows Hello passkey ceremony proven pure-FFI
  • winscard - smart card resource manager, reader discovery, status changes, and APDU transport
  • wintrust - Authenticode signature verification (WinVerifyTrust), catalog admin, SIP, and trust-provider helpers
  • wscapi - Windows Security Center: aggregate provider health (firewall, antivirus, auto-update, UAC, WSC service) and change registration (WscGetSecurityProviderHealth, WscRegisterForChanges) — live security posture without parsing PowerShell

System

  • activeds - Active Directory Service Interfaces (ADSI): bind a directory object by ADsPath to IADs / IADsContainer (ADsGetObject, ADsOpenObject), enumerate container children, and round-trip binary security descriptors — WinNT / LDAP providers
  • cabinet - Compression API (MSZIP / XPRESS / XPRESS-Huffman / LZMS) plus Cabinet (.cab) archive creation and extraction via the FCI / FDI callback interfaces
  • cfgmgr32 - device tree traversal, configuration management, device properties, interfaces, resources
  • cldapi - Cloud Files API (cfapi.h): all 35 documented exports — sync-root register/connect, placeholder create/convert/update/revert, hydrate/dehydrate, transfer keys, pin & in-sync state, placeholder/sync-root info, and platform version — the OneDrive Files On-Demand engine that projects zero-byte-on-disk placeholder files, proven pure-FFI
  • clfsw32 - Common Log File System: all 53 documented user-mode + management exports — dedicated/multiplexed log creation, containers, marshaling areas, durable record reserve/append, archival, the CLFS management policy surface, and the 8-byte by-value CLFS_LSN algebra (LsnCreate/LsnContainer/LsnBlockOffset/LsnRecordSequence) — the kernel write-ahead-log engine behind TxF/TxR, proven pure-FFI
  • clusapi - Failover Cluster API: cluster / node / group / resource / network / netinterface lifecycle, the full open / enum / control families, the cluster registry batch API, and notification ports — all 205 documented exports
  • combase - Windows Runtime activation core: RoInitialize/RoActivateInstance/RoGetActivationFactory, the full HSTRING string API, fast-pass/preallocated buffers, and the WinRT error-info surface — the pure-FFI path to toast notifications and the rest of the WinRT projection
  • dbghelp - symbol engine, stack walking, minidumps, image helpers, source-level debugging
  • dismapi - DISM image servicing: online/offline sessions, optional features, packages, drivers, capabilities, image health (DismInitialize, DismOpenSession, DismGetFeatures, DismCheckImageHealth) — the DISM.exe engine in-process, no spawn
  • fltlib - Filter Manager (fltuser.h): minifilter / instance / volume enumeration, info queries, load/unload, attach/detach, and the minifilter communication-port channel (FilterFindFirst, FilterInstanceFindFirst, FilterVolumeFindFirst, FilterConnectCommunicationPort) — the file-system filter stack fltmc shows, pure-FFI
  • hid - HID device access, feature reports, preparsed data parsing
  • kernel32 - processes, memory, files, console, threads
  • ktmw32 - Kernel Transaction Manager (KTM): create/open transactions, transaction managers, resource managers, and enlistments; two-phase commit/rollback (CreateTransaction, CommitTransaction, RollbackTransaction, CreateResourceManager, CreateEnlistment) — atomic transacted-NTFS / transacted-registry work, pure-FFI
  • mi - Windows Management Infrastructure client bootstrap and function-table discovery
  • msi - Windows Installer: product enumeration, install state, database, patching
  • ntdll - native NT API
  • normaliz - internationalized domain names, Nameprep, and Unicode normalization
  • ole32 - COM/OLE helpers, monikers, structured storage, clipboard, drag-drop
  • oleacc - Microsoft Active Accessibility (MSAA): resolve IAccessible from a window or screen point, walk the accessibility tree, decode role/state text, marshal objects to/from LRESULT
  • oleaut32 - OLE Automation: BSTR, VARIANT, SAFEARRAY, DECIMAL, CURRENCY, type libraries, IDispatch helpers, OLE pictures, full Var*From* conversion family
  • pdh - performance counter queries, logs, and enumeration
  • powrprof - power schemes, policies, sleep states, battery management
  • propsys - Windows Property System: full PROPVARIANT/VARIANT conversion families, vector/array helpers, property keys (PSGetPropertyKeyFromName), property descriptions, property stores/bags, and PropVariantCompareEx (Explorer's value comparator)
  • psapi - process status and module enumeration
  • rasapi32 - Remote Access Service: dial-up/VPN dialing and hang-up, connection enumeration and status, phone-book entry/sub-entry/credentials/dial-params management, autodial, projection info, link/connection statistics, EAP user data
  • rpcrt4 - RPC runtime: UUID generation (random + sequential), client/server bindings, endpoint mapper enumeration, authentication levels, extended error info, protocol sequences, MES pickling, string-binding compose/parse, DceErrorInqText
  • rstrtmgr - Restart Manager sessions, lock discovery, shutdown, and restart orchestration
  • setupapi - device installation, INF parsing, class and interface enumeration
  • shcore - DPI awareness, scale factors, AppUserModelID, random access streams, registry helpers, isolated-container detection, threading refs
  • shell32 - shell operations and file management
  • shlwapi - shell lightweight utility functions
  • srclient - System Restore client: create / begin / end restore points (SRSetRestorePointW/A) and remove them (SRRemoveRestorePoint) — RESTOREPOINTINFO / STATEMGRSTATUS pack(1) structs
  • taskschd - Task Scheduler COM server entry points, class factory activation, task enumeration
  • tdh - Trace Data Helper: ETW event decoding (TdhGetEventInformation, TdhFormatProperty), provider / field / event-schema enumeration, value & bitmap maps, manifest loading, and payload filters
  • uiautomationcore - UI Automation nodes, pattern objects, provider bridging, and event plumbing
  • userenv - user profiles, environment blocks, and Group Policy
  • version - file version resources, string tables, installer version helpers
  • virtdisk - VHD, VHDX, and ISO virtual disk creation, attachment, inspection, and management
  • vssapi - Volume Shadow Copy Service: the IVssBackupComponents backup engine (CreateVssBackupComponents), writer-metadata examination, shadow-copy presence (IsVolumeSnapshotted), and revert-block policy — the documented vsbackup.h surface
  • wer - Windows Error Reporting report authoring/stores (WerReportCreate, WerReportSubmit, WerStoreOpen, WerStoreQueryReportMetadataV2) plus the Wait Chain Traversal deadlock-detection API (OpenThreadWaitChainSession, GetThreadWaitChain) — live kernel thread-wait X-ray proven pure-FFI
  • wevtapi - Windows Event Log queries, rendering, subscriptions, channel configuration, publisher metadata
  • wimgapi - Windows Imaging (WIM): create/open .wim archives, capture/apply/enumerate images, mount/unmount/split/export, references, and live progress via a WIMRegisterMessageCallback JSCallback — the DISM.exe/ImageX engine in-process
  • windowsaccessbridge-64 - Java Access Bridge: classify Java/Swing windows (isJavaWindow), walk the AccessibleContext tree (getAccessibleContextFromHWND / getAccessibleContextInfo / getAccessibleChildFromContext), read text/table/hypertext/value/selection info, drive actions, and register event callbacks — all 97 exports, proven against a live JDK Swing app
  • winusb - WinUSB device I/O, descriptors, pipes, policies, and isochronous transfers
  • wuapi - Windows Update Agent COM server (Dll* entries): the Windows Update object model — IUpdateSession / IUpdateSearcher / update-history enumeration and result decoding over the COM vtable

Project Structure

bun-win32/
|-- bin/
|-- packages/
|   |-- core/
|   |-- template/
|   |-- advapi32/
|   |-- ...
|   |-- uiautomationcore/
|   `-- wtsapi32/
|-- scripts/
|-- AGENTS.md
|-- PROMPT.md
`-- README.md

Generating a New Package

All packages in this repo are AI-generated using Claude Code. To add bindings for a new DLL:

  1. Open the repo in Claude Code.
  2. Set the model to max effort with extended thinking enabled.
  3. Send:
Execute @PROMPT.md for `crypt32`.

Replace crypt32 with whatever DLL you're targeting. PROMPT.md uses the scaffold, catalog, runtime-probe, stub-scaffold, and audit scripts to keep the work mechanical, resumable, and less error-prone.

License

MIT

from github.com/ObscuritySRL/bun-win32

Установить Bun Uia в Claude Desktop, Claude Code, Cursor

Рекомендуется · одна команда, все IDE
unyly install bun-uia

Ставит в Claude Desktop, Claude Code, Cursor и VS Code — сам разбирается с npx, uvx и сборкой из исходников.

Впервые? Поставь CLI: curl -fsSL https://unyly.org/install | sh

Или настроить вручную

Выполни в терминале:

claude mcp add bun-uia -- npx -y bun-uia

FAQ

Bun Uia MCP бесплатный?

Да, Bun Uia MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Bun Uia?

Нет, Bun Uia работает без API-ключей и переменных окружения.

Bun Uia — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Bun Uia в Claude Desktop, Claude Code или Cursor?

Открой Bun Uia на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Bun Uia with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории design