DSH iOS Simulator plugin

A DeepSeek Harness plugin: iOS Simulator and a USB iPhone inside the chat, with 22 tools to drive them

  • 351 ★ on the repository
  • Last commit
  • MIT
Plugin

Broad access

Why this level

  • The agent taps and types on the simulator and on a real iPhone, including real accounts
  • The plugin builds and launches WebDriverAgent on the phone and compiles helper code on your Mac
  • The screen stream is served by a local web server
All reasons and checks

zseven-w/dsh-ios

Install

Manual install

dsh plugin --profile web add @zseven-w/dsh-ios@latest

After adding the plugin run dsh web. For UI tree tools install AXe with brew install cameroncooke/axe/axe.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • The agent taps and types on the simulator and on a real iPhone, including real accounts
  • The plugin builds and launches WebDriverAgent on the phone and compiles helper code on your Mac
  • The screen stream is served by a local web server

This is third-party code. Review the repository files before installing.

What it does

DSH iOS Simulator shows a live iOS Simulator in the sidebar of a DeepSeek Harness conversation, and the agent drives it. The agent boots a device and builds and runs an Xcode project or a Swift package. For debugging it reads unified logs and inspects processes, backtraces and leaks. Meanwhile you see the video stream and can tap and drag right on the picture, rotate the screen and press Home. The agent navigates the interface three ways: by accessibility identity (ios_sim_ui_tree and ios_sim_tap_element), by text through Vision recognition (ios_sim_find_text and ios_sim_tap_text) and by list rows with counter verification (ios_sim_ui_rows and ios_sim_tap_row). For SwiftUI there is hot reload of previews: a source edit shows up in the simulator in 2–5 seconds. The same commands work on a real iPhone over USB. The ios_real_start_wda tool builds and launches WebDriverAgent on the phone, tunnels its ports over loopback and puts the screen into the same panel. The picture flows only through signed links that live no longer than ten minutes.

Who it is for. For iOS developers on a Mac who work in DeepSeek Harness and want the agent to build the app and walk through its screens itself.

Good fit when

  • An agent has to build an Xcode project, run it in the simulator and check the screens
  • You want to watch the device and step in with a tap right in the conversation
  • You need to check the app on a real iPhone connected over USB
  • You need to scroll a feed or list and verify that a like counter changed by one
  • You need hot reload of SwiftUI previews as you edit source

Not a fit when

  • You do not have a Mac with Xcode: the plugin builds projects and runs the simulator with Apple tools
  • You work in Claude Code or Cursor: the plugin is made for DeepSeek Harness
  • You need to drive Android: the tools target iOS
  • The phone cannot be unlocked and connected with a data cable

Example request

Boot the iPhone 17 Pro, build /path/to/MyApp.xcodeproj, open Settings and tap General

Limitations

You need a Mac, Xcode and DeepSeek Harness. The tools with the UI tree need the AXe utility: `brew install cameroncooke/axe/axe` installs it, or the plugin downloads it itself on first use. For text recognition the first call compiles ocr.swift with swiftc. For backtraces and leak checks to work, enable developer mode with `sudo DevToolsSecurity -enable`.

If a call on a real iPhone fails, the reason comes as a code: device-locked, cert-untrusted, profile-expired, tunnel-failed or device-unplugged. Every tap on a real account goes through the «identify first, then tap» rules.

How to disable. Remove the plugin from the DeepSeek Harness profile with the `dsh plugin` command and restart `dsh web`. Stop WebDriverAgent on the phone by unplugging the cable.

FAQ

How do I install DSH iOS Simulator?

Run `dsh plugin --profile web add @zseven-w/dsh-ios@latest`, then `dsh web`. The plugin is published on npm as @zseven-w/dsh-ios.

What if ios_sim_ui_tree does not work?

The AXe utility is probably not installed. Install it through Homebrew or let the plugin download a release on the first call.

How do I control a real iPhone?

Connect the phone with a data cable, unlock it and ask the agent to start WebDriverAgent. The call is ios_real_start_wda, after which every tool accepts the device udid.

How do I verify that a tap in a list worked?

The ios_sim_tap_row tool taps inside a row at relative coordinates and checks that the counter changed by the expected one. It is the only reliable confirmation for feed apps.

Who can see the screen stream?

The stream goes through DSH web server routes that accept requests from a local address only, and the links are signed and expire within ten minutes.

Discussion

No questions or reviews yet.

Plugins

The npx serve-sim command streams an iOS Simulator to the browser and lets an agent tap, swipe, type and replace the camera feed

CLIExtended access2.9KRepository stars

A skill with scripts for building iOS apps and driving the simulator through the accessibility tree, with compact output for agents

SkillExtended access1.3KRepository stars

An MCP server for the iOS Simulator: taps, swipes, text input, accessibility tree, screenshots, video and app control

MCP serverExtended access2.2KRepository stars

Lets Claude Code and Codex drive a real iPhone: read the screen, tap, type and scroll in any app

MCP serverBroad access399Repository stars

An MCP server that takes plain-language commands and drives the iOS Simulator through idb: apps, taps, logs

MCP serverExtended access342Repository stars

Comparison with similar tools

Entries that share the main search query, and how they differ.

EntryOfficialAuthenticationRepository starsMain difference
DSH iOS Simulator (this entry)no351
iOS Simulator MCP Servernonot required2,201an MCP server for taps, swipes and input in the simulator with no live panel
XcodeBuildMCP (now MobileBuildMCP)yesnot required6,513Sentry's MCP server and CLI for building, running and testing Xcode
serve-simno2,905the npx serve-sim command streams the simulator to the browser

README in short

The quick start fits into six steps, from installing the plugin to the first tap in the simulator. A separate section covers common iPhone connection errors and their codes.

README badge

Report a problem

Foxx AIDSH iOS Simulator
Foxx AI

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.