tauri-agent
Headless agent debugger for Tauri apps.
tauri-agent is a protocol-first control surface for agents that need to
inspect, drive, and debug live Tauri applications. One JSON-RPC 2.0 method set —
semantic tree snapshots, @ref actions, input synthesis, screenshots, logs /
events / network / IPC capture, dialogs, waiters, and recording — reachable from
a CLI, an MCP server, guest helpers, and Rust commands, all routing into a
single bridge inside the instrumented webview.
# drive a running app the CLI discovers by app id
Quickstart
-
Register the plugin in
src-tauri:default .plugin .run?; -
Grant the permission in
src-tauri/capabilities/*.json({ "permissions": ["core:default", "agent:default"] }). -
Install the guest instrumentation in your frontend — bridge commands hang until it runs:
import { WebviewAgentInstrumentation } from '@byeongsu-hong/tauri-agent-plugin' new WebviewAgentInstrumentation({ windowLabel: 'main' }).install() -
Enable the inline server in
tauri.conf.jsonfor out-of-process control. -
Verify:
tauri-agent attach --app <your.app.identifier>.
Full walkthrough → docs/adopting.md.
Documentation
- docs/adopting.md — wire the plugin into your app, inline server, VNC advertising, the fixture, fresh-clone build order.
- docs/commands.md — every method: CLI form, MCP tool, and bridge behavior in one table.
- docs/architecture.md — components, request flow, transports, the two surfaces, screenshot support matrix, multi-webview.
- docs/security.md — token auth, loopback/release gating, the permission model, error taxonomy.
- permissions/autogenerated/reference.md — the generated permission reference.
MCP
Exposes the protocol as tauri_<method> stdio tools, each accepting the same
connection inputs as the CLI (app, port/host, or html/fromHtml). See
docs/commands.md.
Develop
The examples/fixture-app is the first real live-bridge target and ships a
headless --self-test mode exercised in CI.
License
MIT OR Apache-2.0.