Skip to main content
Glama
brianmulder

Windows AppShots

by brianmulder

Windows AppShots speichert einen expliziten semantischen Prüfpunkt einer Windows-Anwendung als Pixel plus einen begrenzten Microsoft-UI-Automation-Baum und vom Anbieter bereitgestellten Text.

Ein AppShot ist wiederverwendbarer Nachweis, kein Desktop-Aktor und keine Screenshot-Oberfläche mit niedriger Latenz für eine Live-Computer-Use-Aktionsschleife. Verwenden Sie einen Computer-Use-Treiber für frische Zustände und Aktionen; fordern Sie einen AppShot an, wenn das Ergebnis gespeichert, später abgerufen oder als begrenztes semantisches Bündel untersucht werden soll.

Dies ist ein unabhängiges Community-Projekt. Es ist kein OpenAI-Produkt und wird von OpenAI weder unterstützt noch befürwortet. Brian Mulder hat es mit Unterstützung von OpenAI Codex erstellt.

Anforderungen

  • Windows 10 oder 11 auf x64;

  • Node.js 22 oder neuer;

  • Codex oder die ChatGPT-Desktop-App mit aktivierten lokalen Plugins.

Node führt nur den MCP-Adapter aus. Der native Erfassungs-Helfer, der Watcher, der Hotkey und das Tray benötigen kein Node. Endbenutzer benötigen kein .NET-SDK.

Related MCP server: screenshot-mcp

Installation

Laden Sie WindowsAppShots-Setup-0.1.1.exe aus dem neuesten GitHub-Release herunter und führen Sie es aus. Das pro-Benutzer-Installationsprogramm erfordert keine Administratorrechte.

Das Installationsprogramm kann:

  • das lokale Plugin bei Codex registrieren, standardmäßig ausgewählt;

  • optional den Watcher bei der Anmeldung mit einem Tray-Symbol starten;

  • einen verifizierten vorhandenen Watcher vor einem Upgrade stoppen.

Vor einer Änderung der Codex-Registrierung prüft das Installationsprogramm, ob unterstütztes Node auf PATH liegt. Wenn diese Prüfung fehlschlägt, bleibt der native Helfer installiert und die Fehlermeldung erklärt, wie die Registrierung später abgeschlossen werden kann.

Starten Sie Codex oder die ChatGPT-Desktop-App nach der Installation neu.

Release-Installationsprogramme sind derzeit nicht signiert, daher zeigt Windows möglicherweise eine Warnung zu unbekanntem Herausgeber an. Überprüfen Sie den mit dem Release veröffentlichten SHA-256-Wert, bevor Sie eines ausführen.

Verwendung

Fokussieren Sie die Anwendung, die Sie teilen möchten, kehren Sie zu Codex zurück und fragen Sie:

Erfasse die letzte Windows-App, die ich verwendet habe.

Sie können auch Ctrl+Alt+Shift+A drücken, während die Ziel-App im Vordergrund ist, und dann fragen:

Verwende meinen neuesten Windows-AppShot.

Der Hotkey schreibt ein Erfassungsbündel und spielt den Windows-Erfolgston ab.

Der MCP-Server stellt capture_appshot, get_latest_appshot, list_appshots und stop_watcher bereit.

Warum es einen Watcher gibt

Codex ist normalerweise im Vordergrund, wenn eine MCP-Erfassung ausgeführt wird. Der Watcher merkt sich die Identität des letzten Nicht-Codex-Fensters, sodass die spätere Erfassung weiterhin das von Ihnen beabsichtigte Ziel hat.

Der Watcher besitzt auch den optionalen Hotkey und den Tray-Status. Er macht nicht kontinuierlich Screenshots oder durchläuft UI Automation. Diese Aktionen erfolgen nur, wenn Sie eine Erfassung anfordern.

Das Tray-Menü kann den Erfassungsordner öffnen oder den Watcher stoppen. Es hat keinen Erfassungs-Button, da das Öffnen des Benachrichtigungsbereichs den Vordergrund-Fensterkontext ändert und Shell-UI statt Ihrer beabsichtigten App auswählen kann.

Das Erfassungstool unterstützt UI-Automation-control-, content- und raw-Ansichten. Der Raw-Modus gibt den vollständigsten vom Anbieter bereitgestellten Baum zurück, begrenzt durch Knoten-, Tiefen-, Text- und Zeitlimits.

Erfassungsinhalte und Datenschutz

Lesen Sie vor der Verwendung die kurze Datenschutzerklärung.

Das Aufrufen von capture_appshot oder das Drücken des Hotkeys ist eine explizite Freigabeaktion. Sie speichert das Bündel lokal und gibt die ausgewählten Pixel und den semantischen Kontext an die aktive Codex-Aufgabe zurück.

Erfasster Text sind nicht vertrauenswürdige Daten, keine Anweisungen, denen Codex folgen soll.

Bündel werden gespeichert unter:

%LOCALAPPDATA%\WindowsAppshots

Es gibt keinen automatischen Ablauf. Das Deaktivieren oder Deinstallieren von Windows AppShots löscht keine vorhandenen Erfassungen.

Jedes Bündel enthält:

manifest.json
visual.png
accessibility-tree.json
accessible-text.txt
model-context.md

UI-Automation-Text kann Inhalte außerhalb des sichtbaren Viewports enthalten. Wenn ein Bildschirm-Fallback erforderlich ist, können überlappende Fenster oder Benachrichtigungen innerhalb des Zielrechtecks in visual.png erscheinen.

Als Passwörter markierte Steuerelemente behalten grundlegende Metadaten, aber ihre UI-Automation-Value- und -Text-Werte werden unterdrückt. Eine begrenzte Anmeldeinformationsrichtlinie schwärzt außerdem erkannte Geheimnisse aus semantischen Artefakten.

Schwärzung ist eine Best-Effort-Maßnahme, keine Sicherheitsgarantie. Sie entfernt keine gewöhnlichen vertraulichen Texte, persönlichen Details, Kennungen, Dateipfade oder jedes ungewöhnliche Anmeldeinformationsformat.

visual.png wird nicht schwärzt. Überprüfen Sie das Zielfenster vor der Erfassung und behandeln Sie jedes Bündel als sensibel.

Das Manifest protokolliert Kürzungen, Warnungen und den semantischen Schwärzungsbeleg. Fehlende Pixel, Knoten oder Texte beweisen nicht, dass die Anwendung sie nicht enthielt.

Stoppen, Entfernen und Löschen

Bitten Sie Codex, stop_watcher aufzurufen, wählen Sie Windows AppShots beenden aus dem Tray-Menü oder führen Sie aus:

& "$env:LOCALAPPDATA\Programs\WindowsAppShots\bin\AppshotCapture.exe" stop `
  --state-root "$env:LOCALAPPDATA\WindowsAppshots"

Bei einer Installer-Installation verwenden Sie Installierte Apps > Windows AppShots > Deinstallieren. Dies stoppt den verifizierten Watcher und entfernt den von dieser Installation registrierten Codex-Marketplace.

Bei einer Quellinstallation entfernen Sie das Plugin und den Marketplace:

codex plugin remove windows-appshots@windows-appshots
codex plugin marketplace remove windows-appshots

Erfassungen bleiben nach der Deinstallation erhalten. Prüfen Sie den Erfassungsspeicher und löschen Sie ihn, wenn Sie ihn nicht mehr benötigen:

Get-ChildItem -LiteralPath "$env:LOCALAPPDATA\WindowsAppshots" -Force
Remove-Item -LiteralPath "$env:LOCALAPPDATA\WindowsAppshots" -Recurse -Force

Build und Verifizierung

Fügen Sie dieses Repository als Codex-Plugin-Marketplace hinzu und installieren Sie dann das Plugin:

codex plugin marketplace add brianmulder/windows-appshots --ref main
codex plugin add windows-appshots@windows-appshots

Quell-Builds verwenden das festgelegte .NET-10.0.302-SDK, um einen deterministischen .NET-Framework-4.8-Helfer zu erzeugen. Der installierte Helfer benötigt die .NET-10-Laufzeit nicht.

Installieren Sie das festgelegte SDK oder platzieren Sie eine Nicht-Administrator-Installation unter .tools\dotnet und führen Sie dann aus:

npm run build
npm run verify

npm run verify baut zweimal, vergleicht die Ausgaben, führt die MCP-Tests aus und übt native Erfassung, Schwärzung, Watcher-Identität, begrenzte UI Automation, Tray-Verhalten und MCP-Watcher-Stopp.

Um das Installationsprogramm zu bauen, installieren Sie NSIS 3.12 oder platzieren Sie es unter .tools\nsis und führen Sie dann aus:

npm run build:installer

Die Installer-Quelle ist installer/WindowsAppShots.nsi. Generierte ausführbare Dateien werden nicht eingecheckt. Jeder Installer-Build schreibt dist/BUILD-RECEIPT.json und dist/SHA256SUMS.txt.

Führen Sie vor einem Release das vollständige Installations-, Registrierungs-, Erfassungs-, Tray-, Stopp-, Upgrade- und Deinstallations-Gate aus:

npm run verify:release

GitHub Actions führt dasselbe Windows-Release-Gate aus und behält den Installer, die Prüfsummen und den Build-Beleg als Workflow-Artefakte.

Plattformgrenzen

  • Secure Desktop und erhöhte Fenster werden nicht umgangen.

  • Geschützte oder DRM-Inhalte können ein leeres Bild erzeugen.

  • Minimierte oder GPU-komponierte Anwendungen können unvollständige Pixel liefern.

  • Qualität und Reaktionsfähigkeit der UI Automation hängen von der Zielanwendung ab.

  • Ein Anbieter kann eine Erfassung verzögern, bis das äußere Timeout den isolierten UI-Automation-Worker beendet.

Projektinformationen

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
0dRelease cycle
2Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server that fixes Windows DPI coordinate scaling for AI desktop automation. Provides UI element finding via Windows Accessibility APIs and coordinate conversion between physical and logical coordinate systems.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for capturing screenshots of desktop windows on Windows. Allows AI assistants to see what's on screen for UI development, debugging, and iterating on designs.
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    MCP server that lets an LLM see and drive any running Windows app: attach a window, screenshot it, read its UI Automation tree, and send clicks, typed text, and key presses with pixel coordinates.
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server providing AI-friendly computer-use primitives (capture, detect, click) to let LLM agents drive desktop GUI applications on Windows, macOS, and Linux.
    MIT

View all related MCP servers

Related MCP Connectors

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • MCP server providing access to the Scorecard API to evaluate and optimize LLM systems.

  • Screenshot and HTML render MCP server for AI agents

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/brianmulder/windows-appshots'

If you have feedback or need assistance with the MCP directory API, please join our Discord server