把真实 iPhone / 安卓交给 Claude Code。

一键安装 Claude Code 插件和 MCP 工具。在 Claude 桌面版里,手机实时画面会出现在对话旁边的浏览器面板中,就像 Codex 面板嵌在聊天里一样。StupidMirror 不内置模型,也不需要模型 API Key。

StupidMirror 内置 MCP Server 设置界面

接入 Claude Code

在「设置 → MCP 自动化」中,「接入 Claude Code」一键安装插件和 MCP 工具,「接入 Codex」同样适用于 Codex,已装好的部分会跳过。其他 MCP 客户端使用自动生成的配置。

开启 MCP Server

打开「设置 → MCP」,开启本机 MCP Server。它只监听 http://127.0.0.1:<port>/mcp。

选择客户端

点击「接入 Claude Code」(或「接入 Codex」)一键接入。其他 MCP 客户端请展开「高级连接设置 · 其他 AI 客户端」。

新开会话

在 Claude 桌面版的 Code 标签里新开一个本地会话。Claude 第一次操作设备时,会自动在浏览器面板里打开实时画面,画面、切换设备和手动控制都与 Codex 面板一致;桌面版走网关(gateway)时同样可用。在终端里则可以让 Claude 给出画面链接。手动接入的客户端复制生成的配置,其中包含地址、Bearer 认证和 240 秒的工具超时。

向 Agent 提问

保持 StupidMirror 打开,试试:「列出已连接的设备,开始镜像我的 iPhone,并标出可点击元素,先不要点击。」

观察、操作、验证

连接

list_devices、show_screen、connect_control 负责找到目标设备并准备所需的会话。

观察

observe_screen、find_any_element 读取实时画面并做本地 OCR,只在需要时才获取无障碍信息。

操作

tap_text、tap_element、replace_text、swipe 针对已观察到的内容或明确的手势执行操作。

验证

wait_for、assert_screen、observe_screen 在真机上检查操作结果。

只标注不点击

highlight_clickable_elements、highlight_elements 在 Mac 镜像上画出目标,不向手机发送任何操作。

应用与录屏

install_app 安装 .app、.ipa 或 .apk;open_url 打开深链;start_recording 把镜像录成最长 10 分钟的 .mp4。

本机服务,数据规则由 AI 客户端决定

采集、播放和 OCR 都在这台 Mac 上完成,StupidMirror 不会自行把镜像内容上传给模型服务商。通过 MCP 接入的 AI 客户端会收到它请求的截图和工具结果,之后如何处理取决于该客户端的数据设置。轮换 Bearer 令牌会让旧凭据失效。

Agent 开发者常见问题

需要模型 API Key 吗?

不需要。StupidMirror 不内置模型,模型由你的 MCP 客户端提供,StupidMirror 只提供设备工具。

支持哪些客户端?

Claude Code 和 Codex 一键接入,同时安装插件和 MCP 工具;其他 MCP 客户端通过生成的配置(含 Bearer 认证)接入。

Claude 里的手机画面显示在哪?

在 Claude 桌面版 Code 标签的浏览器面板里,是这台 Mac 本机提供的页面。Claude 会在项目的 .claude/launch.json 里加一条 stupidmirror-viewer 配置来打开它。标注是 Codex 面板的功能;在 Claude 里可以用浏览器面板的选取元素,或附上截图。

为什么第一次操作比较慢?

首次建立控制连接需要一些时间,所以生成的配置把工具超时设为 240 秒。

连了多台设备怎么指定?

传入 device_id。先调用 list_devices 查看设备标识。

Agent 怎么修改 iOS 输入框?

聚焦输入框后,直接用 replace_text 或 clear_text,追加内容用 type_text。获取无障碍快照可能打断已聚焦的输入框,替换操作会校验最终的值。

OCR 支持哪些语言?

Apple Vision OCR 默认识别中文和英文,提供快速与精确两种模式,按需运行,不占用采集链路。

在 GitHub 查看工具说明