Live debugging for your mobile app - network traffic, logs, analytics, and more, streamed to your desktop.
EchoApp is a debugging companion for mobile development: a macOS desktop app plus client SDKs for Swift and Android. Add the client SDK to your app and it becomes discoverable from the desktop app on your local network; plugins then stream live data - network requests, logs, analytics events, key-value stores, accessibility snapshots, crash reports, and more - from the running app into inspectable desktop UIs.
- Desktop app - the macOS host (
App/,EchoApp/) with built-in desktop plugins for Networking, Logging, Analytics, App Info, Key-Value Store, Accessibility, Navigation, Debug Menu, and Crash Reporting, plus anEchoMCPModel Context Protocol server so coding agents can read the same live data. - Swift SDK (
Sources/) -EchoClient,EchoConnection, and the plugin API for iOS and macOS apps (iOS 14+ / macOS 14+). Opt-in client plugins live inSources/OptionalPlugins/. - Android SDK (
android/) -clientandplugin-apimodules; seeandroid/README.md. - Plugin API - build your own plugin pair: a client plugin in your app and
a
.echopluginbundle the desktop app loads. The bundle format is documented inDocumentation/PluginStructure.md.
Download the latest release from GitHub Releases. The app checks GitHub Releases for updates.
All public artifacts share the version and tag mapping in Release versioning.
Add the package to your Package.swift:
dependencies: [
.package(url: "https://github.com/block/echoapp", from: "<version>"),
]Products: EchoClient (connect your app to the desktop app), EchoConnection,
EchoPluginAPI and EchoDesktopPlugin (author desktop plugins), and the
optional client plugins AccessibilityPlugin and KeyValueStorePlugin.
debugImplementation "xyz.block.echoapp:echo-client:<version>"
debugImplementation "xyz.block.echoapp:echo-plugin-api:<version>"- Connect your app: create an
EchoClientin your app, add the plugins you want, and start it - your app appears in the desktop app on the same network. Seeandroid/README.mdfor Android; on Swift, see theEchoClientsources underSources/EchoClient/. - Write a plugin: start from the example in
Examples/(SPMExampleconsumes the SDK via SwiftPM), the built-in plugins underEchoApp/Sources/Plugins/, and the shared UI kit inSources/EchoPluginUI/.
Swift 5.10+ and Xcode with the macOS 14 SDK are required for the app.
# Swift SDK (repo root)
xcrun swift build
xcrun swift test
# Desktop app: open App/App.xcodeproj in Xcode and run the Echo scheme,
# or build the CLI and tools directly:
cd EchoApp && xcrun swift build # builds the echoapp CLI and echo-tool
# Android SDK. Build-only code generators are compiled from this checkout.
cd android
./gradlew buildTo exercise every public Swift and macOS distribution surface from a clean temporary build directory, including an iOS Simulator AccessibilityPlugin consumer and an exact-version external EchoClient consumer, run:
Scripts/verify_public_builds.shThe public matrix builds an archive of the tracked public tree with no private
repositories, credentials, or signing certificates. See
Scripts/README.md for the full list of checks.
- CONTRIBUTING.md - how to get set up and send changes
- CODE_OF_CONDUCT.md - community standards
- GOVERNANCE.md - how the project is governed
- SECURITY.md - reporting vulnerabilities privately
Licensed under the Apache License, Version 2.0.