Autonomous application testing · MIT

Describe the behavior. Argus watches, acts, and proves it.

Argus tests desktop apps, web UIs and command-line tools the way a person would, using multimodal models. It looks at the screen, decides what to do, acts, and checks the result. No brittle selectors. No script for every click.

Download Argus

Latest release →Windows · macOS · LinuxOllama, Anthropic, OpenAI, Azure, Gemini, LiteLLM

Look closer

01 — The loop

Observe. Decide. Act. Verify.

The model sees the screen and the accessibility tree, then proposes one action. Argus normalizes it and checks capability, policy and process identity before anything reaches the platform. The model proposes. Argus decides what's allowed.

  1. Observescreenshot · accessibility tree · vision auto-detected
  2. Decidepropose {"action":"type"} → schema ✓ capability ✓ policy ✓
  3. ActWindows local mode: semantic UI Automation, no host-wide input
  4. Verifystructured assertions run deterministically. The model gets no vote

        

02 — Execution environments

A hundred eyes on your app. None on your desktop.

Adapters decide how Argus interacts with a target. Execution environments decide where it's allowed to. Invasive, destructive or production tests run inside a disposable Capsule VM, so the experiment never shares your interactive host.

Capsule

Recommended for production

    03 — Adapters

    One test style. Three ways in.

    Tests are YAML files in .argus/. Plain-English steps go to the model; assert blocks run deterministically. Pure-assertion tests cost zero model tokens.

    .argus/notepad.test.yaml
    
              

    exit 0 all pass · 1 failure · 2 error/crash

    04 — Free roam

    Let it wander. It writes down what breaks.

    Give Argus a target and a time budget. It explores without a script, catches crashes and error dialogs, records findings with severity, and leaves a report plus regression-test stubs. Cross-session memory means each session starts where the last one stopped.

    $ argus roam "notepad.exe" --minutes 10 $ argus roam "http://localhost:3000" --adapter browser $ argus roam "./my-cli.sh" --adapter cli
    Roaming notepad.exe54 states · 0 findings
      → .argus/roam/<stamp>/report.md + regression-*.test.yaml

      For invasive roaming, a Capsule is the recommended boundary. Roam findings don't yet trigger Failure Capsule retention; that applies to scripted argus run failures.

      05 — ATES evidence

      Every action leaves a trail. Reports only repeat it.

      ATES, the Argus Test Evidence Specification, is the canonical evidence authority: durable ordered events, durable action dispatch, privacy controls, protected artifacts, transactional finalization, manifests and verification. Reports are derived from evidence, never the source of truth.

      Evidence trailillustrative
        Failure Capsules

        Keep disk and config evidence from a failed scripted run, without persisting live credentials.

        Explicit transfer

        Stage inputs and collect outputs through declared, bounded, hashed transfers. No shared folders.

        Plain integrity

        Hashes detect corruption. Tamper-evidence needs a trusted binding: a signature, external digest or immutable store.

        06 — Fleet & platform status

        One boundary. Many machines.

        Argus Fleet extends the same Capsule boundary across physical machines, without a second Capsule abstraction. Control Center → Node Agent → ExecutionEnvironment → Capsule → Adapter, with canonical ATES flowing back. What's shipped and what's next, stated plainly:

        Implemented

        ATES v0.1

        Ordered evidence, durable dispatch, privacy controls, protected artifacts, finalization, manifests, traceability, approvals and audit.

        Read ATES →
        Implemented

        Fleet execution plane

        Node identity and enrollment, authenticated heartbeats, placement and fencing, remote Capsule execution, ATES transport.

        Read Fleet →
        Next layer

        Fleet operations + Observer

        Scheduler and queues, matrix execution, timelines and indexes, and a strictly read-only Observer. Not shipped yet.

        Roadmap →
        Automated

        Cross-platform releases

        CI builds Windows x64/ARM64, macOS universal2 and Linux x86_64/ARM64 packages with checksums and provenance.

        Latest release →

        07 — Install

        Desktop app or Python package.

        Every release builds native packages from the same tagged source, with SHA-256 checksums and GitHub build-provenance attestations. The package route needs Python 3.10+; install Ollama for local models.

        Named for Argus Panoptes, the watchman with a hundred eyes

        Give your app a hundred eyes.

        Use Argus locally for fast development, isolate invasive work in Capsules, and spread Capsule execution across machines with Fleet, while ATES keeps the evidence trail canonical.

        Move your cursor. They're watching.