Karagöz

io.github.yagizdo由 GitHub 账号 yagizdo 发布v0.4.0更新于 Nov 4, 2026

Device automation for Android emulators and phones, iOS simulators and iPhones. No daemon.

已验证STDIO仅桌面浏览器自动化开发者工具

概览

AI 生成的概览

在 macOS 上操控 Android 模拟器与真机、iOS 模拟器与 iPhone:查看界面、点击、滑动、输入文字、安装并启动应用。

可以做什么
  • 列出已连接的 Android 设备与模拟器、iOS 模拟器以及 iPhone
  • 截取全分辨率屏幕截图,并读取当前窗口的无障碍树
  • 按像素坐标或按节点文字、id 点击、长按、双击、滑动、输入文字和按键
  • 安装、启动应用,用指定应用打开网址,强制停止和卸载应用
  • 读取设备日志,并诊断 adb 与 Xcode 工具链
  • 在已配对的 iPhone 上安装或移除 karagoz 的 runner
适用场景
适合需要让助手在 Mac 上操作手机应用的场景:复现缺陷、走查界面流程、查看屏幕与日志,或在 Android 与 iOS 上做可重复的设备检查。
运行要求
以本地 stdio 进程运行于 macOS,需已安装 adb(Android)与 Xcode 工具(iOS);通过 USB 配对的 iPhone 需先用 install_runner 安装一次 runner,并使用你的 Apple 团队签名。未声明任何 API 密钥或环境变量。
安装前请注意
它会操作真实设备:点击、输入、安装应用、强制停止和卸载都会改变状态,可能移除应用或数据。install_runner 会在 iPhone 上构建并安装 runner 及其描述文件,uninstall_runner 会将其移除。在 Android 上输入非 ASCII 文字时会临时使用剪贴板。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Karagöz,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

该仓库没有 README。

工具

18

devices

List devices

List Android devices and emulators, running iOS simulators, and iPhones connected to this Mac.

无需输入参数。

screenshot

Take a screenshot

Save a full-resolution PNG of the screen and return its path with size, scale and safe area. Use ui_tree to read the screen; inline only to look at the image.

输入参数outdeviceinline

ui_tree

Read the UI tree

Return the focused window's accessibility tree as JSON, compact by default: nodes with no text, label or action and nodes off screen are left out. Node bounds [left, top, right, bottom] are the physical pixels tap and swipe take. On an iPhone it needs karagoz's runner: install it once with install_runner.

输入参数detaildevice

tap

Tap

Tap x, y in physical pixels, or the center of the node whose text or contentDesc (iOS: label or value) equals text, or whose resource id (iOS: identifier) matches id. An iPhone needs install_runner once.

输入参数xyidtextdevicetimeout

long_press

Long-press

Long-press x, y in physical pixels, or the center of the node whose text or contentDesc (iOS: label or value) equals text, or whose resource id (iOS: identifier) matches id. An iPhone needs install_runner once.

输入参数xyidtextdevicetimeoutduration

double_tap

Double-tap

Double-tap x, y in physical pixels, or the center of the node whose text or contentDesc (iOS: label or value) equals text, or whose resource id (iOS: identifier) matches id. An iPhone needs install_runner once.

输入参数xyidtextdevicetimeout

swipe

Swipe

Swipe from x1, y1 to x2, y2 in physical pixels. An iPhone needs install_runner once.

输入参数x1必填x2必填y1必填y2必填deviceduration

text

Type text

Type into the focused field. Any text; on Android, text beyond ASCII is pasted through the clipboard and the old clip put back. An iPhone needs install_runner once.

输入参数text必填device

key

Press a key

Press one key.

输入参数key必填device

install

Install an app

Install an .apk, or a .app or .ipa on an iOS simulator or iPhone, or replace the installed version of the same app. An iPhone takes only a build signed for it; karagoz does not re-sign. Times out after 30 s plus 1 s per MB.

输入参数apk必填device

launch

Launch an app

Start an app as its launcher icon does. On iOS it returns before the app is in front.

输入参数devicepackage必填

open_url

Open a URL

Open a URL in the app that handles it, or in the app named by app. On iOS it returns before the app is in front, and a simulator may first ask "Open in <app>?".

输入参数appurl必填device

terminate

Stop an app

Force-stop every process of an app.

输入参数devicepackage必填

uninstall

Uninstall an app

Remove an app.

输入参数devicepackage必填

logs

Read device logs

Read the newest device log records, oldest first. On iOS without since: the last minute, or the last hour with package. An iPhone read takes about 10 s.

输入参数linessincedevicepackage

doctor

Check adb and Xcode

Report which adb and Xcode tools karagoz uses, their versions, and how to fix one that is missing, old or broken.

无需输入参数。

install_runner

Install karagoz's iPhone runner

Build karagoz's runner with your Apple team and install it on a paired iPhone over USB; ui_tree, tap, swipe, text and key need it there.

输入参数teamdevice

uninstall_runner

Remove karagoz's iPhone runner

Remove karagoz's runner and its provisioning profile from an iPhone.

输入参数device

版本历史

5
  1. v0.4.0最新Nov 4, 2026
  2. v0.3.2Nov 3, 2026
  3. v0.3.0Oct 31, 2026
  4. v0.2.0Oct 30, 2026
  5. v0.1.1Oct 29, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分

    请声明包含 README 的 GitHub 仓库,或在 OAuth 受保护资源元数据中提供 resource_documentation。

  • 许可证10 分