Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 45 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,19 +114,45 @@ use. For more details on setup and configuration, see the
Read more about [this new layer](https://cloud.google.com/blog/products/containers-kubernetes/bringing-you-agent-sandbox-on-gke-and-agent-substrate)
that provides higher density to agentic workloads on Kubernetes.

### Built-in Antigravity harness

Antigravity SDK is a reference harness implementation. Local execution needs
`python3` and `pip` available on your `PATH`. AX handles the rest: on first
`ax exec` it starts the harness server as a Python sidecar and installs the
pinned Antigravity SDK dependencies for you.

## Authentication

The built-in Antigravity harness supports Google AI Studio and Vertex AI.

For Google AI Studio, set a Gemini API key:

```bash
export GEMINI_API_KEY="your-api-key"
```

For Vertex AI, configure Application Default Credentials and the target project
and location:

```bash
gcloud auth application-default login
export GOOGLE_CLOUD_PROJECT="your-project-id"
export GOOGLE_CLOUD_LOCATION="us-central1"
export GOOGLE_GENAI_USE_VERTEXAI=true
```

## Quick Start

### 1. Execute
### Execute

The CLI provides an easy way to execute by using the
agents and built-in tools already linked into the AX binary.
The CLI starts the built-in Antigravity harness automatically. No separate harness server setup is required.

```bash
# Using default ax.yaml
ax exec --input "Can you list me this directory?"
# Using the checked-in ax.yaml, which sets Antigravity as the default harness.
ax exec --input "Can you list this directory?"

# Using exec with an AX server
ax exec --input "Can you list me this directory?" --server localhost:8494
ax exec --input "Can you list this directory?" --server localhost:8494
```

Conversations can be continued any time:
Expand Down Expand Up @@ -159,7 +185,7 @@ ax exec \
--input "Can you write me a simple HTTP server in Python?"
```

If anything goes wrong during the execution of an agent,
If anything goes wrong during the execution of a harness,
you can resume an incomplete execution in a conversation:
```bash
ax exec \
Expand All @@ -180,6 +206,8 @@ ax exec \
[--input <text>] \
[--conversation <id>] \
[--harness <id>] \
[--harness-config <file.json>] \
[--harness-config-json <json>] \
[--server <address>] \
[--config <file>] \
[--resume] \
Expand All @@ -192,6 +220,8 @@ Options:
- `--input`: Input message to send to agents (optional if `--resume` is set, otherwise required)
- `--conversation`: Conversation ID (optional, generates UUID if not provided, or resumes if exists)
- `--harness`: Harness ID to use (optional, defaults to the default harness)
- `--harness-config`: Path to a JSON file with per-request harness configuration (optional)
- `--harness-config-json`: Per-request harness configuration as an inline JSON string (optional, mutually exclusive with `--harness-config`)
- `--server`: gRPC controller server address (optional. If not provided, runs with a local built-in AX server)
- `--config`: Path to YAML configuration file (only used with a local built-in AX server, default: "ax.yaml")
- `--resume`: Resume a conversation without inputs (optional, mutually exclusive with `--input`)
Expand All @@ -211,6 +241,14 @@ ax exec --server localhost:8494 --input "Hello agents!"

# Execute using a specific harness
ax exec --harness antigravity --input "Write me a cool Go program!"

# Execute with per-request harness config
ax exec \
--harness-config-json '{"system_instructions":"Answer in one sentence.","model":"gemini-3.5-flash"}' \
--input "Explain durable execution."

# To keep the same JSON in a file, use `--harness-config` instead:
ax exec --harness-config antigravity.json --input "Explain durable execution."
```

### Serve
Expand Down Expand Up @@ -245,21 +283,6 @@ ax serve
ax serve --config my-config.yaml
```

### Authentication

The built-in Antigravity agent supports authentication using either Google AI Studio or Vertex AI:

```bash
# AI Studio API key based authentication.
export GEMINI_API_KEY="your-api-key"

# Vertex AI based authentication, ensure application
# default credentials are set up, gcloud auth application-default login.
export GOOGLE_CLOUD_PROJECT="your-project-id"
export GOOGLE_CLOUD_LOCATION="us-central1"
export GOOGLE_GENAI_USE_VERTEXAI=True
```

## Extensions

### Harnesses
Expand Down
Loading