ResearchDemos
Checked against which record?The record movesFool the verifierRestated figuresErukaARESIndia record versions
BuildingAbout and CV

DemosSystem

ARES: an open-source agent harness

An agent harness written in Rust: tool calling, retrieval, MCP, and support for many model providers.

Mock-upA scripted illustration, not a live run, then ARES's own command-line recording.

One run, step by step

Mock-up · runs in your browser

A scripted illustration, not a live run.

Pick a task. The agent proposes a tool call; before anything runs, the runtime checks that the tool is one this agent is given and runs the policy script, then writes each step to the log. No model is called.

Task

Agents in this run

Research agent: store.read

Publishing agent: store.read, note.publish

Policy script on every tool call; if it errors, the call fails closed.

    ARES's own recording

    From the ARES repository · not live

    The ARES command line in three acts: bootstrap a project, inspect what will run, and the guardrails refusing bad input and failing closed. Recorded by the ARES project and shown here unchanged.

    Terminal recording of the ARES command line: ares-server init scaffolds a project; config validate and agent show inspect it; a second init is refused, bad input is rejected before any network call, and an unauthorised search fails closed with HTTP 401.

    Your system asks for reduced motion, so the animated recording is hidden. Open it in the ARES repository.

    ARES's own recording: docs/assets/cli-demo.svg at ARES b9a5eac (MIT licence). The asciinema cast is the same session as text.

    ARES is open source under the MIT licence: github.com/dirmacs/ares. If you'd like to try the hosted version, write to suprabhat@dirmacs.com.

    How the harness works

    Three figures, each drawn in. Click a step, or let it loop on its own.

    1. Open source, in Rust

      The harness is published on crates.io and in its own repository, so what an agent can do is readable from source.

    2. Tools behind policy gates

      Each agent sees only the tools it is allowed, and a policy script can stop a tool call before it runs. A policy that errors can be set to fail closed.

    3. One runtime, many providers

      Ollama, OpenAI, Anthropic and llama.cpp models run through the same harness, with failover between providers.

    Try this

    Three steps
    1. Run the first task

      The research agent asks for a figure. Watch the tool check and the policy check before the call runs.

    2. Use a tool the agent isn't given

      Have the research agent try to publish. The tool is not in its list, so the call is refused.

    3. Break the policy

      Run the publishing task with the policy script broken. The policy fails closed and nothing is published.

    The project in depth

    What it is, and how it works

    My role

    Architecture contributor. Principal architect: Baalateja Kataru.

    Status and limits

    Open source and published on crates.io.

    The run on this page is a scripted illustration, not a live run: no model is called, the tools are stand-ins, and the facts are public demo data. The recording below it was made by the ARES project. ARES is open source under the MIT licence. To try the hosted version, write to suprabhat@dirmacs.com.

    Next demo

    India record versions