go-mcp-computer-use

MCP server for Windows desktop computer use

Download as .zip Download as .tar.gz View on GitHub

GPA-GUI → ONNX export

Converts Salesforce GPA-GUI-Detector (model.pt, MIT) into the single-class icon ONNX that go-mcp-computer-use uses as its element box-proposer in the fused annotation pipeline.

The detector is only a box proposer: it outputs one class (icon) bounding boxes. The authoritative per-control UI type (button, text_input, …) comes from the separate 15-class MobileNet tier (mobilenetv3_small.onnx). See internal/actions/onnx.go.

Licensing notice: The model is owned and licensed by its original authors (Salesforce, MIT). This project only ships the format-converted ONNX artifact and takes no responsibility for the model’s behavior, accuracy, or fitness for any purpose. Review and comply with the upstream GPA-GUI-Detector license before use, and you are responsible for any downstream use of its outputs.

Why re-run this?

The Go binary auto-downloads gpa_gui_detector.onnx from the latest GitHub release when it is absent from the models dir, so end users never run this. You only need it when producing (or regenerating) the artifact that is attached to a release, or iterating on the conversion itself.

Output requirements (must match internal/actions/onnx.go):

Prerequisites

Setup

# From this directory
uv sync

uv sync creates a project-local .venv and installs the pinned deps from pyproject.toml (ultralytics, huggingface_hub, onnx). Nothing is installed globally.

Convert

uv run export.py --out dist

To drop it straight into the runtime models dir:

uv run export.py --out "$env:APPDATA\go-mcp-computer-use\models"

Verify

uv run python -c "from ultralytics import YOLO; m=YOLO('dist/gpa_gui_detector.onnx'); print(m.names)"
# expect: {0: 'icon'}

Ship with a release

The release workflow (.github/workflows/release.yml) runs this export in CI and attaches gpa_gui_detector.onnx to each versioned release. The Go binary fetches it from the always-latest release via:

https://github.com/coff33ninja/go-mcp-computer-use/releases/latest/download/gpa_gui_detector.onnx

(releases/latest/download/... is redirtected by GitHub to the newest non-draft, non-prerelease release’s asset, so the URL never needs a hardcoded version tag.)