How Zeus works

The parts of Zeus, the stages of a download, and what happens when something goes wrong.

A Greek marble head from a herm, bearded, with a close cap of hair and deep-set eyes

In short

Your AI assistant asks Zeus for a file through MCP. Zeus checks the file, asks you before using any website login, downloads it in resumable parts, verifies it and tells your AI where it is. A browser extension rescues failed browser downloads and, with your approval, lends Zeus a website session.

The parts of Zeus

Fig. I: the Zeus app sits between your AI and the web; approvals always come back to you.

The Zeus app

A background program (the daemon, zeusd) on your computer. It does the downloading, keeps the crash-safe journal and the receipts, and is the only part that ever holds a website session, in memory and briefly.

The browser extension

For Chrome and Edge. It offers to finish downloads the browser gave up on and, when you approve a site, passes that site’s session to the Zeus app over the browser’s private native-messaging channel.

Your AI assistant

Any assistant that speaks MCP. It gets 13 tools: probe, enqueue, status, wait, control, verify, list sessions, request a session and list files, plus grouped tools for workflows, files, artifacts and cloud delivery. None of them can approve anything.

You

The only one who can approve. You answer in the extension or on your own terminal, and you can revoke anything or hit the kill switch at any time.

The six stages of a download

  1. Stage 1

    Your AI asks

    You ask your assistant for a file in plain words. The assistant calls a Zeus tool such as zeus_enqueue through MCP, with the link and where to save it. Zeus treats everything the assistant passes on from websites as untrusted data, never as instructions.

  2. Stage 2

    Zeus probes the file

    Zeus checks the file first: its size, its real name, whether the server can resume and split it, and whether it needs a login. Your assistant gets a short summary it can act on.

  3. Stage 3

    You approve what is sensitive

    If the file needs your login on that site, Zeus raises an approval. It appears in your browser extension (or on your terminal) with the facts: the website, who asked, what for and for how long. Your AI cannot answer it; only you can.

  4. Stage 4

    Zeus downloads the file

    Zeus fetches the file in parallel parts when the server allows it. Every saved part is recorded in a crash-safe journal, so after a dropped connection, a crash or a reboot it continues from what it already has.

  5. Stage 5

    Zeus verifies the file

    The finished file gets SHA-256 and BLAKE3 fingerprints, is compared with any checksum the publisher gave, receives your operating system’s download warning mark and gets a receipt recording where it came from.

  6. Stage 6

    Your AI gets the result

    Zeus tells your assistant where the file is and what its fingerprint is, so it can carry on: unzip it, read it or tell you it is done.

When a download runs into trouble

Zeus is designed on the assumption that a long download will be interrupted. This is what it does in each case.

What Zeus does when a download runs into trouble
SituationWhat Zeus does
The network dropsWaits, retries with growing pauses and continues from the last saved byte.
Your computer crashes or restartsReads its journal on start-up and resumes every unfinished download where it stopped.
The download link expiresDesigned to ask the browser extension for a fresh link from the page you started on, then continue. This is still being connected to the engine.
The file changed on the serverNotices that the server’s validators no longer match and does not join bytes from two versions of the file.
The site needs your loginRaises an approval. Nothing happens until you answer it.
The site wants a human (captcha, bot check)Hands the download back to your real browser and to you. Zeus never tries to get around it.
The disk is fullRetries, then stops the download with a disk-full error.
A checksum does not matchReports the mismatch to you and your AI instead of marking the file as verified.

The command line

You can do everything your AI can ask for yourself, in a terminal. These commands are in the zeus command-line archive of release 0.0.1a (zeus, zeusd and the bridges) and may change before the first alpha.

# check a file first: size, resumable or not, login needed
zeus probe https://example.org/big-dataset.zip
status 206  size 5.7 MiB  ranges verified  session needed: no  type application_zip  name big-dataset.zip

# download it and wait for the result
zeus get --wait https://example.org/big-dataset.zip
job_01M5V4P4FKKKKK8BN516GYZRG4  queued
job_01M5V4P4FKKKKK8BN516GYZRG4  completed  [####################] 100% 5.7 MiB / 5.7 MiB  big-dataset.zip

# check the finished file again later
zeus verify job_01M5V4P4FKKKKK8BN516GYZRG4
ok  5f5137a5a5dafd885e8bf48ee45e8037b03a8dfc450ebc0a12e49794373b21c3  5.7 MiB

# a file behind your login: this only creates a request for you
zeus get --cookie-from-extension https://portal.example.edu/report.pdf
job_01M5V4PZRMR1ERC0FW9SRN8X1V  awaiting_approval  waiting for your approval (ap_01M5V4PZRMYQEE0FGD7M9RRKW9); run `zeus approvals list`

# answer it on your own keyboard (needs a terminal; --yes is ignored)
zeus approvals approve ap_01M5V4PZRMYQEE0FGD7M9RRKW9

Output captured from the 0.0.1a binaries against a local test server; the host names in the commands are placeholders. zeus tui opens a live view of the queue.

  • Exit codes that scripts can check
  • Machine-readable output with --json or --ndjson
  • Approvals read from your keyboard, never from a pipe or an AI
  • A live terminal view of the queue (zeus tui)

Try the pre-alpha

Zeus 0.0.1a is a pre-alpha release: try it in your browser on a private sandbox, or download it for Windows or Linux. Expect rough edges.