Skip to content

Latest commit

 

History

History
380 lines (265 loc) · 17.9 KB

File metadata and controls

380 lines (265 loc) · 17.9 KB

Feature guide

Quick start · Usage and configuration · Architecture

Ava works with a folder and a goal. A workspace can contain research, notes, data, or software; Git is optional. The screenshots below show the current interfaces with isolated demo data and a scripted local model, not a model-performance test. Click an image to inspect it at full resolution.

Research and writing

Bring source material into a workspace, ask Ava to compare or summarize it, and review the resulting document beside the conversation. Local files, a shared browser tab, and connected research tools can supply context. Skills can provide repeatable instructions for sourcing, structure, and review.

Task Example request
Research and compare “Compare these suppliers and write a brief with sources and open questions.”
Write and organize “Turn these meeting notes into a project proposal and an action list.”

These are workflows you can ask for, not built-in specialist services or performance guarantees. Results depend on the model, source material, tools, and permissions. Check sources and review important conclusions.

Data analysis

Ava can read datasets, run shell commands and scripts, and write reports or transformed files using programs installed on the execution machine.

For example: “Check these CSV exports for inconsistencies and save a summary of the trends.” In this tour, the agent reads research notes and a feedback CSV, runs a Python summary, and writes a Markdown brief.

Document conversion and specialized analysis may require additional programs. Web access comes through the desktop browser or tools you configure.

Quick Chat

Ask Ava something without switching to the full workbench. With Ava Desktop running on macOS, press ⌘⌥Space (Command–Option–Space) from any app to open a compact, always-on-top chatbox on the display under your pointer. The composer is focused so you can start typing immediately—ask a question, capture an idea, or give Ava a task.

Quick Chat showing a weekly project update conversation, a follow-up draft, and the Open in Ava button

  • Start fresh on every opening: each time you open Quick Chat, it creates a new session. The global shortcut prefills the composer with selected text from the foreground app, or clipboard text if no selection is available. Nothing is sent until you submit it. Use + to start an empty chat without closing it.
  • Dismiss: press Esc, click the close button, or press ⌘⌥Space again to hide the panel. Previous conversations remain available in Ava, and unsent drafts stay with their sessions while the desktop is running.
  • Move into the workbench: choose Open in Ava to continue the same conversation alongside files, previews, and the rest of the desktop tools.

The system-wide shortcut is macOS-only and requires Ava Desktop to remain running, not just the background backend. It needs no Accessibility or Input Monitoring permission. Reading selected text (without first copying it) does require Accessibility access for Ava Desktop in System Settings → Privacy & Security → Accessibility, and support from the foreground app. Without access, copy the text first; the shortcut uses the clipboard and never changes it. If another app already uses ⌘⌥Space, registration may fail. On other platforms, Ctrl+Alt+Space toggles Quick Chat within Ava; it is not a global shortcut.

Desktop workbench

The native desktop keeps conversations, files, browser tabs, and interactive terminals in one workspace. Sidebars resize, previews stay open in tabs, and the same project can hold multiple conversations.

Desktop conversation beside a generated Markdown brief and the project file tree

Files, images, and PDFs

Drag in text files or PDFs, paste images, or attach them from the composer. Type / to find commands and discovered skills. Drafts and staged attachments stay with their conversation while the desktop is open.

Text and image attachments with a research skill selected from the command menu

Browse local or remote files and preview source, Markdown, images, and PDFs.

File browser with project files and a Markdown preview

PDF previews support page navigation, zoom, selectable text, internal links, and password-protected documents. Pages render on demand in a helper process, separate from the conversation UI. Use Add to message from a PDF preview, or attach a PDF from the desktop or web composer. The CLI also accepts PDFs with --file. PDFs are sent intact to the provider, preserving scanned pages and diagrams; your selected model and endpoint must support PDF input. Attach unlocked PDFs with 1–100 pages, up to 8 MiB each. The existing 10-attachment message limit and 8 MiB conversation lifetime limit still apply in the desktop and web UI.

A multi-page research PDF open beside the conversation

Appearance

Choose light or dark mode, adjust conversation text size, resize the workspace, and enable reduced motion. Keyboard shortcuts are listed in Settings.

Desktop appearance settings in light mode

Desktop setup and controls · Design system

Browser handoff

The embedded desktop browser keeps page review in a right-side tab, with the address bar, navigation, and bookmarks available without leaving the workspace.

The embedded desktop browser with a loaded local page

Open a page and choose Use in this chat to let Ava inspect and operate that visible tab. Browser tools support navigation, clicks, form filling, scrolling, and screenshots. Choose Take control, or interact with the page yourself, to end the handoff.

For example: “Read this page and fill in the draft form. Leave submission to me.” The screenshot shows a draft filled through real browser tools, without submitting it. The desktop must remain open and the shared tab visible.

Ava fills a draft update in a shared browser tab with a Take control button

Skills and MCP

Skills

Discover, search, preview, create, enable, and disable reusable instructions. Project skills live in .agents/skills, personal skills in $AVA_HOME/skills, and shared skills in ~/.codex/skills. Insert a skill from the / menu or choose Use in chat from its detail view.

A research-brief skill with its instructions, scope, and controls

MCP tools

Connect local stdio servers or remote Streamable HTTP endpoints on the selected machine. Browse tools and their parameter schemas, refresh catalogs, inspect connection errors, and enable or disable a server.

Results can include text, structured data, and images. Integrations depend on the servers you install or connect. HTTP servers support manual authentication headers or OAuth browser sign-in, including existing OAuth clients such as Google's Gmail MCP service. Ava uses the MCP SDK for discovery, PKCE, token exchange, and refresh. The desktop opens the browser only when you choose Sign in; credentials stay on the execution machine. See MCP setup and Gmail configuration.

A connected Research library MCP server with two discoverable tools

Automations and background work

Schedule a prompt once or on a repeating cadence, with a timezone, run count, machine, project, and optional model settings. Git projects can use a fresh worktree per run.

For example: “Every Monday, summarize the new reports in this folder.”

A weekly research digest configured with a prompt, project, timezone, and run count

Preview upcoming runs, pause schedules, start an extra execution, and open each result as its own conversation. Manual runs do not consume scheduled repetitions.

A saved automation with a manual run and its controls

Desktop agent tasks can continue after the window closes because the backend is persistent. Reopen Ava to reconnect. Optional start-at-login support uses launchd on macOS or a systemd user service on Linux.

Background work requires an awake execution machine and a running backend. A crash does not automatically retry interrupted tasks. Browser handoffs and desktop terminal shells do not continue after the desktop closes.

Scheduling, missed runs, and lifecycle details

Sessions and remote machines

Durable sessions

Messages, tool calls, and results live in append-only, checksummed, compressed logs. Pause at a step boundary, steer a running task, queue a follow-up, or resume later. Recovery preserves valid history rather than silently starting over; CLI inspection exposes the underlying events.

Conversation organization

Search across projects, pin important chats, rename conversations, and archive or restore them. Projects need not be Git repositories, and switching conversations also switches to the appropriate workspace.

Searching research conversations across the desktop workspace

SSH machines

Connect an SSH alias or user@hostname from Settings → Machines. Keep projects and agent execution on the selected machine while using one desktop to browse files, open terminals, manage skills and MCP servers, schedule work, and review results.

New hosts require fingerprint verification before Ava installs its backend in the remote user directory. Connections use an authenticated loopback service through SSH. Remote sessions and provider credentials stay on the remote machine; browser pages and cookies stay on the desktop.

The form below shows how to add a machine; research-host is an example SSH alias.

The Machines dialog with a local connection and an example SSH connection form

Remote setup, requirements, and lifecycle details

Session board and analytics

Session board

Review work across projects and machines in In progress, Needs review, and Reviewed columns. Filter results and mark them reviewed. Seeing a result in its conversation also marks it reviewed; a later result needs attention again.

Running, completed, and reviewed conversations in the session board

Analytics (session information)

Open Analytics to explore 7-day and 30-day trends for tokens, active agent time, tools, and observed skill loads, filtered by machine or project. Missing usage is identified rather than guessed. These are usage metrics, not a billing dashboard or a measurement of task correctness; the chart below uses sample history.

Token counts use compact units such as 350k, 1.2M, and 2.4B in the overview, breakdown, and daily activity summary. Hover over the total, breakdown rows, or daily bars for exact counts. The breakdown includes uncached input + cache reads + cache writes + output (including reasoning); rounded labels may not sum exactly to the displayed total. Usage is counted across all recorded providers and models in the selected projects and machines, not just the currently selected model. Anthropic, OpenAI, Codex, DeepSeek, and compatible/local endpoints use their reported usage; missing counts are never estimated from text.

Cache writes are input tokens the provider reports saving for reuse, not files written by Ava. Anthropic reports cache creation explicitly; many other endpoints report cache reads but no separate write count. An unreported cache-write count is shown as , labeled Not reported by these providers, rather than zero. When only some requests report cache writes, the breakdown shows how many did. The total includes known counts only; it is not a billing estimate.

Seven-day sample usage with token trends, tool activity, and observed skill loads

Git and terminals

Ava can read and edit code, run tests, and work in isolated Git worktrees. For example: “Fix this bug, add regression tests, and explain the diff.”

Interactive terminals

Open interactive shells alongside the conversation. Tabs keep multiple terminal sessions available without leaving the desktop.

A real terminal running a Python summary of the demo feedback CSV

Change review

The Changes view shows working-tree and staged diffs. Stage, unstage, and commit without leaving the desktop. Git hooks still run; failed commits preserve the message and staged files for correction.

A Python change shown in the Changes view with staging and commit controls

Worktrees

Turn on Worktree beside the project selector below the message box to start on a random branch in a separate folder. The checkout is created with git worktree add on first send, under $HOME/.ava/worktrees/<project>/<random-name> by default. Uncommitted changes stay in the original workspace, and chats remain grouped under the same project.

Creating an isolated worktree for an onboarding improvement

Models and providers

Use Anthropic, OpenAI, DeepSeek, an existing Codex CLI login, or a custom OpenAI-compatible or Anthropic-compatible endpoint. Configure connections in Settings → Providers; credentials are separate from conversation selections.

Desktop provider settings with a verified local demo connection

Choose a provider, model, and supported reasoning effort per conversation without changing other conversations. The screenshots use local, scripted test providers, not production credentials.

Per-conversation model and reasoning-effort selection

Provider configuration

Context and activity

Expand grouped tool calls and reasoning activity to inspect output. /context shows estimated model-window usage and its main contributors. Automatic compaction helps long-running conversations fit their context budget.

The context inspector breaking down estimated tokens by category

Interfaces

Interface Best for
Desktop The full workbench: browser handoff, files, terminals, skills, MCP, automations, analytics, and SSH machines.
Web UI Local browser-based conversations, streaming tool activity, attachments, and provider configuration.
CLI One-shot tasks, scripts, explicit session paths, resume, inspection, and diagnostic replay.
Python API Embedding the runtime with custom tools, a custom system prompt, and durable event subscriptions.

Web UI

Start the local browser interface with uv run ava --serve. It uses the same runtime and durable sessions; Qt is optional. Attach files and images, send a task, and review the response and tool activity.

Web UI conversation with text and image attachments and a completed research brief

Expand the activity group to inspect source reads, commands, writes, and their results.

Expanded Web UI tool activity showing CSV input and Python command output

Model and reasoning-effort choices belong to each conversation.

Web UI model picker with provider, model, and reasoning-effort choices

Manage provider connections separately from those conversation choices.

Web UI provider connection and appearance settings

CLI and Python

From the cloned repository, install the core with uv sync and configure your provider credentials. For the default Anthropic provider, you can set ANTHROPIC_API_KEY; an existing Codex CLI login can be used with --provider codex. Desktop installers are not yet included.

# Open the local Web UI.
uv run ava --serve

# Run a task, then continue the same session.
uv run ava -p "Summarize the Markdown documents in this folder"
uv run ava -c -p "Turn that summary into an onboarding guide in onboarding.md"

# Name and inspect a session explicitly.
uv run ava -p --session research.jsonl.zst "Compare the documents in this folder"
uv run ava session inspect research.jsonl.zst
uv run ava session dump research.jsonl.zst

CLI reference · Python API · Try without an API key

Permissions and privacy

Ava is alpha software. File and shell tools run with the execution user's permissions, without per-call approval or a sandbox. Browser handoff is explicit, but it is not a general approval system. Review the tools and MCP servers you enable, use an appropriately restricted account or environment, and review important outputs and consequential actions.

Workspace history stays on the execution machine, but content needed for model requests is sent to your selected provider; connected tools may use external services. Session logs can contain sensitive material. “Local” describes the application and storage, not an offline-model guarantee.

The published evaluation currently measures coding tasks, not research, writing, browser work, or general-purpose task quality. Benchmark results and limitations.