Talos documentation

Your first Android automation task.

Install the host application, connect Android and give the agent a small, verifiable goal. Setup time depends on your ADB connection and model provider.

Before you start

  • A Windows or Linux host (a 64-bit Raspberry Pi works too) with an available Talos build that matches its architecture.
  • Android platform tools: adb must be available to the account running Talos, on the PATH or configured as Tools:AdbPath.
  • An Android emulator or a phone with USB debugging enabled. A phone with a PIN, pattern or password lock has to be unlocked before a run.
  • An API key for one model provider — Claude (Anthropic), OpenAI, Google Gemini or OpenRouter — or an HTTP endpoint implementing the Talos custom-provider protocol.
  • A licence or trial key when prompted by the installed build. Licensed installations need access to the licence server.

FFmpeg is optional and used for live screen streaming (set Tools:FfmpegPath if it is not on the PATH). Appium is not required. AI provider usage is separate from the Talos licence.

1. Install Talos, set a password and activate

Choose an available installer for your host. Windows builds run as a tray application; the Linux .deb package installs a systemd service. Use the instructions for the published package and verify its architecture.

Open the dashboard, normally at http://localhost:7700. On first launch, set a dashboard password of at least 8 characters; it protects the API, live updates and screen previews. Then paste your licence key if activation is requested. Need a key? Request a free licence trial and save the key shown on screen.

Updating from an earlier version? Keep the data directory. The first start of 0.4.0 upgrades the local database once and can take longer with a long run history; tasks, settings and saved API keys are kept.

2. Connect an Android device

Start your emulator, or enable USB debugging on your phone and connect it to the host. Accept the authorization prompt on the phone. Check the connection from a terminal:

adb devices

The device must appear with the status device, not unauthorized or offline. Open Devices in Talos and check the screen preview. Before each run, Talos wakes the screen and dismisses a lock screen without security; if the phone uses a PIN, pattern or password, unlock it yourself, otherwise the run is skipped without calling the model.

An emulator that requires an explicit ADB connection must be connected using its own documented address first. Read the compatibility guidance.

3. Choose your AI provider

In Settings, pick a provider, enter its API key, choose a model and save. Keys stay on your host and are shown back only as their last characters. The agent sends its goal, UI observations and relevant screenshots to the provider; the optional milestone generator uses the same provider and runs only when requested.

Claude, OpenAI and Gemini

Select Anthropic Claude, OpenAI or Google Gemini and choose a listed model, or enter another model name. Talos estimates the cost of each call from the provider’s prices; for a model outside its list it uses the provider’s most expensive rates, so budgets stop work early rather than late.

OpenRouter

Enter an OpenRouter key and pick a model from the live catalog. Only models with tool calling can run tasks, and models without image input do not receive screenshots. OpenRouter reports the actual cost of each call, and Talos adds that amount to the budget.

Effort and per-task models

Effort (low, medium, high or extra high) trades the cost of each call against thoroughness; a lower effort can need more steps, so compare the cost of completed tasks. Each task can override the default model and effort, for example with a lower-cost model for a frequent check, and every run records which model and effort it used.

Custom HTTP endpoint

Select the custom provider and enter its URL. Talos sends a POST request with system, tools, history, observation and an optional screenshot_base64, and expects a tool decision back. Text from the model-instructions field in Settings is appended to system. This is a Talos-specific protocol, not a drop-in setting for any chat API.

A minimal response shape is:

{
  "tool": "tap",
  "args": { "element": 8 },
  "reasoning": "Open the visible form",
  "input_tokens": 0,
  "output_tokens": 0
}

The element number must refer to the current observation. Instead of a single tool, a response can return a calls list of tool and argument pairs. HTTP 408, 429 and 5xx responses count as temporary failures. Custom-provider charges are not calculated by Talos; monitor them at your endpoint.

4. Create a small task with a visible result

Open Tasks, choose New task, name it and select a connected device. A device can have several tasks; they run one at a time. Enter a goal and choose one-time mode. Add optional milestones manually or let the AI suggest them.

Example task One-time run

Your goal

“In Contacts, add Alex Morgan with the number 5550100. Confirm the saved contact appears in the list.”

  1. 01
    Open the contact form

    Success: name and phone fields are visible.

  2. 02
    Enter the contact details

    Success: the fields show Alex Morgan and 5550100.

  3. 03
    Save and check the result

    Success: Alex Morgan appears in Contacts.

40 iterations15 minutes$0.50 budget threshold

Illustrative task definition, not a recorded run. The final model call can exceed the budget threshold.

Start with the default limits or adjust iterations, time and estimated cost for the run. The budget is checked after each model response, so the final call may exceed your threshold. A daily budget for the task, and a global one in Settings, cap spending across runs.

Tasks can be duplicated, or exported to a .talos-task.json file and imported on another phone or installation. The file contains the definition, including milestones, limits, model and working hours, but not the device or run history.

The dashboard starts in English and can be switched to Deutsch, Español, Français, 简体中文 or Polski. Screenshots on this site show the Polish interface: Devices is “Urządzenia”, Tasks is “Zadania”, New task is “Nowe zadanie” and Settings is “Ustawienia”.

5. Start the task and review its timeline

New tasks are created stopped. Start the task from its card. Open the device preview to follow the screen, or use Stop to interrupt the run. While no run is in progress on the device, you can tap on the preview, type text and use Back, Home, Recents or Wake screen to fix its state by hand.

Open run history to review observations, the model’s reported explanations, tools and arguments, results, token usage, cost and available screenshots; the run’s log entries are one click away. Talos retains the last 10 runs per task, and daily cost totals are kept separately. Verify the final screen before relying on the outcome.

Repeat a workflow in continuous mode

Choose continuous mode and set a pause from 10 to 86,400 seconds. After a successful cycle, Talos stores a summary and schedules the next cycle. That summary helps the agent continue from context.

Working hours limit cycles to selected days and a time window, for example Monday–Friday 9:00–17:00, in the server’s local time. Outside the window the task waits without runs or costs; a cycle that has already started finishes normally.

Temporary problems, such as an overloaded or unreachable API, a phone that disconnects or a locked screen, are retried up to four times with a growing pause, from the cycle pause up to 30 minutes. Stop, a reached limit, a configuration error or a task the model reports as impossible stops the task. When the daily budget is used up, the task waits until the next day instead.

Limits apply to each cycle and costs add up. Stop also cancels a scheduled next cycle. Stop and finish a running task before editing its definition. Memory is a model-generated summary, not an exact event ledger. See a recurring status-check example.

Get notified when a task needs attention

In Settings → Notifications, choose a channel: a webhook (JSON POST), Discord, Telegram, ntfy or email over SMTP. Then select the events: a task stopped by an error (also after its retries), stopped by a limit, daily budget used up, a phone disconnected while its task was enabled, or a one-time task finished.

Retries in progress and your own Stop do not notify, and the same event for the same task is sent at most once every 10 minutes. Send test checks the saved settings. Notification texts are currently written in Polish; webhook payloads also carry a language-neutral event code.

If the first run does not work

No device in Talos
Check adb devices under the account running Talos. Authorize USB debugging and confirm the cable or emulator connection. The Linux service may run under a different account from your terminal. If adb is not on the PATH, set Tools:AdbPath.
The agent cannot reach a screen
Unlock a phone that uses a PIN or pattern, check app permissions and inspect the timeline. Try a shorter goal with one visible success criterion.
A task stops at a limit
Review the recorded result before raising limits. Look for a repeated screen, an unavailable option or ambiguous instructions. A task that reached its daily budget resumes the next day.
The preview does not stream
Check FFmpeg and the live-stream setting. Use the regular device preview to diagnose the connection.
You forgot the dashboard password
Start Talos once with Talos__Auth__ResetPassword=true, set a new password in the browser and remove the option. Instructions → Panel password in the dashboard shows the exact commands for the systemd service.
A licence check fails
Check your key, activation slots and connectivity to the licence server. A running installation keeps working for up to 72 hours after its last successful check, and stopping tasks always works.

The Diagnostics page in the dashboard shows the version, adb and FFmpeg status, devices, data directory, licence and recent problems. For help, contact the Talos developer with the text from Copy report and a description of the failed step. Remove private screen content and keys from anything you share.