AI Agent
The AI agent is the core of Aether. It runs inside each workspace and can write code, execute commands, navigate a browser, provision infrastructure, and manage databases — all from natural language prompts.
Model Configuration (BYOK)
Aether uses a Bring Your Own Key model. You connect your own AI provider credentials, and Aether routes requests accordingly.
Supported Providers
| Provider | Model | Notes |
|---|
| Anthropic | Claude (via Agent SDK) | Recommended for general use |
| OpenAI | Codex | Alternative provider |
| OpenRouter | Any supported model | Access to hundreds of models |
| Codebuff | Custom routing | Routes through Codebuff backend |
Adding API Keys
Go to Settings > API Keys and add your provider key. The key is encrypted and stored securely.
aether apikey add --provider anthropic --key sk-ant-...
Supported provider values: anthropic, openai, openrouter
You need at least one API key configured before the agent can process tasks. The agent uses the key matching the provider configured for your account.
The agent has access to several categories of tools, each designed for a specific type of interaction.
Standard development operations provided through the SDK:
| Tool | Description |
|---|
| File read | Read file contents by path |
| File write | Create or overwrite files |
| File edit | Make targeted edits to existing files |
| Bash execution | Run shell commands in the workspace |
| Glob | Find files by pattern |
| Grep | Search file contents with regex |
| Web search | Search the web for documentation or references |
| Web fetch | Retrieve content from a URL |
| Todo tracking | Manage task checklists during work |
The agent controls a headless browser for testing and interacting with web applications:
| Tool | Description |
|---|
browser_navigate | Navigate to a URL |
browser_screenshot | Capture a screenshot of the current page |
browser_snapshot | Take an accessibility snapshot (structured DOM) |
browser_click | Click an element on the page |
browser_type | Type text into an input field |
browser_fill | Fill a form field directly |
browser_wait_for | Wait for an element, text, or condition |
browser_get_text | Extract text content from an element |
browser_evaluate | Execute JavaScript on the page |
browser_press_key | Press a keyboard key |
browser_go_back | Navigate back in browser history |
browser_close | Close the browser |
The browser runs inside the workspace VM, so it can access localhost URLs from your dev server. This is how the agent tests UI changes in real-time.
Provision and manage cloud services directly from the agent:
| Tool | Description |
|---|
provision_infra | Create a new infrastructure resource (database, cache, etc.) |
list_infra | List all provisioned resources |
get_infra_types | Get available infrastructure types |
infra_status | Check the status of a resource |
infra_logs | View logs for a resource |
infra_wait | Wait for a resource to reach a target state |
Direct database interaction for queries, migrations, and schema inspection:
| Tool | Description |
|---|
db_query | Execute a read-only SQL query |
db_execute | Execute a write SQL statement |
db_schema | Inspect database schema (tables, columns, types) |
db_migrate | Run database migrations |
How the Agent Runs
- You create a task with a prompt (via web chat or CLI)
- The workspace service starts the agent runtime
- The agent streams responses over WebSocket — text, tool calls, thinking steps
- Tool invocations execute inside the workspace (file operations, bash commands, browser actions)
- Conversation history is persisted to the database for context continuity
- The agent continues until the task is complete, it needs your input, or you abort
The agent executes real commands in your workspace. It can install packages, modify files, start/stop processes, and provision infrastructure. Review the agent’s actions, especially for destructive operations.