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 parts of Zeus, the stages of a download, and what happens when something goes wrong.

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.

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Zeus is designed on the assumption that a long download will be interrupted. This is what it does in each case.
| Situation | What Zeus does |
|---|---|
| The network drops | Waits, retries with growing pauses and continues from the last saved byte. |
| Your computer crashes or restarts | Reads its journal on start-up and resumes every unfinished download where it stopped. |
| The download link expires | Designed 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 server | Notices that the server’s validators no longer match and does not join bytes from two versions of the file. |
| The site needs your login | Raises 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 full | Retries, then stops the download with a disk-full error. |
| A checksum does not match | Reports the mismatch to you and your AI instead of marking the file as verified. |
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.

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.