AppKit Inspector
AppKit Inspector
AppKit Inspector es un puente solo de depuración para inspeccionar una interfaz nativa de macOS AppKit en vivo desde Codex. Captura la vista de contenido de la aplicación en el proceso, asigna un punto clicado a su NSView, muestra la jerarquía y la geometría, y prepara una retroalimentación visual precisa para una tarea de codificación.
Vista previa pública: Las API, el empaquetado de complementos y el comportamiento de presentación pueden cambiar antes de la versión 1.0. Codex Browser es la superficie predeterminada compatible. La pantalla completa sigue siendo experimental y está deshabilitada de forma predeterminada.
Características
Inspeccione una ventana real de AppKit sin permiso de Accesibilidad ni Grabación de pantalla.
Haga clic en la interfaz capturada e identifique el
NSViewnativo más profundo.Revise nombres de clases, marcos, metadatos de accesibilidad y rutas de antepasados.
Copie un paquete de retroalimentación que contenga la vista seleccionada, la geometría, la nota y los artefactos locales privados.
Mantenga el descubrimiento y el transporte autenticados en
127.0.0.1.Compile la sonda fuera del comportamiento de Release activo con
#if DEBUG.
Related MCP server: computer-use
Requisitos
macOS 14 o posterior;
Xcode 26 o posterior con Swift 6.2;
Node.js 22 o posterior;
una instalación actual de Codex de escritorio para el flujo de trabajo del complemento.
Inicio rápido
Clone y verifique el proyecto:
git clone https://github.com/JaminZhou/AppKitInspector.git
cd AppKitInspector
npm ci
npm run checkInstale el repositorio clonado como un marketplace local de Codex y habilite el complemento:
codex plugin marketplace add "$PWD"
codex plugin add appkit-inspector@appkit-inspector-devInicie la demostración de AppKit incluida:
make demoInicie una nueva tarea de Codex para que cargue las herramientas MCP recién instaladas y luego pregunte:
Use AppKit Inspector to connect to the running demo and open it in Codex Browser. The workflow
explicitly presents the right Browser panel after navigation. In the Inspector, use **Fit**, **−**,
and **+** to resize the snapshot; trackpad pinch and Command-modified scrolling also zoom.La herramienta predeterminada open_appkit_inspector crea una URL de loopback de un solo uso de 60 segundos para el panel del navegador derecho de la tarea actual. Nunca solicita pantalla completa ni invoca el navegador del sistema automáticamente. La ventana del navegador externo es una alternativa explícita.
Agregue la sonda a un proyecto de AppKit
Agregue el paquete en Xcode con:
https://github.com/JaminZhou/AppKitInspector.gitO declárelo en Package.swift:
.package(
url: "https://github.com/JaminZhou/AppKitInspector.git",
from: "0.1.1"
)Agregue AppKitInspectorProbe solo a un destino de Debug o a una configuración de Debug, luego inícielo después de que la aplicación se haya lanzado:
#if DEBUG
import AppKitInspectorProbe
_ = try? AppKitInspectorProbe.start()
#endifNunca agregue ni inicie la sonda en compilaciones de Release, archivo, TestFlight o App Store.
Modos de presentación
Codex Browser: predeterminado y compatible.
Ventana local externa: alternativa explícita abierta en el navegador predeterminado del sistema.
Pantalla completa de la aplicación MCP: experimental, deshabilitada de forma predeterminada y disponible solo cuando el servidor MCP se inicia con
APPKIT_INSPECTOR_EXPERIMENTAL_FULLSCREEN=1.
Ningún fallo de presentación abre automáticamente otra ventana.
Estructura del repositorio
native/— sonda Swift reutilizable, aplicación de demostración y pruebas nativas.packages/mcp/— servidor MCP local, descubrimiento y transporte autenticado.packages/app/— interfaz de navegador del Inspector y cliente local.plugins/appkit-inspector/— complemento de Codex instalable, distribución generada y habilidad.TODO.md— trabajo diferido y aceptación de pantalla completa experimental.
Desarrollo
npm ci
npm run check
swift build -c releasePara una verificación del puente en vivo, ejecute make demo en una terminal y npm run test:live en otra. Después de cambiar packages/app/ o packages/mcp/, ejecute npm run build e incluya los archivos generados correspondientes en plugins/appkit-inspector/dist/.
Seguridad y privacidad
La sonda y los servidores del Inspector se vinculan solo a loopback, requieren credenciales aleatorias y escriben datos de descubrimiento privados del usuario. Los enlaces de lanzamiento de Codex Browser son de un solo uso y se convierten en sesiones HttpOnly y de mismo sitio. El proyecto utiliza API públicas de AppKit y Foundation y no utiliza inyección, automatización de Accesibilidad, frameworks privados ni Grabación de pantalla.
Las capturas de pantalla, los datos de jerarquía, las notas y los artefactos de revisión son sensibles. Cuando se usan a través de Codex, pueden convertirse en parte de la tarea de Codex bajo los controles de datos del producto y del espacio de trabajo del usuario. Lea SECURITY.md antes de integrar la sonda y use avisos de seguridad privados para informar vulnerabilidades.
Contribuciones
Consulte CONTRIBUTING.md. Las contribuciones enviadas intencionalmente al proyecto se licencian bajo Apache License 2.0.
Licencia
Copyright 2026 Jamin Zhou.
Licenciado bajo la Apache License, Version 2.0. Las atribuciones de dependencias incluidas se documentan en THIRD_PARTY_NOTICES.md.
This server cannot be deployed
Maintenance
Related MCP Connectors
Drive real devices from your AI Coding tool. Embed a client SDK (Unity, Godot, Flutter, iOS/macOS, Android, React Native, Web) in your app, then capture screenshots, traverse the UI tree, inject taps and key events, and run automated test tasks on the physical device over a secure relay.
remote debug iOS/Android/Unity/Godot/Flutter/RN/Web on real-device.ui-tree/screenshots/taps,tests.
Let ChatGPT, Claude & Cursor use your Mac: email, calendar, iMessage, Teams, files. Local, free.
Live browser debugging for AI assistants — DOM, console, network via MCP.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients to control macOS via accessibility and screen recording, providing tools to list apps, observe UI, click, type, press keys, and scroll.MIT
- AlicenseNot gradedqualityBmaintenanceProvides a JSON-RPC computer use runtime for macOS, exposing 7 MCP tools (observe/act/inspect/session/cancel/trace) as image content blocks so external agents like Claude Code, Pi, OpenCode, or Codex CLI can capture screenshots and drive the desktop with clicks, keys, and typing while enforcing session locking, stale-frame protection, and trace redaction server-side.131MIT
- AlicenseAqualityBmaintenanceEnables Codex and other MCP clients to read design context from Figma Desktop via a local bridge, providing design tokens, component trees, and screenshots without an API token.7MIT
- AlicenseAqualityCmaintenanceEnables Claude to inspect and drive native macOS app UIs during development via an in-process view tree and screenshot renderer, without requiring screen recording permission.7MIT