Git Qa

io.github.meta-taro由 GitHub 账号 meta-taro 发布v0.2.0-beta.21更新于 Nov 4, 2026

Open-source human-in-the-loop QA runner: an AI agent works the test sheet, a person signs off.

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

概览

AI 生成的概览

开源的人在回路 QA 运行器:AI 代理按测试表操作 Android、iPhone、网页或桌面应用,由人逐条签核。

可以做什么
  • 截取并读取 Android、网页、桌面或 iPhone/iPad 目标的实时画面
  • 列出可点击的元素并按名称点击
  • 按 TSV 测试表逐条执行,由人按 D 或 F 给出判定
  • 为每次运行记录证据:判定、步骤、签署人、时间以及当时的画面
  • 无人值守地整夜跑完测试表,事后查看失败项
适用场景
适合需要反复手工点检的回归与发布检查,也适合需要证明究竟是谁验证了某个构建、而不是让 AI 自行宣布全部通过的场景。
运行要求
以桌面应用形式本地运行(macOS、Windows x64/ARM64),或用 pnpm 从源码运行;需要 Node 22 或更高版本。Android 需要 adb,网页需要浏览器,iPhone/iPad 需自行签名并安装 WebDriverAgent。ffmpeg 与 cwebp 为可选项,用于压缩证据。未发布 npm 包。
安装前请注意
AI 会操作真实设备与应用,包括点击、输入和启动应用。VERIFIED 判定是签名而非锁:按下按键即记录你的标识,即使你并未查看,也没有防作弊机制。Windows 版本未签名。目前为 Beta 阶段。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

git-qa

Your test sheet runs itself. You watch, and sign off each case with one key.

git-qa is an open-source human-in-the-loop QA runner. An AI agent works through your test sheet on Android, iPhone, web and desktop apps; you watch the live screen and sign off each case, and the evidence records who verified what. AI agents can also drive it over MCP.

日本語版はこちら / Japanese · Download

[git-qa running a test sheet: cases on the left, the live screen in the middle with the AI pointing at what it found, one-key verdicts on the right]

Left: the cases in your test sheet. Middle: the page, device or app, live, while the AI drives it — the red marker is where it found the expected text. Right: one key per verdict — D pass, F fail. Your handle goes into the evidence when you press it. (The UI is shown in Japanese; it also speaks English.)

When you would reach for it

The release check nobody wants to click through again. You have a 30-row regression sheet for an Android app, a web page and a desktop app. Instead of tapping through it by hand, the AI follows the sheet while you watch the live view and press a key per case. You only stop to look closely where something changed or failed.

"Who actually checked this?" A client, an auditor or your own team asks after an incident. The evidence answers: each case says VERIFIED (a person looked and signed) or AUTO_PASS (the AI passed it, nobody looked), with the name, the time, and the screen at that moment.

An AI agent built the feature — now it should check it, on a real device. Over MCP, Claude Code (or any agent) can screenshot, read the screen, list what can be pressed and tap it, on Android, web, desktop or iPhone. It can run the sheet unattended overnight (--no-ui); in the morning you review the failures. The pass is still yours to give. The server is listed in the official MCP registry as io.github.meta-taro/git-qa; it runs from this clone (there is no npm package).

Try it

  1. Download the app from the distribution page (macOS, Windows x64 / ARM64) and install Node 22+
  2. Open git-qa. Enter a handle (it goes into the evidence as "who looked"), pick what to look at — an adb device, a web page URL, or a desktop app by name — and a test sheet
  3. Start, watch, and press D / F per case

[Picking what to look at: a web page URL, a desktop app by name, or an adb device]

A run, case by case — the AI runs each step (press the button, reopen the page, press it again), you press D, the case turns VERIFIED / qa and the next one starts:

[A run: the AI presses the button and finds the result, reopens the page and finds it reset, presses again; each case is verified with D]

A test sheet is a TSV you can write in any spreadsheet — samples are in sheets/. From source instead: git clone … && pnpm install && pnpm app (see Install).

Why it is built this way

This is not a tool for handing verification to an AI and letting it say "everything passed." When something ships broken, the person is accountable — "the AI did it" is not an answer anyone accepts.

So git-qa splits the work:

  • The AI operates the device, the browser, or the desktop app, following a test sheet
  • The human watches, and places the verdict with a single keystroke
  • The evidence records who saw what, and when

The vocabulary is the point

ValueMeaning
VERIFIEDA person put their name on it
AUTO_PASSThe AI passed it. Nobody looked
FAILIt failed
BLOCKEDCould not run — a precondition was not met
SKIPNot run

A plain PASS would collapse the first two into one value. That collapse is exactly what this tool exists to prevent.

You can place VERIFIED without looking. That is a feature, not a hole. The moment you press the key, your handle goes into the evidence. It is a signature, not a lock. There is no anti-cheat machinery — adding it would make a tool that exists to save effort expensive to use.

What it can drive

Android devicesReal devices and emulators over adb — tap, swipe, type
Web pagesChrome / Edge / Firefox / Safari. Same viewport every run, so you can compare
Desktop appsmacOS (Accessibility + Vision OCR) and Windows (UI Automation)
iPhone / iPadWatch, read and record over USB. Tap, type, swipe and launch apps through WebDriverAgent, which you sign and install on the device yourself (guide). Tried on a real iPhone (iOS 17.5.1)
Mobile browsersAndroid Chrome over adb forward + CDP. iOS Safari through the iPhone path above. Not yet tried
From an AI agentOver MCP — screenshot, read the screen, list the names you can press, tap by name. Android, web, desktop, or iPhone / iPad

[git-qa driving a real iPhone: the Clock app opened and the Stopwatch tab tapped through WebDriverAgent, with the AI verdict AUTO_PASS]

A real iPhone, driven through WebDriverAgent: git-qa launched the Clock app and tapped "Stopwatch". The case waits for a person's verdict.

What evidence looks like

One folder per test run. Commit the whole folder if you want the test itself under version control.

<workspace>/  git-qa.json        marks this folder as one test project  sheet.tsv          the test sheet  runs/    20260914-100000/      run.json       verdicts, steps, who placed them and when      case-001/        screen.webp  the screen at the moment the verdict was placed        screen.webm  video of the run — **only when asked for** (`--record`)

Nothing about your machine goes into the evidence: paths are relative to the workspace, so the same run reads the same way on anyone's machine.

Requirements

  • Node 22 or newer — required. The app starts a runner process
  • adb for Android, a browser for web — only if you use them
  • ffmpeg / cwebp — optional. Without them, evidence is kept in the format it was captured in, uncompressed

Install

Download from the distribution page, or run it from source:

bash
git clone https://github.com/meta-taro/git-qa.gitcd git-qapnpm installpnpm app

macOS builds are signed and notarized. Windows builds are not signed — you will see "Windows protected your PC"; check the source before choosing Run.

To see what this machine can actually do — measured, not guessed:

bash
pnpm doctor

The app also states its own version on the start screen ("This git-qa is v0.2.0-beta.20"). Paste that line into bug reports — it decides which build you are talking about. When a newer build exists, the same place says so; git-qa never replaces itself.

Status

Beta. Three products are using it. Rough edges are listed in each release's notes, and nothing fails silently — where a step cannot run, it is recorded as "a person needs to do this," not as a pass.

Bug reports and requests: Issues. Please write them in your own words, right after you hit the problem. Summarizing loses the part that actually hurt.

License

MIT — see LICENSE.

来源:README.md,提交 0d58c46

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.0-beta.21最新Nov 4, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

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

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分