Authorization notice. DSH iOS is dual-use. Only use it on software, sites and systems you own or have explicit permission to test.
Credentials. The phone may be signed into personal accounts, so taps and typing on it act on real accounts, which the plugin gates with identify-before-tap rules.
Who it is forA developer testing on physical hardware who needs a screen view and taps on a phone without setting up the tunnels by hand.
The problemSetting up WebDriverAgent and its ports on a real device takes many manual steps before any testing can start.
The outcomeThe agent starts WebDriverAgent on the phone and returns a screenshot and UI tree from the device.
What you need first
- A Mac, since the README says the tools fail with an explanatory error on non-macOS hosts
- DeepSeek Harness (DSH) installed, tested by the README with DSH 0.1.5-rc.1
- The npm package @zseven-w/dsh-ios, current plugin release 0.1.0-rc.10
- Xcode tooling for xcodebuild and simctl, which the build and simulator tools use
- For a real iPhone: a USB connection, the device unlocked, and Apple Development signing for device builds
Steps
- Call ios_sim_devices and copy the udid of your iPhone from realDevices.
- Unlock the iPhone and confirm developer mode is on, as shown in the realDevices state.
- Call ios_real_start_wda with that udid and wait, since a cold build takes minutes.
- Call ios_sim_screenshot and ios_sim_ui_tree with the same udid to read the phone screen.
Prompt for your agent
Using the dsh-ios plugin in the ZSeven-W/dsh-ios repo, call ios_real_start_wda with the physical-device udid <udid>, then ios_sim_screenshot for that udid. Report the control and MJPEG ports and the screenshot path. Verify that WebDriverAgent reports ready before you take any tap action on the phone.
Caveat. The README says the device must be unlocked and device builds need Apple Development signing, so setup can stall without both.
Get 5 new use cases every morning. Free, one short email, unsubscribe anytime.
Get them freeShare: X LinkedIn Hacker News Email Copy link
Disclaimer
Deduped lists open-source repositories that belong to other people. We do not own, maintain, audit, or vouch for any of them, and a repo appearing here is not an endorsement or a safety check. The use cases, steps, and prompts are written by AI and may be incomplete, outdated, or just wrong. Where a use case is marked "Seen in the wild", we link to public posts where someone described something similar, but we have not verified those posts and the use case itself is still our AI's own write-up. Use all of this at your own risk. Only run code, commands, or agents on systems and accounts you are authorized to use, and read the code and every command before you run it, especially anything that touches credentials, files, or the network. Nothing here is professional, security, legal, or financial advice. All trademarks and project names belong to their respective owners, and their use here does not imply affiliation. Content is provided as is, without warranties of any kind. Found a mistake, a safety problem, or something you want removed? Email [email protected] and we will look at it promptly. Full disclaimer page